Ümumi məlumat
- Fənn kodu
- İF-2204y
- Kredit
- 6
- Tələbənin iş yükü
- 120
- Semestr
- Payız semestri
- Akademik il
- 1
- Fənnin tipi
- Məcburi
- Təhsil forması
- Əyani
- Tədris dili
- Azərbaycan
- Auditoriyadaxili saatlar
- a) 30 saat - mühazirə b) 30 saat - laboratoriya
- Auditoriyadan kənar saatlar
- a) 60 saat - TSİ b) 60 saat - MRTSİ
Fənn haqqında
Fənn tələbələrdə proqramlaşdırmanın əsas anlayışları və prinsipləri üzrə nəzəri biliklərin və praktiki bacarıqların formalaşdırılmasını nəzərdə tutur. Fənn çərçivəsində verilənlərin tipləri, şərt və dövr operatorları, massivlər, göstəricilər, funksiyalar, rekursiya və strukturlar öyrənilir. Tələbələr sinif və obyekt anlayışları, eləcə də obyektyönlü proqramlaşdırmanın əsas prinsipləri ilə tanış olurlar. Data strukturları və alqoritmlərin tətbiqi, onların çalışma müddəti və yaddaş istifadəsinin təhlili fənnin əsas istiqamətləri sırasındadır. Həmçinin proqramlaşdırma mühitlərindən istifadə, proqramların kompilyasiyası, xətaların aşkarlanması, kodun test edilməsi və versiyaların idarə olunması üzrə bacarıqlar formalaşdırılır. Fənn əldə olunan biliklərin müxtəlif strukturlu məlumatların emalı, təhlili və müəyyən tapşırıqların avtomatlaşdırılması kimi praktiki məsələlərin həllində tətbiqinə yönəlmişdir.
Tədris metodları
- mühazirə
- laboratoriya işi
- komanda işi
- problem-based learning
- layihə əsaslı öyrənmə
- təqdimatlar
Fənn təlim nəticələri (CLO)
CLO 1: Hər hansı bir proqramlaşdırma dilində sərbəst olaraq proqram yazmağı bacarır, proqramlaşdırmada şərt, dövr, funksiya, obyekt, sinif anlayışlarını bilir. Verilənlərin tiplərini, onların yaddaşda necə yerləşdiyini anlayır. Kompilyasiya prosesi, baytkod maşın kodunun nə olduğunu anlayır.
CLO 2: Massiv, Əlaqəli siyahılar (LinkedList), stek, növbə, qraf, ağac kimi data strukturlarını, həmin data strukturları üzərində klassik alqoritmləri bilir, sadalanan data strukturları və alqoritmləri hər hansı bir proqramlaşdırma dilində yerinə yetirməyi bacarır.
CLO 3: Alqoritmlərin çalışma müddətini və istifadə etdiyi yaddaşı analiz edə bilir. Sistemin imkanları və məhdudiyyətlərini nəzərə alaraq hansı alqoritmın tətbiq edilməsinə dair doğru qərarları verməyi bacarır.
CLO 4: Proqramların peşəkar şəkildə yazılması üçün istifadə olunan mühitlərdən biri ilə tanışdır, o mühitdə proqramın kompilyasiya olunması, "debug" prosesi, proqram kodlarının versiyalarının idarəolunmasını (məsələn, "git" sistemi ilə) bacarır.
CLO 5: Proqram modullarının test olunması üsullarını bilir, test ssenarilərinin yazılmasını bacarır. Proqramların oxunaqlığı və keyfiyyət meyarları barədə məlumatlı olmalıdır.
CLO 6: Öyrənilən biliklərdən istifadə edərək, fərqli fayl formatları arasında çeviricilər, müxtəlif parserlər, loqların təhlili üçün proqramların tərtib edilməsini, fərqli sistemlərin interfeyslərini istifadə etməklə məlumatların hasilatini bacarmalıdır.
Mövzu planı
- 1.Proqramlaşdırmanın əsas anlayışları.Mühazirə
Mövzu çərçivəsində proqramlaşdırmanın əsas anlayışları və alqoritmik düşüncənin fundamental prinsipləri öyrənilir. Alqoritm anlayışı, onun əsas xüsusiyyətləri və proqramların hazırlanmasındakı rolu izah edilir. Kompilyasiya və interpretasiya prosesləri, onların iş prinsipləri və əsas fərqləri nəzərdən keçirilir. Proqramlaşdırma dillərinin əsas təsnifat meyarları araşdırılır, C++ proqramlaşdırma dilinin ümumi xüsusiyyətləri, tətbiq sahələri və üstünlükləri haqqında məlumat verilir.
- 2.Dəyişənlər və verilənlər. Tip çevrilmələriMühazirə
Mövzu çərçivəsində dəyişənlərin anlayışı, yaradılması, istifadəsi və onlar üzərində aparılan əsas əməliyyatlar öyrənilir. Qlobal və lokal dəyişənlərin xüsusiyyətləri, görünmə sahələri və aralarındakı fərqlər izah edilir. Sabitlərin əsas xüsusiyyətləri və proqramlaşdırmada istifadə məqsədləri, eləcə də proqram kodunda şərhlərin rolu nəzərdən keçirilir. Həmçinin verilənlərin əsas tipləri və müxtəlif tiplər arasında çevrilmə üsulları araşdırılır.
- 3.OperatorlarMühazirə
Mövzu çərçivəsində proqramlaşdırmada istifadə olunan əsas operator növləri və onların funksiyaları öyrənilir. Hesabi operatorlar vasitəsilə riyazi əməliyyatların yerinə yetirilməsi, müqayisə və məntiqi operatorların şərtlərin formalaşdırılmasında istifadəsi izah edilir. Mənimsətmə operatorlarının dəyişənlərin qiymətlərinin təyin və dəyişdirilməsində rolu nəzərdən keçirilir. Həmçinin şərt operatorlarının proqramın icra axınının idarə olunmasında tətbiqi araşdırılır.
- 4.Dövr operatorlarıMühazirə
Mövzu çərçivəsində proqramın icra axınının idarə olunmasında istifadə edilən əsas idarəetmə və dövr operatorları öyrənilir. switch operatorunun çoxvariantlı şərtlərin idarə edilməsində tətbiqi, for, while və do-while operatorlarının iş prinsipləri və istifadə xüsusiyyətləri izah edilir. Dövrlərin icrasına nəzarət etmək üçün break və continue operatorlarından istifadə qaydaları nəzərdən keçirilir. Həmçinin goto operatorunun iş prinsipi və proqram kodunda tətbiq xüsusiyyətləri araşdırılır.
- 5.Massivlər və vektorlarMühazirə
Mövzu çərçivəsində massiv və vektor anlayışları, onların əsas xüsusiyyətləri və proqramlaşdırmada istifadə məqsədləri öyrənilir. Massivlərin növləri, yaradılması və elementlərinə indeks vasitəsilə müraciət qaydaları izah edilir. C++ proqramlaşdırma dilində vektorların yaradılması və inisiallaşdırılması üsulları nəzərdən keçirilir. Həmçinin massiv və vektorların yaddaşın idarə olunması, ölçü çevikliyi və istifadə xüsusiyyətləri baxımından əsas fərqləri araşdırılır.
- 6.Funksiya. RekursiyaMühazirə
Mövzu çərçivəsində funksiyaların anlayışı, təyin olunması və proqram kodunun strukturlaşdırılmasındakı rolu öyrənilir. Funksiyaların yaradılması, parametrlərin ötürülməsi və funksiyalara müraciət qaydaları izah edilir. Funksiyaların rekursiv şəkildə təyin olunması və rekursiv funksiyaların iş prinsipi nəzərdən keçirilir. Həmçinin rekursiyanın əsas növləri və müxtəlif proqramlaşdırma məsələlərinin həllində tətbiqi araşdırılır.
- 7.GöstəricilərMühazirə
Mövzu çərçivəsində göstərici anlayışı, göstəricilərin əsas növləri və elan edilməsi qaydaları öyrənilir. Göstəricilərin inisiallaşdırılması və yaddaş ünvanları ilə işləmə prinsipləri izah edilir. Dinamik yaddaşın ayrılması və idarə olunması, eləcə də massivlərlə göstəricilər arasındakı əlaqə nəzərdən keçirilir. Həmçinin null pointer anlayışı və göstəricilərdən təhlükəsiz istifadə prinsipləri araşdırılır.
- 8.SətirlərMühazirə
Mövzu çərçivəsində sətir anlayışı, sətirlərin təsviri və proqramlaşdırmada istifadə xüsusiyyətləri öyrənilir. C++ proqramlaşdırma dilində sətirlərin yaradılması və saxlanılması üsulları izah edilir. Sətirləri təşkil edən ayrı-ayrı simvollara indeks vasitəsilə müraciət qaydaları nəzərdən keçirilir. Həmçinin sətirlər və onların elementləri üzərində əsas əməliyyatların yerinə yetirilməsi prinsipləri araşdırılır.
- 9.Fayllarla işMühazirə
Mövzu çərçivəsində proqramlaşdırmada fayllarla işləmənin əsas prinsipləri və fayl əməliyyatları öyrənilir. Faylların yaradılması, açılması, bağlanması və silinməsi qaydaları izah edilir. Faylların yenidən adlandırılması və onların idarə olunması üsulları nəzərdən keçirilir. Həmçinin proqram vasitəsilə fayllara məlumatların yazılması prinsipləri və bu əməliyyatların yerinə yetirilməsi üsulları araşdırılır.
- 10.OYP. StrukturlarMühazirə
Mövzu çərçivəsində obyektyönlü proqramlaşdırmanın əsas anlayışları və proqram təminatının hazırlanmasında rolu öyrənilir. Obyektyönlü proqramlaşdırma yanaşmasının əsas xüsusiyyətləri, üstünlükləri və çatışmazlıqları nəzərdən keçirilir. Struktur anlayışı, strukturların yaradılması və əlaqəli verilənlərin vahid bir quruluş daxilində təşkil edilməsində istifadəsi izah edilir. Həmçinin strukturlaşdırılmış və obyektyönlü yanaşmaların proqramlaşdırmada tətbiq xüsusiyyətləri araşdırılır.
- 11.Funksiyaların və operatorların yüklənməsiMühazirə
Mövzu çərçivəsində funksiyaların və operatorların yüklənməsi anlayışları və onların obyektyönlü proqramlaşdırmada tətbiqi öyrənilir. Funksiyaların parametrlərin tipinə və sayına görə yüklənməsi prinsipləri izah edilir. Operatorların istifadəçi tərəfindən müəyyən edilmiş verilənlər tipləri və sinif obyektləri üçün yenidən təyin olunması qaydaları nəzərdən keçirilir. Həmçinin dost funksiyaların anlayışı, xüsusiyyətləri və sinfin üzvlərinə müraciətdə rolu araşdırılır.
- 12.PolimorfizmMühazirə
Mövzu çərçivəsində obyektyönlü proqramlaşdırmanın əsas prinsiplərindən biri olan polimorfizm anlayışı və onun proqramlaşdırmada tətbiqi öyrənilir. Polimorfizmin müxtəlif obyektlərin eyni interfeys vasitəsilə fərqli davranış nümayiş etdirməsinə imkan verən xüsusiyyətləri izah edilir. Virtual funksiyaların dinamik polimorfizmin həyata keçirilməsində rolu və iş prinsipi nəzərdən keçirilir. Həmçinin abstrakt funksiyaların təyinatı və obyektyönlü proqramlaşdırmada istifadəsi araşdırılır.
- 13.VarislikMühazirə
Mövzu çərçivəsində obyektyönlü proqramlaşdırmanın əsas prinsiplərindən biri olan varislik anlayışı və onun proqram təminatının hazırlanmasında rolu öyrənilir. Varis siniflərin yaradılması və təyin olunması qaydaları, eləcə də baza və varis siniflər arasındakı əlaqə izah edilir. Varis siniflərin üzvlərinin xüsusiyyətləri və onlara müraciət prinsipləri nəzərdən keçirilir. Həmçinin varis siniflər əsasında obyektlərin yaradılması və onlardan istifadə qaydaları araşdırılır.
Ədəbiyyat
- Frances Buontempo, Introducing C++, O’Reilly Media, 2022, pp. 150
- Scott Meyers, “Effective Modern C++”, 2014, pp. 334.
- Bjarne Stroustrup, “The C++ Programming Language, 4th Edition”, 2013, pp.1366.
- Herbert Schildt, “C++: The Complete Reference, 3rd Edition”, pp. 1008.
Qiymətləndirmə
| Qiymətləndirmə forması | Açıqlama | Bal | Uyğun FTN |
|---|---|---|---|
| Cari qiymətləndirmə | Cari qiymətləndirmə - fənn üzrə tələbənin semestr müddətində fəaliyyətinin qiymətləndirilməsi olmaqla, mühazirə və məşğələ (laboratoriya) dərs materiallarının mənimsənilmə səviyyəsini qiymətləndirilir. | 30 bal | FTN 1-6 |
| Davamiyyət | Tələbə fənn üzrə dərslərin 25%-dən çoxunda iştirak etmədiyi halda imtahana buraxılmır. | 10 bal | - |
| Tələbənin sərbəst işi | Tələbəyə fənn üzrə semestr ərzində 1 sərbəst işin (zəruri hallarda sərbəst işlərin sayı artırıla bilər) yerinə yetirilməsi tapşırığı verilir. | 10 bal | FTN-- |
| İmtahan | İmtahan şifahi, yazılı, yazılı-elektron, test üsulu ilə keçirilir | 50 bal | FTN 1-6 |