MAʼLUMOTLAR TUZILMASI VA ALGORITMLAR
Assalom alaykum hurmatli doʻstlar. Bu yerda siz Maʼlumotlar tuzilmasi va algoritmlarni oʻrganasiz.
KURS SIZGA NIMA BERADI?
Darsimizning asl maqsadi barcha dasturchilar uchun dolzarb bo'lgan Maʼlumotlar Tuzilmasi va Algoritmlarni o'rgatish.
Kurs davomida siz turli ma'lumotlar tuzilmalari, ularning qo'llanilish sohasi, afzalliiklari va kamchiliklari bilan yaqindan tanishasiz. Shuningdek, turli muammolar uchun turli yechimlarni solishtirishni, baholashni va eng muhimi yechimlar orasidan eng optimalini topishni o'rganasiz.
Darslarimiz sizni aksar muammolarga yechim bo'ladigan algoritmlar bilan tanishtirish orqali sizning mantiqiy fikrlash qobiliyatingizni o'sishiga xizmat qiladi deb ishonamiz.
KURS KIMLAR UCHUN?
Ushbu kurs dasturlash asoslarini biladigan va algoritmlarni tushunishni istagan har bir kishiga mo'ljallangan. Ehtimol sizda allaqachon dasturlash muammosi bor va siz bu muammoga algoritmik yechim topishga harakat qilayotgandirsiz. Yoki siz algoritmlarning nima uchun foydali ekanligini tushunishni istaysiz. Demak kursimiz siz uchun.
Umuman olganda esa, quyidagi odamlar kursimizdan eng ko'p foyda oladi deb umid qilamiz
Yangi dasturchilar
O'quv kurslari talabalari
Kompyuter Texnologiyalari yo'nalishida o'qiyotgan talabalar
Dasturlashga qiziqqan muhandislar, matematiklar va AT sohasi vakillari
Agar siz Dasturlash Asoslaridan habaringiz bo'lmasa, marhamat quyidagi bog'lama orqali mutlaqo bepul kursimizni olishngiz mumkin.
Darslarni boshlashdan avval esa keling...
TANISHAMIZ
Ismim Anvar Narzullaev.
Universiti Sains Islam Malaysia oliygohining Axborot Texnologiyalari kafedrasida yetakchi mutaxassis lavozimida ishlayman. Raqamli Texnologiyalar, Kompyuter Arxitekturasi, Axborot Xavfsizligi fanlaridan dars beraman.
2004 yilda Toshkent Axborot Texnologiyalar Universitetini Telekommunikatsiya yo'nalishini bitirganman.
2006 yilda Janubiy Koreyaning Yeungnam Universitetida Axborot Texnologiyalari Muhandisi yo'nalishida Magistrlik, 2012 yilda esa shu oliygohda Doktorlik (PhD) unvonini himoya qilganman.
2013 yildan beri Malayziyaning turli oliy o'quv yurtlarida Computer Science va Axborot Texnologiyalari yo'nalishlarida dars berib kelaman.
Birinchi professional dasturimni 13 yoshda yozganman. Turli yillar davomida C, C++, Delphi, Matlab, Java va Python tillaridan foydalanib kelganman.
Oxirgi yillarda asosan ikki yo'nalishda ilmiy izlanishlar qilaman: IoT (Internet of things) va AI (Artificial Intelligence).
Asosiy dasturlash qurollarim C++, Matlab va Python.
FANNING DOLZARBLIGI
Bitta muammoga bir nechta yechim bo’lishi mumkin:
Mavjud ma’lumotlar tuzilmasi va algoritmlardan xabardor bo’lish eng samarali yechimni topishda yordam beradi.
Samaradorlik algoritmning tezligi va qancha xotira egallashi bilan o’lchanadi (Time and Space complexity).
Tasavvur qiling siz ustida ishlayotgan dasturning millionlab foydalanuvchilari bor: Bank, onlayn qidiruv, ijtimoiy tarmoq, rasmlar uchun bulut xizmati, yangi super oʻyin, elektron kutubxona va hokazo:
Maʻlumotlar har soniyada yangilanib turadi.
Siz har bir mijoz haqida minglab maʻlumotlarni saqlab borishingiz va kerak boʻlgan maʻlumotni bir zumda topib berishingiz kerak.
Katta loyihalarda bevosita kod yozish jarayoni 20-30% xolos:
Aksar vaqt kompaniya resurslarini (serverlar, hisoblash quvvati va boshqalarni) tejash uchun eng optimal algoritmlarni loyihalashtirishga sarflanadi
Shuning uchun katta kompaniyalar ishga olishda aynan algoritmlar va ma’lumotlar tuzilmasini qanchalik bilishingizni tekshiradi. Dasturlash tili va turli frameworklar ikkilamchi
NIMALARNI BILISH KERAK?
Darslarni o'zlashtirish uchun birorta dasturlash tilini bilish talab qilinadi. Biz darslar davomida Python tilidan foydalansakda, biz bergan misollarni istalgan dasturlash tilida bajarishingiz mumkin.
MANBALAR
"Grokking Algorithms", Aditya Bhargava, Manning Publications, 2016
Last updated