კურსი სრულად მალე დაემატება...
რატომ C++?
თუ პროგრამირებასთან შეხება პირველად გაქვთ, პროგრამირების ეს ენა შესანიშნავი დასაწყისია. შეიძლება არც კი გააგრძელოთ C++ პროგრამირების სიღრმისეული შესწავლა, თუმცა ის საბაზისო ცნებები, რასაც ამ ენაში შეისწავლით, ყველა სხვა ენის ადვილად ათვისებაში დაგეხმარებათ.
მოთხოვნები:
არ დაგჭირდებათ არანაირი პროგრამის დაყენება, საკმარისია ინტერნეტთან გქონდეთ წვდომა.
უნდა გქონდეთ მოტივაცია, მოუსმინოთ ლექციებს, შეასრულოთ სავარჯიშოები და დავალებები.
რას გთავაზობთ:
კვალიფიციურ ტრენერებს, რომლებსაც აქვთ პროგრამირების სწავლების და პრაქტიკული გამოყენების მრავალწლიანი გამოცდილება.
8 საათზე მეტ ვიდეო ლექციებს, რომელთა ნახვასაც შეძლებთ ნებისმიერ დროს.
ექსკლუზიურად კურსისთვის შექმნილ მასალებს ქართულ ენაზე.
პრაქტიკულ სავარჯიშო ფაილებს, რომელზეც კურსის განმავლობაში იმუშავებთ.
დახურულ FACEBOOK ჯგუფს სადაც უშუალოდ ტრენერისგან მიიღებთ კითხვებზე პასუხებს (https://www.facebook.com/groups/cplusplusoned)
სერტიფიკატს, რომლის ასაღებადაც უნდა დაწეროთ დავალებები და ფინალური ამოცანა.
და მაინც, რატომ C++?
C++ ყველაზე პოპულარულია მოცულობითი პროგრამული ინფრასტრუქტურისა და აპლიკაციების შესაქმნელად, რომლებიც მუშაობენ შეზღუდულ რესურსებზე. იმის გამო, რომ C++-ს შეუძლია უშუალოდ მანიპულირება მოახდინოს აპარატურაზე (ან მანქანაზე), რომელზედაც ის მუშაობს, პროგრამისტებს საშუალება აქვთ, დაარეგულირონ თავიანთი კოდი ისე, რომ ეფექტურად იმუშაოს ნებისმიერ გარემოში, მაშინაც კი, როდესაც მეხსიერების მოცულობა შეზღუდულა ან/და ენერგიის წყარო არასაკმარისია აპლიკაციის მოსამარაგებლად. შესაბამისად, C++ არის თითქმის უალტერნატივო არჩევანი სწრაფი, ეფექტური და საიმედო პროგრამული უზრუნველყოფის შესაქმნელად.
C++ გამოიყენება ოპერაციულ სისტემებში, თამაშების დეველოპმენტში, მონაცემთა ბაზებში, ვებ ბრაუზერებში, მანქანურ სწავლებაში, ვირტუალური რეალობის აპლიკაციებში, სამეცნიერო საქმიანობაში, ფინანსებში, სამხედრო საქმეში, გუგლის საძიებო სისტემაში, სამედიცინო ტექნოლოგიებში, ტელეკომუნიკაციებში, კინო პროდუქციაში და სხვა .
ცხადია, C++-ის შესწავლით თქვენი საქმიანობის არეალი ძალიან ფართო იქნება, თუმცა, აქ ერთი ნიუანსია რომელიც უნდა გაითვალისწინოთ. რადგან C++-ის მთავარი მახასიათებელი რესურსების ეფექტურად გამოყენებით მიღწეული სისწრაფე და მოქნილობაა, ნებისმიერ შემთხვევაში ენა იმდენად სიღრმისეულად უნდა შეისწავლოთ, რომ თქვენი დაწერილი კოდი ამ კრიტერიუმებს აკმაყოფილებდეს. სხვა შემთხვევაში, არაეფექტურად დაწერილ C++ კოდს სხვა ენაში დაწერილი კოდი აჯობებს. ეს გაითვალისწინეთ. თუ C++ შესწავლას გადაწყვეტთ, მისი სიღმისეულად შესწავლა მოგიწევთ, რათა მისი ეფექტურად გამოყენება შეძლოთ.
შესავალი:
როგორ მუშაობს კომპიუტერი
რა არის Compiler
რა არის C++ პროგრამული ენა
C++ შესასწავლად საჭირო რესურსები
ლექცია 1: C++ -ის საფუძვლები
პირველი C++ პროგრამა Hello World
კომენტარი
კოდის ლამაზად წერა
მთავარი ფუნქცია Main
სტანდარტული output-ი cout<<
შეცდომები
სტანდარტული Input-ი (cin>>)
მუდმივა Constant
წინაპროცესორული განმარტებები (# define)
არითმეტიკული ოპერატორები
მონაცემთა ტიპები C++-ში
ლექცია 2: ლოგიკური წინადადებები
IF წინადადება
IF-ELSE წინადადება
IF-ELSE IF-ELSE წინადადება
ჩადგმული Nested IF წინადადება
ურთიერთმიმართებისა და შედარების ოპერატორები
ლოგიკური ოპერატორები ( &&, ||)
ლოგიკური ოპერატორი (!)
ოპერატორების რიგითობა
სამეულის პირობითი ოპერატორი (? :)
ლექცია 3: განმეორების დებულებები - ლუპები (Loops)
While ლუპი
Do-while ლუპი
ოპერატორები: ინკრემენტი და დეკრემენტი
For ლუპი
For ლუპი ორი ან მეტი პირობით
რიცხვების ჯამი Unsigned Long Long მონაცემთა ტიპით
ლუწი რიცხვების ჯამი
ფიბონაჩს მიმდევრობა
The break statement
The continue statement
The goto statement
მარტივი რიცხვები Prime Numbers
მრავალდონიანი ლუპი
ლექცია 4: ფუნქციები
მიმატების ფუნქცია
გამოკლების ფუნქცია
პროცენტული ცვლილების დათვლა
ხარისხში აყვანა
მარტივი რიცხვების ფუნქცია
ფუნქციები ტიპის გარეშე. Void-ის გამოყენება
კვადრატული განტოლება
ნიუტონის აპროქსიმაცია
კვადრატული ფესვის Babylonian მეთოდი
სუფიქსები
ცვლადი მნიშვნელობის მქონე რიცხვები
სიმბოლოები და string მნიშვნელობები
Default მნიშვნელობები პარამეტრებში
რეკურსიულობა
ლექცია 5: შემთხვევითი რიცხვები და მონტეკარლოს სიმულაცია
როგორ გენერირდება ფსევდო-შემთხვევითი რიცხვები
მონტეკარლოს სიმულაცია MonteCarlo Simulation
Advanced Pseudo-Random Generator
პრაქტიკული სავარჯიშოები
ლექცია 6: მასივები
მასივების ინიცირება
მასივის მნიშვნელობებზე წვდომა
მრავალგანზომილებიანი მასივები
მასივები, როგორც პარამეტრები
ბიბლიოთეკის მასივები
სიმბოლოების მიმდევრობა
Null-terminated სიმბოლოების თანმიმდევრობის ინიციალიზაცია
Strings და null-terminated სიმბოლოების მიმდევრობა
ოპერაციები მატრიცებით
კვადრატული მატრიცა
ვექტორები
ლექცია 7: Pointers
მისამართის ოპერატორის (&)
Dereference ოპერატორი (*)
Pointer-ის შექმნა
Pointers და მასივები
მაჩვენებლის ინიციალიზაცია
ფოინთერების არითმეტიკა
ფოინთერები და const
ფოინთერები და strings
Pointers to pointers
ბათილი ფოინთერები
არასწორი და null ფოინთერები
ფოინთერებიდან ფუნქციებამდე
ლექცია 8: დინამიკური მეხსიერება
ოპერატორები new და new []
ოპერატორების delete და delete[]
დინამიკური მეხსიერება C- ში
მონაცემთა სტრუქტურები
ფოინთერები სტრუქტურებზე
Nesting სტრუქტურები
მონაცემთა სხვა ტიპები
მეტსახელის შეყვანა (typedef / using)
გაერთიანებები
ანონიმური გაერთიანებები
ჩამოთვლილი ტიპები (enum)
ჩამოთვლილი ტიპები enum კლასით
ლექცია 9: ფუნქციისთვის არგუმენტის გადაცემის ხერხები
Pass-by-Value
pass-by-reference პოინტერებით
pass-by-reference რეფერენსით
& ალტერნატიული სახელი
რეფერენსი vs პოინტერი
const
ლექცია 10: კლასები
კონსტრუქტორი
კონსტრუქტორის გადატვირთვა (Overload)
ოპერატორები კლასებისთვის
კლასის პოინტერი
This ბრძანება
Static members
Const member functions
Class templates <class T>
ფუნქციების გადატვირთვა
ფუნქციების Template
კლასის Template
Copy constructor
ლექცია 11: მეგობრობა, მემკვიდრეობა და პოლიმორფიზმი
მეგობარი ფუნქციები
მეგობარი კლასები
მემკვიდრეობა (Inheritance) კლასებს შორის
პოლიმორფიზმი
ვირტუალური წევრები
აბსტრაქტული საბაზისო კლასი
ლექცია 12: პრაქტიკული მაგალითები
ფაქტორიალის გამოთვლა Templates გამოყენებით
მატრიცების კლასი
Probability Distributions
განტოლების ფესვები
ინტეგრალები
-
საჭირო ლინკები
-
დავალებები
დავალებები ატვირთეთ მხოლოდ ერთხელ. დაწერილი პასუხიები (კოდი) ჩააკოპირეთ შესაბამის ველებში.
-
1 ლექცია: Hello World
-
2 ლექცია: IF
-
3 ლექცია: Loop
-
4 ლექცია: Functions
-
5 ლექცია: Array
-
6 ლექცია: შემთხვევითი რიცხვები
-
7 ლექცია: Pointer
-
საინტერესო ვიდეო მასალა
ამ ნაწილში მოცემულია საინტერესო ლინკები რათა გაეცნოთ დამატებით, კლასგარეშე მასალებს. მაგალითად ინტერვიუს c++ ენის ავტორთან. მასალები ინგლისურ ენაზეა