İT və Proqramlaşdırma
C/C++ Proqramlaşdırma təlimi
C dilinin əsaslarından C++ OOP, STL, smart pointers və multithreading-ə qədər sistem proqramlaşdırma və performans yönümlü inkişafı öyrədən praktiki C/C++ təlimi.
C dilinin əsaslarından C++ OOP, STL, smart pointers və multithreading-ə qədər praktiki C/C++ proqramlaşdırma kursu. Bakıda və onlayn. C/C++ Proqramlaşdırma təlimi SmartEdu tərəfindən Bakıda əyani və onlayn formada keçirilən 5 aylıq, orta səviyyəli kursdur. Dərslər həftədə 3 dəfə, hər dəfə 90 dəqiqə keçirilir. İlk 2 dərs pulsuz sınaq dərsidir. Proqram 12 modulu və 40 mövzunu əhatə edir.
Kurs haqqında
C/C++ Proqramlaşdırma təlimi, sistem proqramlaşdırma, oyun mühərrikləri, embedded sistemlər və yüksək performanslı tətbiqlər sahələrində hələ də sənaye standartı olan C/C++ dillərini sıfırdan öyrədən tam praktiki bir proqramdır. Kurs C dilinin prosedural əsaslarından (dəyişənlər, funksiyalar, massivlər) başlayaraq pointer-lər və dinamik yaddaş idarəetməsini (malloc/free), strukturları və fayllarla işi, C++-ın OOP imkanlarını (class, inheritance, polymorphism, operator overloading, templates), Standard Template Library-ni (STL), smart pointer-ləri (unique_ptr, shared_ptr) və RAII prinsipini, debugging/build alətlərini (GDB, CMake), həmçinin multithreading əsaslarını ardıcıl şəkildə əhatə edir.
Hər mövzu nəzəri izahla yanaşı, real kodlaşdırma tapşırıqları ilə möhkəmləndirilir. Data strukturları bölməsində linked list, stack, queue və binary search tree STL-dən istifadə etmədən sıfırdan implementasiya olunur ki, tələbələr bu strukturların daxili işləmə prinsipini dərindən anlasınlar, daha sonra isə eyni strukturların STL konteynerləri ilə necə sadələşdiyi göstərilir.
Kursun sonunda tələbələr performans yönümlü real bir tətbiqi OOP, STL və yaddaş idarəetməsi prinsipləri əsasında sıfırdan hazırlayıb, GDB ilə debug edib, Git/GitHub-da versiyalaşdıraraq təqdim edirlər. Bu yanaşma, kursu bitirən tələbələrin real iş elanlarında rast gəldiyi sistem/performans yönümlü proqramlaşdırma tələblərinə tam hazır olmasını təmin edir.
Nələri öyrənəcəksiniz
- C dilində prosedural proqramlaşdırma və yaddaş idarəetməsi
- Pointer-lər və dinamik yaddaş ayrılması ilə işləmək
- C++-da OOP prinsiplərini (inheritance, polymorphism, encapsulation) tətbiq etmək
- Operator overloading və template-lərlə generic proqramlaşdırma
- STL konteynerləri (vector, map, set) və alqoritmlərindən istifadə etmək
- Data strukturlarını (linked list, stack, queue, BST) sıfırdan implementasiya etmək
- Smart pointer-lər (unique_ptr, shared_ptr) ilə təhlükəsiz yaddaş idarəetməsi
- GDB ilə debugging və CMake ilə layihə qurulması
- Git/GitHub ilə komanda daxilində versiya nəzarəti aparmaq
- std::thread və mutex ilə əsas multithreading proqramlaşdırma
- Performans yönümlü, aşağı səviyyəli sistem proqramlaşdırma prinsiplərini başa düşmək
- Real biznes/sistem tələblərinə əsaslanan C++ layihəsini sıfırdan hazırlamaq
Tələblər
- Kompüterdən sərbəst istifadə bacarığı
- Məntiqi düşünmə və detallara diqqət
- Windows, macOS və ya Linux əməliyyat sistemi olan kompüter/noutbuk
- Əvvəlcədən proqramlaşdırma təcrübəsi tələb olunmur — sıfırdan tədris olunur
- Kursa həftədə minimum 8-10 saat vaxt ayıra bilmək
- Riyazi-məntiqi düşüncəyə meyillik arzuolunandır (aşağı səviyyəli proqramlaşdırma detallı diqqət tələb edir)
Kurikulum
-
3 gün
C/C++ Proqramlaşdırmasına Giriş
C və C++ dillərinin tarixi və istifadə sahələri (sistem proqramlaşdırma, oyun mühərrikləri, embedded) Development mühitinin qurulması (GCC/Clang, VS Code/CLion) Compile və link prosesi -
2 həftə
C Dilinin Əsasları
Dəyişənlər, data tipləri və operatorlar Şərt operatorları və dövrlər Funksiyalar və scope Massivlər və stringlər (char array) -
2 həftə
Pointer-lər və Yaddaş İdarəetməsi
Pointer anlayışı və ünvan aritmetikası Dinamik yaddaş ayrılması (malloc/free) Pointer-lərlə massiv və funksiya arqumentləri Yaddaş sızmaları (memory leaks) və onların qarşısının alınması -
1 həftə
Strukturlar və Fayllarla İş
struct və union Fayllarla oxuma/yazma əməliyyatları (fopen, fread, fwrite) Preprocessor direktivləri (#define, #include) -
2 həftə
C++-a Keçid: OOP Əsasları
Class və obyekt anlayışı Konstruktor, destruktor və access modifier-lər İrsilik (inheritance) və polymorphism Virtual funksiyalar -
1 həftə
C++-da Qabaqcıl OOP
Operator overloading Abstract class və interfeys Templates (generic programming) -
2 həftə
Standard Template Library (STL)
Konteynerlər (vector, list, map, set) İteratorlar Alqoritmlər (sort, find, STL funksiyaları) -
2 həftə
Data Strukturları C++-da Tətbiqi
Linked list, stack, queue-nun sıfırdan implementasiyası Binary Search Tree implementasiyası STL konteynerləri ilə müqayisə -
1 həftə
Yaddaş İdarəetməsi: Smart Pointers və RAII
unique_ptr, shared_ptr, weak_ptr RAII (Resource Acquisition Is Initialization) prinsipi Exception handling (try/catch) -
1 həftə
Debugging və Build Alətləri
GDB ilə debugging CMake ilə layihə qurulması Git/GitHub ilə versiya nəzarəti -
1 həftə
Multithreading Əsasları
Thread yaradılması (std::thread) Mutex və race condition-ların idarə olunması Paralel proqramlaşdırmaya giriş -
2 həftə
Yekun Layihə
Real bir sistem/performans yönümlü tətbiqin dizaynı OOP, STL və yaddaş idarəetməsinin tətbiqi Debugging və testlərin aparılması Layihənin təqdimatı
Tez-tez verilən suallar
Bəli, kurs əvvəlcə C dilinin prosedural əsaslarını (pointer, yaddaş idarəetməsi), sonra isə C++-ın OOP və STL imkanlarını ardıcıl şəkildə tədris edir.
Bəli, C/C++ sistem proqramlaşdırma, oyun mühərrikləri (Unreal Engine), embedded sistemlər, yüksək performanslı tətbiqlər sahələrində hələ də sənaye standartıdır.
Dərin riyaziyyat tələb olunmur, lakin məntiqi düşüncə və detallara diqqət vacibdir, çünki C/C++ yaddaşı birbaşa idarə etməyi tələb edir.
Junior C/C++ Developer, Embedded Systems Developer, Systems Programmer stajı/vəzifələrinə uğurla müraciət edə bilərsiniz.
Kurs hibrid formatdadır — istəyinizə görə Bakıdakı ofisimizdə əyani, yaxud onlayn iştirak edə bilərsiniz.
Kursun sonunda tələbələr performans yönümlü real bir C++ tətbiqini OOP, STL və yaddaş idarəetməsi prinsipləri əsasında sıfırdan hazırlayıb təqdim edirlər.