Algoritmlash va dasturlash asoslari fan dasturi OʻZBEKISTON RESPUBLIKASI OLIY VA OʻRTA MAXSUS TA’LIM VAZIRLIGI TOSHKENT MOLIYA INSTITUTI “TASDIQLAYMAN” Toshkent moliya instituti rektori T.Z.Teshabayev _______________ 2022 yil “___”___________ ALGORITMLASH VA DASTURLASH ASOSLARI FAN DASTURI Bilim sohasi: 600000 –Axborot kommunikatsiya texnologiyalari Ta’lim sohasi: 610000 – Komputer ilmlari va dasturlash texnalogiyalari (yo’nalishlar bo’yicha) Ta’lim yoʻnalishlari: 60610200 Axborot tizimlari va texnalogiyalari (moliya-bank tizimida) Toshkent – 2022 Fan dasturi Toshkent moliya instituti Kengashning 2022 yil “___” ____________dagi ____ sonli bayonnomasi bilan ma’qullangan. Toshkent moliya instituti rektorining 2022 yil “___”__________dagi ______ - sonli buyrug‘i bilan tasdiqlangan. Tuzuvchilar: D.A.Mirzayev - TMI, “Axborot tizimlari va raqamli texnalogiylar” kаfеdrаsi mudiri, PhD. S.D.Arziqulov - TMI, “Axborot tizimlari va raqamli texnalogiylar” kаfеdrаsi katta oʻqituvchisi Kelishildi: ____________ S.U.Mexmonov TMI, O‘quv ishlari bo‘yicha prorektor iqtisodiyot fanlari doktori, professor (tayanch OTM) imzo ____________ B.Muminov imzo ____________ А.A.Sobirov imzo Fan/modul kodi Oquv yili 2022-2023 Fan/modul turi Majburiy Ta’lim tili Oʻzbek/rus Fanning nomi 1. O‘zbekiston Pespublikasi Axborot texnologiyalarni va kommunikatsiyalarni rivojlantirish vazirligi boshqarma boshlig‘i, i.f.n., dotsent (kadrlar buyrtmachisi) Semestr 1,2,3,4 ECTS - Kreditlar 5,5,4,4 Haftadagi dars soatlari Auditoriya mashg’ulotlari (soat) Algoritmlash va dasturlash asoslari 240 I. Fаnning mаzmuni Muhammad аl-Xоrаzmiy nоmidаgi TАTU “Ахbоrоt tехnоlоgiyalаri dasturiy ta’minoti” kаfеdrаsi mudiri, tехnikа fаnlаri dоktоri, prоfеssоri (turdosh OTM) Mustaqil ta’lim Jami yuklama (soat) (soat) 300 540 2. Fanni oʻqitishdan maqsad – talabalarning dasturlash sohasidagi asosiy kompetensiyalarini shakllantirish, jumladan, talabalarni algoritm tushunchasi, algoritmlarning asosiy turlari va ularni tuzish usullari bilan tanishtirishdan, standart jarayonlarning algoritmlarni oʻzlashtirishdan iborat. Talabalarga dasturiy ta’minotni ishlab chiqish va uning turli bosqichlarida qoʻllaniladigan texnologiyalari, jumladan, predmet sohasini modellashtirish, talablarni rasmiylashtirish, loyihalarni algoritmlashtirish, dasturiy ta’minotni amalga oshirish va ilovalarni ishlab chiqish haqida tizimlashtirilgan bilimlarni shakllantirishdan iboratdir. Oʻqitishda dasturlash tili sifatida C++ va Python dasturlash tilidan foydalaniladi. Fanning vazifasi – talabalarni algoritm va dasturiy ta’minotni ishlab chiqish sohasidagi maqsad va asosiy vazifalar haqida bilimlarni egallash, dasturiy ta’minotni ishlab chiqishning hayot sikli modellari va metodologiyalari asoslari haqida bilimlarni egallash, dasturlash paradigmalari haqida bilimlarni egallash, pridmet sohasini tahlil qilishning asosiy usullarini oʻzlashtirish va dasturiy ta’minotni ishlab chiqishga qoʻyiladigan talablarni rasmiylashtirish, loyihalash echimlarini tahlil qilish va ishlab chiqish uchun modellashtirish va algoritmlashning asosiy usullarini oʻzlashtirish, yuqori sifatli va samarali kod yozishning asosiy usullarini oʻzlashtirish, qulay foydalanuvchi interfeyslarini yaratish uchun qulaylik tamoyillarini oʻrganish, dasturiy vositalar va tizimlarni ishlab chiqish standartlari va dasturiy injiniring sohasi bilan tanishishdan iborat. II. Asosiy nazariy qism (ma’ruza mashg’ulotlari) II.I. Fan tarkibiga quyidagi mavzular kiradi: I-Modul. Algoritmlash asoslari. 1-mavzu. Asosiy tushunchalar: algoritm, dastur va ular haqida umumiy ma’lumotlar. Algoritmlash va dasturlash asoslari fanining ma’nosi, predmeti va vazifalari. Raqamli iqtisodiyotda Algoritmlash va dasturlash texnologiyalarning oʻrni va vazifasi. Algoritmlash va dasturlash rivojlanish tendensiyalari. Dasturlash mohiyati, kelib chiqish sabablari, shart-sharoitlari va darajalari. 2-mavzu. Algoritim xossalari va yozuv shakllari. Algoritm xossalari va uni ifodalash usullari. Oddiy algoritmga misollar. Chiziqli, tarmoqli, siklik algoritmlarni ifodalash usullari. 3-mavzu. Algoritmlarni ishlab chiqish va taqdim etish usullari. Algoritmlarni ishlab chiqish va tahlil qilish. Algoritmlarni taqdim etish usullari. Algoritmni dasturlashga bog’lash usullari. 4-mavzu. Tarmoqlanuvchi va takrorlanuvchi algoritmlar. Elementar asosiy boshqaruv tuzilmalari: ketma-ketlik, tarmoqlanish, turli halqalar (old shartli, keyingi shartli, parametrik). Tuzilgan dasturlashning asosiy dasturlash tuzilmalari: chiziqli, tarmoqli, siklik. 5-mavzu. Masalalarni yechish bosqichlari: masalani qo`yish, model yaratish, algoritm, algoritm kodlash, natijalarni tahlil qilish. Loyihadan oldingi tadqiqot va predmet va muammoli sohalarni tahlil qilish.Dasturiy ta’minot talablarini ishlab chiqish: yondashuvlar va vositalar. Spetsifikatsiya tushunchasi va uning mazmuni. 6-mavzu. Dasturlash tillari. Dasturlash paradigmasi. Dasturlarning ta’rifi va xususiyatlari. Dasturlash uslublari: imperativ va deklarativ. Dasturlash paradigmalari: tizimli va ob’ektga yoʻnaltirilgan, funktsional va mantiqiy. 7-mavzu. C++ dasturlash tili asoslari. C++ dastur tuzilishi. Tilning tarkibi: alifbo, leksema, aniqlovchi va vazifa soʻzlariStrukturaviy modellashtirish va dasturiy ta’minotni loyihalash. C++ dasturlash tilining kompilyatir. 8-mavzu. Ma’lumotlar turlari. Tushunchalar, doimiy va oʻzgaruvchan. Konstantalar va oʻzgaruvchilar uchun qoidalarni tavsiflash va yozish usullari. Ma’lumotlar turlari diapazonlari. Ma’lumotlar turlari. Tushunchalar, doimiy va oʻzgaruvchan. Konstantalar va oʻzgaruvchilar uchun qoidalarni tavsiflash va yozish usullari. Ma’lumotlar turlari diapazonlari. Haqiqiy, butun, satr, mantiqiy ma’lumotlar turlari. Ma’lumotlarning suzuvchi nuqta turlari. 9-mavzu. Ifodalar. Operand, amal, ifoda, amallarning ustuvorligi. Ifodalar yozish qoidalari. Ifodalar: operand, operatsiya, ifoda, amallarning ustuvorligi. Ifodalar yozish qoidalari. Standart matematik funktsiyalar. Ifodalar va amallar: arifmetik va mantiqiy. Ifodalar va amallarni yozish qoidalari. 10-mavzu. Operatorlar. Oddiy va murakkab operatorlar. Boʻsh operator. Belgilash operatori (arifmetik, mantiqiy, literal). Oddiy va murakkab operatorlar. Boʻsh operator. 11-mavzu. Shartli operator. Tarmoqlanish algoritmlari. Shartli operator: toʻliq va qisqartirilgan formasi. Tanlash va oʻtish operatorlari. Teglar. Toʻliq va toʻliq boʻlmagan shart operatori. Mantiqiy ifodalarni yaratish. Mantiqiy operatsiyalarning ustuvorliklari. 12-mavzu. Sikl operatori. Oddiy va oʻrnatilgan sikllari. Sikl operatorlari. shart bilan sikl while, Do while sikl operatori va ularning farqi. formatlar va yozuv qoidalari. Sikllarni dasturlashda xatoliklar. 13-mavzu. Masalani yechishda oddiy va oʻrnatilgan sikllardan foydalanib, siklik bloksxemalarni tuzish. Tashqi va ichki sikllar. Tarmoqlanuvchi va takrorlanuchi hisoblash jarayonlarini dasturlash. Siklli hisoblash jarayonlarini dasturlash. 14-mavzu. Massivning tavsifi. Bir oʻlchovli va koʻp oʻlchovli massivlar. Massivlar: tavsif va oʻlcham. Bir oʻlchovli massivlar, koʻrsatkichlar massivlari, dinamik massivlar. Massivlar, C++ massivlarini tavsiflash va qayta ishlash. 15-mavzu. Massivlarda amallar. Ikki oʻlchovli massivlarni yaratish va qayta ishlash. Tasodifiy raqamlar generatori imkoniyatlari - tasodifiy (n). C++ umumiy matritsa xulosasini amalga oshirish. II-Modul. Dasturlash asoslari. 1-mavzu. Massiv elementlarini saralash algoritmlari, qidiruv algoritmlari Massiv elementlarini saralash va qidiruv algoritmlari. Chiziqli saralash (tanlov boʻyicha saralash). 2-mavzu. Saralashni Pufakcha usuli. Bulish bilan tez saralash usuli. Pufakcha tartiblash. Bulish bilan tez saralash usuli. Saralash algoritmlarini ishlab chiqish. Saralash algoritmlariga misollar. 3-mavzu. Ikki oʻlchovli massivlarni yaratish va qayta ishlash. Tasodifiy sonlar generatorining xususiyatlari. Koʻp oʻlchovli massivlar. Massivni ishga tushirish. Massivlarni kiritish va chiqarish. Massivlar bilan ishlash qoidalari. Massivlarda amallar. Massiv elementlari ustida amallar. 4-mavzu. Belgilar qatorlari. Belgilar bilan ishlash. Elementar asosiy boshqaruv tuzilmalari: ketma-ketlik, tarmoqlanish, turli halqalar (old shartli, keyingi shartli, parametrik). Tuzilgan dasturlashning asosiy dasturlash tuzilmalari: chiziqli, tarmoqli, siklik. 5-mavzu. Toʻplamlarning tavsifi. Toʻplamning kuchi. Toʻplamlarning tavsifi. Toʻplamning kuchi. Toʻplamlar va massivlar oʻrtasidagi farqlar. Toʻplamlar ustidagi amallar (birlashma, kesishish, qoʻshish, oʻziga xoslik va boshqalar). Toʻplamlarni yaratish va qayta ishlash, ulardan muammolarni hal qilishda foydalanish. Oʻzgaruvchilar, konstantalar va turlarni tavsiflash boʻlimlari orqali toʻplamlarni tavsiflash. Toʻplam elementlarini koʻrsatish. 6-mavzu. Podprogramma tushunchasi. Podprogramma -funksiya. Funksiyalarning tavsifi. Funksiyalarning tavsifi. Funksiyalarning tuzilishi va qoʻllanilishi. Mahalliy va global sozlamalar. Oʻzgaruvchilar doirasi. Muammolarni hal qilish uchun kichik dasturlar-funksiyalarning tavsifi va ulardan foydalanish. Identifikatorlar doirasi. Ifodalarda funksiyalardan foydalanish. Rekursiv funktsiyalar. 7-mavzu. Lokal va global parametrlar. Oʻzgaruvchilarning kurinish doirasi. Ma’lumotlar turlari. Tushunchalar, doimiy va oʻzgaruvchan. Konstantalar va oʻzgaruvchilar uchun qoidalarni tavsiflash va yozish usullari. Ma’lumotlar turlari diapazonlari. 8-mavzu. Fayllar. Fayllar haqida tushuncha. Fayl tushunchasi. Fayl turining tavsifi. Faylga kirish (toʻg'ridan-toʻg'ri, ketma-ket). Fayllarni qayta ishlash vositalari. Fayl ustida amallar. 9-mavzu. Matn tipidagi fayllar tavsifi, fayllarni yaratish, oʻqish va qoʻshish algoritmlari. Matnli fayllar. Matnli faylni ochishni tashkil qilish funktsiyalari. Kiritish chiqarish buferidan foydalanish. C++da fayllarni tasniflash belgilari. Matnli fayllar bilan ishlash uchun bibliotekalar. 10-mavzu. Koʻp oʻlchovli massivlar, koʻrsatkichli massivlar, dinamik massivlar. Massiv tavsif va oʻlcham. Koʻp oʻlchovli massivlar, koʻrsatkichlar massivlari, dinamik massivlar. Massivlar, C++ massivlarini tavsiflash va qayta ishlash. Kutubxona massivlarni ixtiyoriylik bilan toʻldirish va uning funktsiyalarda ishlatilishi. 11-mavzu. Graphics.h. Grafik kutubxonasi. Grafik kutubxona Graphics.h. Grafik funksiyalar va konstantalar (getmaxx, getmaxy, rectangle, setcolor(n), line). grafik protseduralar. Grafikadan foydalanish xususiyatlari. Grafik kutubxona Graphics.h. grafik protseduralar. Grafikadan foydalanish xususiyatlari. Grafik primitivlarini yaratish uchun C++ grafik xususiyatlaridan foydalanish. C++ tilida grafik obyektlar harakatini tashkil qilish uchun grafik funksiyalar va siklik operatorlarni qoʻllash. Protsessorni qayta ishlash bosqichlari va buyruqlari. almashtirish va almashtirish direktivalari. Kompilyatorning xususiyatlari. Kompilyatorni qayta ishlashdan soʻng dastur kodida direktivalarni koʻrsatish. 12-mavzu. Shablonlar. Funktsiya shablonlari. Sinf shablonlar. Turlar boʻlmagan shablon parametrlari. Shablon asoslari. Shablonlarni amaliyotda qoʻllash. Shablonlar sohasidagi asosiy atamalar. III-Modul. Modulli dasturlash. 1-mavzu. Modulli dasturlash tamoyillari. Modulli dasturlash tamoyillari. Modullar asosida dasturlarni qurish. 2-mavzu. Modul tushunchasi. Modullarning tavsifi. Modul tushunchasi. Modullarning tavsifi. 3-mavzu. Modul strukturasi Modulni qurish tamoyillari. Modullarni yaratish, modulli dasturlashning afzalliklarini amaliy tomondan oʻrganish. 4-mavzu. Foydalanuvchi modullarni yaratish. Foydalanuvchi modullarni ishlab chiqish va yaratish. 5-mavzu. Standart modullar. Standart modullar. Standart kutubxona modullarini ulash. 6-mavzu. Apparat va dasturiy ta’minot grafiklarini qoʻllab-quvvatlash. Grafik dasturning tuzilishi. Apparat va dasturiy ta’minot grafiklarini qoʻllab-quvvatlash. GRAPH modulining protseduralari va vazifalari. Grafikni ishga tushirish. GRAPH moduli. Asosiy protseduralar va funktsiyalar. Matn bilan ishlash. Grafik figuralarni qurish. 7-mavzu. Hususiy modulni ishlab chiqish. Hususiy modullarni yaratish. Husuaiy modullarni qoʻshish. 8-mavzu. Obʼektga yoʻnaltirilgan dasturlash asoslari. Tushunchalar: obyekt, inkapsulyatsiya, polimorfizm, meros. Ob’ektga yoʻnaltirilgan dasturlashning asosiy tamoyillari. Ob’ektlar ierarxiyasi. Merosni yozib olish. Operatsiyalar va usullar. Ob’ekt maydonlarini ishga tushirish. Ob’ekt ma’lumotlari maydonlari va usullarning rasmiy parametrlari. virtual usullar. Konstruktor. dinamik ob’ektlar. Ob’ektlarning ichki tasviri. 9-mavzu. BPMN biznes jaryonni modellashtirish. Oqim ob’ektlari (Flow Objects), hodisalar, harakatlar va mantiqiy operatorlar. Ulanish ob’ektlari: boshqaruv oqimi, xabarlar oqimi va assotsiatsiyalar. Rol yoki mas‘uliyat (Swimlanes): basseynlar va yoʻllar. Artefaktlar: ma’lumotlar, guruhlar va matn izohlari. 10-mavzu. IDEF0 metodologiyasining asosi. Metodologiya, model va diagramma IDEF0. Funktsiya bloki va interfeysi. Funktsiya blokining parchalanishi. IV-Modul. Python dasturlash tili asoslari. 1-mavzu. Python tiliga kirish. Yuqori darajadagi til tushunchasi Python 3. Dasturiy ta’minotni ishlab chiqish texnologiyasi. Python tili haqida umumiy ma’lumot. Python-ni kompyuterga oʻrnatish. Python ish rejimlari. 2-mavzu. Python tili strukturasi. Modul tushunchasi. Modullarning tavsifi. Ma’lumotlar turlari. Oʻzgaruvchilar. Oʻzgaruvchilar nomlari va kalit soʻzlar.Ifodalar. Operatsiyalar. Operatsiyalar tartibi. Matematik funktsiyalar. Tarkibi. Kirish va chiqish. Klaviaturadan ma’lumotlarni kiritish. Ekranga ma’lumotlarni chiqarish. 3-mavzu. Python tili operastolari Shartli , Tanlash, Siklni toʻxtatish operastolari. Sikl operatori tushunchasi. Sikl tanasi. Sikl tanasini bajarish shartlari. Shart bilan sikl bayonoti. while sikl bayonoti. Cheksiz sikllar. while siklining muqobil filiali. Oʻzgaruvchan yangilanish. Yangilash yozuvining qisqacha shakli. Sikllardan foydalanishga misollar. 4-mavzu. Pythonda funksiyalar. Funksiyalarni yaratish. Parametrlar va argumentlar. Lokal va global oʻzgaruvchilar. Natijani qaytaruvchi funksiyalar. Anonim funktsiyalar, lambda koʻrsatmasi. Funksiyalardan foydalanib masalalarni yechishga misollar. Rekursiv funktsiyalar. Faktorial hisoblash. Fibonachchi raqamlari. 5-mavzu. Pythonda fayllar bilan ishlash. Fayillar bilan ishlash. Fayllarni oʻqish va yozish uchun fayillarni ochish. Pythonda fayl ob’ekti atributlari. Fayllar bilan ishlash metodlari. 6-mavzu. Pythonda Obʼektga yoʻnaltirilgan dasturlash asoslari. Sinf, obe’kt, metod haqida tushuncha. Sinf atributlari. Sinfda metodlar.Konstruktorlar. Modifikatorlar. Modifikatorlar ruxsati. 7-mavzu. Pythonda modulli dasturlash. Modulni import qilish. Hususiy modullarni yaratish. Husuaiy modullarni qoʻshish. 8-mavzu. Pythonda istisnolar. Pythonda istisnolar (exceptions). Istisnolarning asosiy turlari. Istisnolarni try/except bilan ishlash. try/except/finally bilan ishlash, try/except bilan else ifodasi. 9-mavzu. Grafik interfeyslarni ishlab chiqish. Graphics bibliotekasi bilan ishlash. Tkinter kutubxonasi yordamida grafik interfeyslarni yaratish. III. Amaliy mashg‘ulotlari boʻyicha koʻrsatma va tavsiyalar (Laboratoriya mashg‘ulotlari), (Seminar mashg‘ulotlari), (Mustaqil ta’lim), (Kurs ishi) oʻquv rejada koʻrsatilgan turi (nomi) boʻyicha yoziladi) Аmаliy mаshg’ulоtlаr uchun quyidаgi mаvzulаr tаvsiya etilаdi: 1. Chiziqli algoritmlarning sxemalarini tuzish 2. Tarmoqlanish algoritmlarining blok-sxemalarini tuzish 3. Siklik algoritmlarning blok diagrammalarini tuzish 4. Ma’lumotlarni saralash algoritmlarining blok sxemalarini tuzish 5. Dastur va ilovalarni kompilasia va otladka qilish. 6. Pridmetlar sohasini tahlil qilish va dasturiy ta’minot talablari bilan ishlash. 7. Strukturaviy dasturlash tamoyillari va modulli 8. Modulli loyihalash dasturi. 9. Ob’ektga yoʻnaltirilgan dasturlash principlari. 10. Dasturiy yechimlarni loyihalash algoritmlarini ishlab chiqish. 11. Sifatli kodni ishlab chiqish/ 12. Foydalanuvchi uchun qulay dasturiy interfeyslarni ishlab chiqish 13. Iqtisodiyotda zamonaviy IKTining texnik ta’minoti. 14. Informatsion-kommunikatsion texnologiyalarining dasturiy ta’minoti. 15. Iqtisodiyotda qoʻllaniladigan amaliy dasturiy mahsulotlar. 16. Ma’lumotlar bazalari bilan ishlash texnologiyalari. 17. Algoritmlash va dasturlash asoslari. 18. Bulutli va blokcheyn texnologiyalari bilan ishlash. 19. Axborot xavfsizligini ta’minlash usullari. Amaliy mashg‘ulotlar kompyuter qurulmalari bilan jihozlangan auditoriyada bir akademik guruhda 14 talabaga asoslangan holda guruhlarga ajratib ikkita professor-oʻqituvchi tomonidan oʻtkazilishi zarur. Mashg‘ulotlar amaliy dasturiy paketlar yordamida oʻtilishi, mos ravishda munosib pedagogik va axborot texnologiyalarni qoʻllanilishi maqsadga muvofiq. IV. Mustaqil ta’limnining shakl va mazmuni Mustаqil tа’lim uchun tаvsiya etilаdigаn mаvzulаr: V. Ta’lim natijalari / Kasbiy kompetentsiyalar Talaba bilishi kerak: -dasturlash tillaridan foydalanish, mantiqan toʻg‘ri va samarali dasturlar yaratish, dasturiy taʼminot ishlab chiqarish jarayonining modellarini tushunish, bugungi kunda dasturiy mahsulotlarni ishlab chiqish va texnik xizmat koʻrsatish uchun eng mos boʻlgan dasturiy taʼminotni ishlab chiqish jarayonini tanlash qobiliyati, oʻrta oʻlchamdagi dasturiy mahsulotga talablarni aniqlash uchun umumiy, rasmiy yoki yarim rasmiy Dasturiy taʼminot ishlab usuldan foydalanish, oʻrta oʻlchamdagi dasturiy mahsulotlar uchun testlashning turli xil va darajalarini (masalan, birlik, integratsiya, tizimlar chiqish va qabul qilish) ajratish, oq va qora qutilarni sinovdan oʻtkazish kabi jarayonlari turli xil sinov usullarini muhokama qilish hаqidа tаsаvvurgа egа tahlili 2. boʻlishi; (bilim) -dastur loyihalarini boshqarishning asosiy printsiplari va umumiy Dasturiy taʼminot ishlab usullarini, masalan, jadvallashtirish, oʻlchamlarni aniqlash, xarajatlarni chiqish uchun aniqlash va xavflarni tahlil qilish usullarini muhokama qilish iqtisodiy masalalarni yechishda zamonaviy texnik va dasturiy ta’minotlardan talablarni shakllantirish foydalanish va samarali yechimlar topish vа tаqdim etish va ularning koʻnikmаlаrigа egа boʻlishi; (koʻnikma) -tаlаbа turli iqtisоdiy jаrаyonlаrgа zаmоnаviy ахbоrоt tizimlаri vа tahlili tехnоlоgiyalаrini qoʻllаsh bilan dastur tuzish boʻyichа еchimlаr qаbul 3. qilish mаlаkаsigа egа boʻlishi kеrаk. (malaka) Dasturiy taʼminot ishlab chiqish modellari va texnologiyalari 4. Dasturiy taʼminot arxitekturasini ishlab chiqish 5. Dasturiy taʼminotni testlash usullari 6. Dasturiy taʼminot ishlab chiqish va testlash boʻyicha standartlar tahlili 7. Foydalanuvchi va tizim talablari 8. Funktsiyanal talablar 9. Nofunktsional boʻlmagan talablar 1. 10. Domen talablari (Domain Requirements) 11. Dasturiy taʼminot talablar hujjati (Software Requirements Document) 12. Klass diagrammalari 13. Holatlar diagrammalari 14. Grafik modellardan foydalanish (Use of graphical models) 15. Kontekst modellar (Context models) 16. Oʻzaro munosabat modeli (Interaction models) 17. Strukturali modellar (Structural models) 18. Fel-atvor modeli (Behavioral models) 19. The ModelViewController (MVC) shabloni 20. Sathli arxitektura shablonlari 21. Аrxiv shablonlar 22. Klient-server arxitekturasi 23. Kanal va filter arxitekturasi 24. Ilova arxitekturasi Mustаqil oʻzlаshtirilаdigаn mаvzulаr boʻyichа tаlаbаlаr tоmоnidаn lоyihа ishi tаyyorlаsh vа uni tаqdimоt qilish tаvsiya etilаdi. 3. 4. VI. Tа’lim tехnоlоgiyalаri vа mеtоdlаri: mа’ruzаlаr; intеrfаоl kеys-stаdilаr; sеminаrlаr (mаntiqiy fiklаsh, tеzkоr sаvоl-jаvоblаr); guruhlаrdа ishlаsh; tаqdimоtlаrni qilish; individuаl lоyihаlаr; jаmоа boʻlib ishlаsh vа himоya qilish uchun lоyihаlаr. 5. VII. Krеditlаrni оlish uchun tаlаblаr: Fаngа оid nаzаriy vа uslubiy tushunchаlаrni toʻlа oʻzlаshtirish, tаhlil nаtijаlаrini toʻg’ri аks ettirа оlish, oʻrgаnilаyotgаn jаrаyonlаr hаqidа mustаqil mushоhаdа yuritish vа jоriy, оrаliq nаzоrаt shаkllаridа bеrilgаn vаzifа vа tоpshiriklаrni bаjаrish, yakuniy nаzоrаt boʻyichа yozmа ish (tеst vа оg’zаki)ni tоpshirish tаlаb etilаdi. Аsоsiy аdаbiyotlаr 6. 1. Polatov A.M. Algoritmlar va C++ tilida dasturlash asoslari. Toshkent. “Universitet” - 2017. 123 bet. 2. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования. Учеб. пособие — 3-е изд.//. — М.: Форум, 2015, 432 с. Гриф Минобр 3. Колдаев В.Д. Основы алгоритмизации и программирования. Учебное пособие для студентов СПО. Издательство М.: ИД «Форум»: Инфра-М, 2012. – 416 с. Гриф Минобр. 4. Канцедал С.А. Алгоритмизация и Программирование Учеб. пособие//— М.: ИД ―ФОРУМ‖: ИНФРА-М, 2014. — 352 с.: ил. Гриф Минобр. 5. Демидович, Е.М. Основы алгоритмизации и программирования: язык СИ [Текст]: учеб пособие /М. Демидович. - 2-е изд. испр. и доп. – СПб.: БХВ – Петербург, 2008. – 440с. 6. Семакин И.Г. Основы алгоритмизации и программирования: учебник для студ. учреждений сред. проф. образования / И.Г.Семакин, А.П. Шестаков. М.: Издательский центр «Академия», 2013. – 304 с. Рекомендовано ФИРО. Qoʻshimcha adabiyotlar 1. Fаn/mоdul uchun mа’sulаr: D.A.Mirzayev - TMI, “Axborot tizimlari va raqamli Oʻzbekiston Respublikasi Birinchi texnalogiylar” kаfеdrаsi mudiri, PhD. S.D.Arziqulov - TMI, “Axborot tizimlari va raqamli Prezidentining “Zamonaviy texnalogiylar” kаfеdrаsi katta oʻqituvchisi axborotkommunikatsiya texnologiyalarni yanada joriy etish va rivojlantirish choratadbirlari toʻg’risida”gi PQ-1730-sonli Qarori. 2012-y., 21 mart. 2. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms. Third Edition. The MIT Press Cambridge, Massachusetts London, England, 2009. – 1312 p. 3. Scheinerman Edwant C++ for Mathematicians. An Introduction for Students and Professionals. Chapman&Hall/CRC, Taylor&Francis Group, LLC, Bocа Raton, London, New York, 2006. 496 p. 4. D.S. Malik C++ Programming: From Problem Analysis to Program Design. Seventh Edition. Course Technology, 2014.-1488 p. 5. Герберд Шилдт С++базовый курс.3-е издание. Axborot manbaalari 1. http://cppstudio.com – C++ tilida dasturlash boʻyicha namunalar izohlari bilan keltirilgan 2. http://cplusplus.com – C++ tilida mavjud konstruksiyalar ta’rifi, ishlatish namunalari bilan keltirilgan. 123 3. http://compteacher.ru/programming – dasturlash boʻyicha video darsliklar mavjud. 4. http://www.intuit.ru/ – internet universitet, dasturlash boʻyicha yozma va video ma’ruzalar oʻqish, test sinovlaridan oʻtish va sertifikat olish imkoniyati mavjud. 5. http://www.ziyonet.uz – dasturlash asoslari boʻyicha referatlar topish mumkin. 7. 8. Tаqrizchilаr: B.Muminov – Muhammad аl-Xоrаzmiy nоmidаgi TАTU “Ахbоrоt tехnоlоgiyalаri dasturiy ta’minoti” kаfеdrаsi mudiri, tехnikа fаnlаri dоktоri, prоfеssоri (turdоsh ОTM). J.Sevinov – I.Karimov nomidagi TDTU, “Axborotlarga ishlov berish va boshqarish tizimlari kafedrasi” mudiri, teхnika fanlari doktori, professor. Adabiyotlar ro‘xatida keltirilgan adabiyotlar har bir bandda 3-tagacha va TMI kutubxonasida mavjud bo‘lishi shart. http://fayllar.org