Learning path • 0 video courses • 20 total modules (3 - 6 ay)
Hər kəs "Hello World" yaza bilər, amma az adam o yaşıl "Run" düyməsini basanda arxa planda əslində nə baş verdiyini bilir. Bu dərsdə biz kodun sadəcə mətndən ibarət olmadığını, onun necə "canlı" proqrama çevrildiyini, kompilyatorun necə işlədiyini və peşəkar layihələrin necə qurulduğunu öyrənirik. Bu, kodderlikdən mühəndisliyə keçid üçün ilk addımdır.
Kodun icra zamanı (Runtime) yaddaşda necə davrandığına dərin baxış. Bu dərsdə biz RAM-ın fiziki arxitekturasını, verilənlərin (int, double, char) bit səviyyəsində necə təmsil olunduğunu və mühəndislərin qarşılaşdığı gizli təhlükələri ("Garbage Value", "Integer Overflow", "Precision Errors") analiz edirik.
Bu dərsdə biz proqramın "beynini" (CPU) işə salırıq. Kodunuz artıq sadəcə yuxarıdan aşağıya oxunan darıxdırcı bir siyahı olmayacaq; biz ona riyazi hesablamalar aparmağı, məntiqi düşünməyi (VƏ, VƏ YA) və ən əsası — vəziyyətə uyğun qərar verməyi (If-Else) öyrədəcəyik. Bu, kodun "canlandığı" məqamdır.
Milyonlarla məlumatı emal etmək üçün milyon sətir kod yazmağa ehtiyac yoxdur. Biz artıq əl əməyindən sənaye avtomatlaşdırmasına keçirik. Kodunuza dözümlülük və sürət qazandırmağın vaxtıdır.
Bu dərsdə biz Massivlər vasitəsilə yaddaşda böyük əraziləri idarə etməyi öyrənirik. Siz artıq RAM-a sadəcə "qara qutu" kimi yox, dəqiq ünvanları olan fiziki bir xəritə kimi baxmağa başlayacaqsınız. Bu, proqramlarınızın miqyasını (Scale) böyütmək üçün atacağınız ilk ciddi addımdır.
Bu dərsdən etibarən sükan sizin əlinizdədir. Siz artıq "dəyişən" anlayışından çıxıb, birbaşa RAM-ın fiziki ünvanları ilə işləyəcəksiniz.
Bu dərsdə məqsədimiz sadəcə işləyən kod yazmaq deyil, həm də sürətli işləyən sistemlər qurmaqdır. Biz ilk dəfə olaraq "Kodum nə qədər sürətlidir?" sualına riyazi cavab (Big O) tapacaq və mühəndisliyin ürəyi olan Alqoritmlərə giriş edəcəyik.
Bu dərsdə biz "Matrix"in pərdə arxasına keçirik. Siz öyrənəcəksiniz ki, 'A' hərfi əslində 65 rəqəmidir və bütün o uzun cümlələr sadəcə yaddaşda yan-yana düzülmüş bitişik kodlardır.
Bu dərsdə biz proqramı modullara (funksiyalara) bölməyi, bu modullar arasında "müqavilələr" (Input/Output) bağlamağı öyrənirik.
Bu dərsdə C++ dilinin ən çevik aləti olan Lambda İfadələri ilə tanış olacağıq. Öyrənəcəksiniz ki, bəzi funksiyalar adı olmadan, yarandığı yerdəcə işini görüb yox ola bilər.
Bu dərsdə biz C++ dilinin super gücü olan Generic Programming (Ümumi Proqramlaşdırma) dünyasına qədəm qoyuruq. Siz "Şablonlar" (Templates) vasitəsilə elə bir universal çertyoj hazırlamağı öyrənəcəksiniz ki, o, həm rəqəmlərlə, həm mətnlərlə, həm də gələcəkdə yaradacağınız obyektlərlə işləyə bilsin.
Bu dərsdə biz xəttdən çıxıb, cədvəllər (2D) və kublar (3D) dünyasına keçid edirik. Siz məlumatları şahmat taxtası və ya Rubik kubu kimi modelləşdirməyi öyrənəcəksiniz.
Bu dərsdə C++ dilinin onurğa sütunu olan std::vector ilə tanış olacağıq.
Bu dərsdə siz kod yazmağa yox, sistem qurmağa başlayacaqsınız. Öyrənəcəksiniz ki, Class sadəcə kağız üzərindəki bir çertyoj, Object isə həmin çertyoj əsasında tikilmiş, yaddaşda yaşayan canlı binadır.
Bu dərsdə biz obyektlərimizə İmmunitet Sistemi (Encapsulation) quraşdıracağıq. Dəyişənlərimizi private edərək onları gizlədəcək, giriş-çıxış üçün isə xüsusi mühafizəçilər — Setters və Getters təyin edəcəyik.
Bu dərsdə biz C++ dilinin ən köhnə, amma hələ də ən faydalı alətlərindən biri olan Struct (Struktur) ilə tanış olacağıq. Siz dağınıq dəyişənləri (ad, yaş, boy) tək bir məntiqi paketdə (İnsan) birləşdirməyi öyrənəcəksiniz.
Bu dərsdə biz Inheritance (Mirasalma) mexanizmini öyrənəcəyik. Bu, DRY (Don't Repeat Yourself) prinsipinin zirvəsidir.
Bu gün biz C++ mühəndisliyinin zirvəsinə — Polimorfizmə qalxırıq. İndiyə qədər yazdığımız kodlar "sərt" idi; komandalar əvvəlcədən bəlli idi. Bu gün isə biz proqramımıza qərar vermə qabiliyyəti yükləyəcəyik.
Birinci hissənin davamı
Yolun Başlanğıcı