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