C++ Masterclass - High-performance computing դասընթացը կարող է տրոհվել մի քանի խոշոր դասընթացների։
Դասընթացը մշակված է, որպեսզի ուսանողին տա հիմնարար և անհրաժեշտ գիտելիք տարբեր մաթեմատիկական տեսություններից։ Այն թույլ կտա հասկանալ ծրագրավորման ակունքները և կստեղծի հետագա գիտելիքի համար լավ հիմք։ Դասընթացը տալիս է գիտելիք հետևյալ թեմաներից՝
Թվային համակարգեր․ ութական, տասնվեցական և երկուական համակարգեր։
Թվաբանություն ութական և երկուական համակարգերում։
Նշանով ամբողջ թվերի և սահող կետով թվերի ներկայացումը երկուական համակարգում։
Բուլյան հանրահաշիվ և ֆունկցիոնալ տարրեր։
Տրամաբանական սխեմաներ. Թվային դիզայնի հիմունքները։ Ինչպես կառուցել CPU։
Ավտոմատներ և Թյուրինգի մեքենաներ։
Դասընթացը մշակված է, որպեսզի ուսանողին տա հիմնարար գիտելիք ժամանակակից պրոցորների կզռուցվածքի և ճարտարապետության մասին։ Դասընթացը տալիս է գիտելիք հետևյալ թեմաներից՝
Ամբողջական32-բիթանի CPU-ի նախագծում։
CISC vs RISC vs VLIW ճարտարապետություններ։
Intel x86 ճարտարապետությունը և ասեմբլերային լեզուն։
ARM v8 ճարտարապետությունը և ասեմբլերային լեզուն։
Vectorization (Intel AVX և ARM Neon)։
Անհամասեռ համակարգեր.
CPU միկրոճարտարապետություն:
Branch predictor
Pre-fetcher
Pipelining
Out-of-order execution
Caches
Դասընթացը մշակված է, որպեսզի ուսանողին տա ընդհանուր գիտելիք կոմպիլյացիայի պրոցեսի և կոմպիլրատորների մասին։ Դասընթացը տալիս է գիտելիք հետևյալ թեմաներից՝
Compilation overview ( clang կոմպիլյատորի և C++ լեզվի օրինակով)։
Parsing, syntax և semantics։
LLVM և IR լեզուն։
Կոդի գեներացիա և օպտիմիզացիա։
Դասընթացը մշակված է, որպեսզի ուսանողին տա ֆունդամենտալ գիտելիք օպերացիոն համակարգերի ֆունկցիաների և նշանակության մասին։ Դասընթացը տալիս է գիտելիք հետևյալ թեմաներից՝
ՕՀ սահմանումը և ֆիմնական ֆունկցիաները։
ՕՀ ճարտարապետություններ։
Processes and threads.
Memory management.
File systems.
Դասընթացը մշակված է, որպեսզի ուսանողին տա ֆունդամենտալ գիտելիք POSIX համակարգերում (Linux, Unix, Mac OS, iOS) ծրագրավորման մասին։ Դասընթացը տալիս է գիտելիք հետևյալ թեմաներից՝
POSIX programming foundations.
Working with processes : creation and basic manipulation.
Working with threads : creation, data interchange.
Synchronization primitives.
Working with files.
Inter-process communication : pipes, FIFOs, signals, shared memory.
Դասընթացը մշակված է, որպեսզի ուսանողին տա ֆունդամենտալ գիտելիք POSIX համակարգերում (Linux, Unix, Mac OS, iOS) ցանցային, վեբ և զուգահեռ ծրագրավորման մասին։ Դասընթացը տալիս է գիտելիք հետևյալ թեմաներից՝
Ցանցեր, Internet, routing, DNS.
Sockets և ցանցային ծրագրավորում։
Վեբ ծրագրավորմա հիմունքներ։
Բաշխված և զուգահեռ ծրագարվորում MPI միջավայրում։
Զուգահեռ ծրագրավորում OpenCL լեզվով։
Զուգահեռացում և վեկտորիզացիա։