Skip to content

4-oy uy vazifalari (Dasturlash asoslari — CS, Git va C)

Umumiy ko'rsatmalar

1–5 darslar — Google Drive + email orqali:

  • Drive papka: Foundation/4-oy/Uy-vazifalari/[dars-raqam]/
  • Email subject: 4-oy UV — [dars-raqam] — [Ism Familiya]

6-darsdan boshlab (GitHub o'rganilgach) — faqat GitHub orqali:

  • Repo: foundation-darslar (yoki shu kabi nom)
  • Har dars uchun alohida papka: 4-oy-dars-N/
  • Har vazifa — alohida fayl + alohida commit

1-dars uy vazifalari: CS nima va algoritm

Topshiriq 1.1 — Hayotiy algoritmlar

7 ta kundalik vazifa uchun algoritm yozing (har biri 7+ qadam):

  1. Ovqat pishirish (sevimli taom)
  2. Maktab/ish'ga borish
  3. Mashina yuvish
  4. Telefon sotib olish (qidiruv → tanlov → to'lov)
  5. Internet'dan dastur o'rnatish
  6. Soch turmaklash
  7. Hayotda yangi do'st topish

Har qadam aniq va bajariladigan bo'lsin — "ovqat qil" emas, "kartoshkani archib, to'rtga bo'l".

Drive'ga: 1-algoritm.docx

Topshiriq 1.2 — Decomposition

Murakkab muammoni kichik qismlarga ajrating:

"Online o'quv markazi web sayti yaratish"

Quyidagi tarzda:

Asosiy maqsad: Sayt yaratish
├── 1. Bosh sahifa
│   ├── 1.1 Logo va navigatsiya
│   ├── 1.2 Hero rasm
│   └── 1.3 Tushuntirish matni
├── 2. Yo'nalishlar sahifasi
│   └── ...
├── 3. ...

Kamida 5 ta asosiy + 15 ta kichik vazifa.

Drive'ga: 2-decomposition.docx

Topshiriq 1.3 — Linear va Binary Search

1000 ta raqamdan iborat ro'yxatdan bitta sonni qidiryapsiz. Ikki usulning qadamlarini oddiy so'zlar bilan yozing:

  1. Linear Search — sortlanmagan ro'yxatda boshidan oxirigacha tekshirish
  2. Binary Search — sortlangan ro'yxatda o'rtadan bo'lib qidirish

Har biri uchun: eng yomon holatda necha qadam? Qaysi biri qachon ishlatiladi?

Drive'ga: 3-search.docx

2-dars uy vazifalari: Binary va ma'lumot vakili

Topshiriq 2.1 — Binary konvertatsiyalar

Decimal → Binary: 15, 32, 64, 100, 200, 255, 500, 1024

Binary → Decimal: 1100, 10101, 11111111, 100000000, 110011

Har birini qadam-baqadam yozing (bo'lish/qo'shish jarayoni ko'rinsin).

Drive'ga: 1-binary.docx

Topshiriq 2.2 — ASCII jadval

Sizning to'liq ismingiz (Ism + Familiya) har harfini jadvalga yozing:

HarfASCIIBinaryHex
A650100000141
K75010010114B
............

Bo'shliqlar va kichik harflar uchun ham.

Drive'ga: 2-ascii.docx

Topshiriq 2.3 — Fayl hajmi

Hisoblang va yozing:

  1. 3000 belgili matn — necha byte?
  2. 20 sahifali kitob (har sahifada 2500 belgi) — necha KB?
  3. 5 ta rasm 4K (3840×2160) siqilmagan — necha MB?
  4. 2 soat HD video siqilgan — necha GB (taxmin)?
  5. 1 TB diskda nechta 1 daqiqali MP3 sig'adi?

Drive'ga: 3-hajm.docx

3-dars uy vazifalari: Algoritm, pseudocode va flowchart

Topshiriq 3.1 — Pseudocode mashqi

5 ta vazifa uchun pseudocode yozing:

  1. Uchta raqamdan eng kattasini topish
  2. Toq raqamlarning yig'indisi (1 dan 100 gacha)
  3. Ro'yxatning har bir elementini 2 ga ko'paytirish
  4. Matn ichidan unli harflar sonini sanash
  5. Telefon raqamini tekshirish (format +998 XX XXX XX XX)

Drive'ga: 1-pseudocode.docx

Topshiriq 3.2 — Draw.io bilan flowchart

app.diagrams.net saytida 5 ta flowchart chizing:

  1. ATM operatsiyasi (kart, pin, pul olish)
  2. Online buyurtma (mahsulot tanlash → savat → to'lov → yetkazib berish)
  3. Yangi xodimni ishga olish (rezyume → suhbat → test → qaror)
  4. Auto-payment (har oy avtomatik to'lov)
  5. Imtihon natijasi (ball → harf baho → o'tdi/yiqildi)

To'g'ri shakllar: oval — boshlash/tugatish, to'rtburchak — amal, romb — shart.

Har birini PNG'ga eksport qiling.

Drive'da: 2-flowchartlar/ papka, 5 ta PNG fayl.

Topshiriq 3.3 — Boolean operatorlar

10 ta hayotiy shart AND, OR, NOT bilan yozing:

  1. Yoshim 18-30 oralig'ida VA o'qish bor
  2. Toshkentlik YOKI Samarqandlik
  3. Hafta oxiri EMAS VA soat 9-17
  4. ...

Drive'ga: 3-boolean.docx

4-dars uy vazifalari: Terminal va buyruq qatori

Topshiriq 4.1 — 30 ta buyruq mashqi

Quyidagilarni terminal'da bajaring va natijalarni daftarga yozing:

bash
1.  pwd
2.  ls
3.  ls -la
4.  cd Documents
5.  cd ..
6.  cd ~
7.  whoami
8.  date
9.  cal
10. echo "Salom"
11. mkdir test
12. cd test
13. touch fayl.txt
14. echo "Matn" > fayl.txt
15. cat fayl.txt
16. echo "Yana matn" >> fayl.txt
17. cat fayl.txt
18. cp fayl.txt nusxa.txt
19. ls
20. mv nusxa.txt yangi.txt
21. ls
22. rm yangi.txt
23. ls
24. cd ..
25. ls -lh test
26. du -sh test
27. df -h
28. find . -name "*.txt"
29. history
30. clear

Har buyruq natijasi yoki sharhi daftarga. Umumiy xulosani Drive'ga: 1-buyruqlar.docx

Topshiriq 4.2 — Foundation papka tuzilmasi

Terminal orqali butun Foundation papka tuzilmasini yarating:

bash
$ cd ~/Documents
$ mkdir -p Foundation/{1-oy,2-oy,3-oy,4-oy,5-oy,6-oy}
$ cd Foundation
$ for i in 1 2 3 4 5 6; do
    mkdir -p $i-oy/{darslar,uy-vazifalari,konspekt,loyihalar}
  done
$ ls -R

Bu — bash script uslubidagi yondashuv.

Drive'ga: ls -R Foundation natijasini yozing (2-papkalar.docx).

Topshiriq 4.3 — VS Code tekshirish va kengaytmalar

  1. VS Code o'rnatilganini tekshiring: terminal'da code --version
  2. Foydali kengaytmalar o'rnating:
    • C/C++ (Microsoft) — keyingi darslar uchun kerak bo'ladi
    • GitLens (Git uchun)
    • Markdown Preview Enhanced
    • vscode-icons

Screenshot Drive'ga: 3-vscode.png

Topshiriq 4.4 — Nano matn muharriri

Terminal'dan chiqmasdan fayl tahrirlash: nano biografiya.md

Ichiga qisqa biografiya yozing (ism, yosh, shahar, 3 ta maqsad, sevimli mashg'ulotlar) — Markdown formatida.

  • Ctrl + O — saqlash
  • Ctrl + X — chiqish

Drive'ga: biografiya.md

5-dars uy vazifalari: Git asoslari

Topshiriq 5.1 — Git setup va birinchi repo

Bu — kelajakdagi asosiy repo'ngiz. Keyingi darsda GitHub'ga push qilamiz, hozircha natijalarni (terminal screenshot + git log) Drive orqali topshiring.

  1. Git sozlang:

    bash
    $ git config --global user.name "Sizning ismingiz"
    $ git config --global user.email "sizning@email.com"
  2. Local'da repo yarating:

    bash
    $ cd ~/Documents
    $ mkdir foundation-darslar
    $ cd foundation-darslar
    $ git init
  3. Fayllarni yarating:

    • README.md (siz haqingizda va repo maqsadi)
    • 4-oy-dars-5/git-mashq.md (5-dars haqida qisqacha konspekt)
    • .gitignore (ichida .DS_Store, *.tmp, *.log)
  4. Har faylni alohida commit qiling:

    bash
    $ git add README.md
    $ git commit -m "docs: add README"
    $ git add 4-oy-dars-5/git-mashq.md
    $ git commit -m "docs: add dars 5 notes"
    $ git add .gitignore
    $ git commit -m "chore: add gitignore"
  5. git log --oneline natijasini git-mashq.md ichiga yopishtiring va yana commit qiling (docs: add commit log to notes)

Drive'ga: terminal screenshot + git log --oneline natijasi.

Topshiriq 5.2 — Conventional commits

Yangi mashq repo: commit-mashq

10 ta commit yarating — har biri turli tur bilan. Birinchi ikkitasi namuna:

bash
# 1. feat
$ echo "function login() {}" > login.js
$ git add . && git commit -m "feat: add login function"

# 2. fix
$ echo "// fix" >> login.js
$ git add . && git commit -m "fix: correct login validation"

Qolgan 8 tasini o'zingiz shu uslubda qiling (har safar biror faylni o'zgartirib):

  1. docs: add README
  2. style: format login.js
  3. refactor: extract validation
  4. test: add login tests
  5. chore: add gitignore
  6. perf: optimize login flow
  7. ci: add GitHub Actions config
  8. build: add package.json

git log --oneline natijasini screenshot qilib Drive'ga.

Topshiriq 5.3 — .gitignore mashqi

Yangi mashq repo: gitignore-mashq

Quyidagi fayllarni yarating: main.py, secret.env, config.json, temp.tmp, app.log, data.db, .DS_Store hamda node_modules/ va __pycache__/ papkalari.

.gitignore yarating:

*.env
*.tmp
*.log
*.db
.DS_Store
node_modules/
__pycache__/

git status da faqat main.py, config.json va .gitignore ko'rinishi kerak.

Tekshiring va Drive'ga screenshot.

6-dars uy vazifalari: GitHub bilan ishlash

Shu darsdan boshlab uy vazifalari GitHub'da topshiriladi!

Bundan keyin Drive kerak emas — hamma ish foundation-darslar repo'da. O'qituvchi repo'ngizni kuzatib boradi.

Topshiriq 6.1 — GitHub repo va push

  1. GitHub'da yangi repo: foundation-darslar (Public, README'siz — local'da bor)

  2. Local repo'ni bog'lang:

    bash
    $ cd ~/Documents/foundation-darslar
    $ git remote add origin https://github.com/USERNAME/foundation-darslar.git
    $ git branch -M main
    $ git push -u origin main
  3. README'ni chiroyli qiling (Markdown: sarlavha, siz haqingizda, darslar ro'yxati)

  4. 5-dars vazifalarining natijalarini repo ichida saqlang:

    • 4-oy-dars-5/git-mashq.md
    • 4-oy-dars-6/github-mashq.md (bu dars konspekti)
  5. Commit va push.

Repo URL'ni o'qituvchiga email qiling — bundan keyin tekshiruv shu repo orqali.

Topshiriq 6.2 — Branch va Pull Request

  1. Yangi branch: git checkout -b feature/dars-6
  2. VS Code'da 4-oy-dars-6/dars-6.md fayl yarating — ichida dars mavzulari (GitHub, branch, Pull Request) haqida qisqa konspekt
  3. Commit va push:
bash
$ git add 4-oy-dars-6/dars-6.md
$ git commit -m "feat: add dars 6 notes"
$ git push -u origin feature/dars-6

GitHub'da:

  1. Compare & pull request
  2. Sarlavha: feat: add dars 6 notes
  3. Tavsif: 3 jumla
  4. Create pull request
  5. Merge pull request

Merge qilingan PR — repo'ngizda ko'rinib turadi, screenshot shart emas.

Topshiriq 6.3 — Profile README

O'zingizning GitHub profile README:

  1. Yangi repo: USERNAME/USERNAME (sizning username bilan)
  2. README qo'shing
  3. Markdown bilan chiroyli yozing:
markdown
### Salom, men [Ism] 👋

🌱 Hozir o'rganaman: Foundation 4-oy — C tili, Git, GitHub

🤖 AI bilan ishlayman: Claude Code bilan birinchi saytimni
yasadim (3-oy), ChatGPT va Gemini — kundalik vositalarim

🎯 Maqsad: Foundation tugagach Junior Developer bo'lish

📚 Loyihalarim:
- [foundation-darslar](https://github.com/USERNAME/foundation-darslar)
- AI bilan yasagan saytim — [havola]

📫 Aloqa: akmal@example.com

Profilingizga kirib ko'ring (github.com/USERNAME).

Topshiriq 6.4 — Daily commit (7 kun)

Keyingi 7 kun davomida har kuni eng kamida 1 ta commit qiling.

foundation-darslar repo'ga:

  • Kichik o'zgartirishlar
  • README'ga jumla qo'shish
  • Konspektga yangi izoh

7 kun oxirida profilingizda yashil kalendar kvadratlari paydo bo'ladi — bu dasturchining "yurak urishi".

7-dars uy vazifalari: C tili — tanishuv, Hello World

Topshiriq 7.1 — Setup tekshiruvi

  1. Compiler tekshiring: gcc --version yoki clang --version
  2. VS Code + C/C++ extension (Microsoft) o'rnatilgan
  3. Repo'da papka yarating: 4-oy-dars-7/
  4. Terminal natijasi screenshot'ini 4-oy-dars-7/setup.md faylga qo'shib commit qiling

Topshiriq 7.2 — Hello World variantlari

4-oy-dars-7/ ichida 3 ta .c fayl:

  1. hello.c — "Hello, World!" chiqaradi
  2. shaxsiy.c — siz haqingizda 5+ jumla chiqaradi
  3. ascii-art.c — printf bilan ASCII art rasm chizadi

Har birini kompilyatsiya qilib tekshiring:

bash
$ gcc hello.c -o hello
$ ./hello

Har fayl — alohida commit. GitHub'ga push.

Topshiriq 7.3 — Escape characters

belgilar.c\n, \t, \", \\, %% belgilarining har biri bilan tajriba qiling: har biri nima chiqarishini ko'rsatadigan dastur yozing.

Topshiriq 7.4 — Xato topish

Dars matnida berilgan 4 ta xatoli kodni tuzating (nuqtali vergul, qavs, header, fayl nomi). Tuzatilgan faylni xato-tuzatildi.c nomi bilan commit qiling. Commit message: fix: correct 4 errors in broken code

8-dars uy vazifalari: O'zgaruvchilar, turlar va operatorlar

Eslatma

Foydalanuvchidan qiymat o'qish (scanf) hali o'tilmagan — 5-oyda o'rganamiz. Qiymatlarni kod ichida o'zgaruvchi sifatida bering. Papka: 4-oy-dars-8/

Topshiriq 8.1 — Shaxsiy ma'lumot va formatlar

shaxsiy.c — ism (char massiv sifatida printf'da), yosh (int), bo'y (float), og'irlik (float), jins (char).

Har birini mos format specifier bilan chiqaring: %d, %f, %.2f, %c, %s.

Qo'shimcha: sizeof bilan int, float, double, char turlarining hajmini chiqaring.

Topshiriq 8.2 — Kalkulyator

kalkulyator.c — ikkita int o'zgaruvchi ustida 5 ta amal: +, -, *, /, %.

Chiqish namunasi:

a = 17, b = 5
a + b = 22
a - b = 12
a * b = 85
a / b = 3
a % b = 2

a / b nima uchun 3.4 emas, 3 chiqqanini // izoh sifatida faylga yozing.

Topshiriq 8.3 — Compound va increment

Ikki fayl:

  1. compound.c+=, -=, *=, /=, %= operatorlarining har biri bilan misol, har qadamdan keyin qiymatni chiqaring
  2. increment.cx++ va ++x farqini ko'rsatadigan dastur (printf ichida ishlatib solishtiring)

Topshiriq 8.4 — Yosh kalkulyator

yosh-kalkulator.c — yoshingizni kod ichida bering, dastur hisoblasin:

  • Necha kun yashagansiz (taxminan, 365 bilan)
  • Necha soat
  • Necha daqiqa

long turidan foydalaning — daqiqalar int sig'imidan katta bo'lishi mumkin.

9-dars uy vazifalari: Shartlar — if, else, switch

Papka: 4-oy-dars-9/. Har fayl — alohida commit.

Topshiriq 9.1 — Toq/juft va baho

Ikki fayl:

  1. toq-juft.c — kod ichidagi son toq yoki juftligini % bilan aniqlaydi
  2. baho.c — ball (0-100) asosida harf baho: 90+ A, 80+ B, 70+ C, 60+ D, past F (if-else if zanjiri bilan)

Topshiriq 9.2 — Uch sondan eng kattasi

max-of-3.c — uchta o'zgaruvchidan eng kattasini topadi. Ikki usulda yozing: nested if bilan va && bilan.

Topshiriq 9.3 — Kabisa yili

kabisa.c — yil kabisa yili ekanini tekshiradi:

  • 4 ga bo'linadi VA 100 ga bo'linmaydi, YOKI 400 ga bo'linadi

2024, 1900, 2000 yillar bilan sinab ko'ring (uchalasini ham dasturda tekshiring).

Topshiriq 9.4 — switch mashqlari

Ikki fayl:

  1. hafta-kuni.c — 1-7 raqamdan hafta kuni nomini switch bilan chiqaradi (noto'g'ri raqam uchun default)
  2. fasl.c — oy raqamidan (1-12) faslni aniqlaydi. Ikki versiya: if-else bilan va switch fall-through bilan (case 12: case 1: case 2: — qish)

10-dars uy vazifalari: Sikllar — for, while, do-while

Papka: 4-oy-dars-10/. Har fayl — alohida commit.

Topshiriq 10.1 — Yig'indilar va faktorial

Ikki fayl:

  1. yigindi.c — for bilan: 1-100 yig'indisi, faqat toqlar, faqat juftlar, 3 ga bo'linadiganlar
  2. faktorial.c — 1 dan 10 gacha har sonning faktorialini chiqaradi (long ishlating)

Topshiriq 10.2 — Ko'paytirish jadvali va yulduzlar

Ikki fayl:

  1. jadval.c — 2 dan 9 gacha ko'paytirish jadvali (nested for)
  2. yulduzlar.c — 4 ta yulduzcha naqsh:
*           *****      *          *****
**          ****       **          ***
***         ***        ***          *
****        **         ****
*****       *          *****

Topshiriq 10.3 — Raqam tahlili (while)

raqam-tahlil.c — kod ichidagi son uchun while sikli bilan:

  • Necha xonali son ekanini
  • Raqamlar yig'indisini
  • Teskari yozilishini (masalan, 1234 → 4321)

Maslahat: n % 10 — oxirgi raqam, n / 10 — oxirgi raqamni tashlash.

Topshiriq 10.4 — Tub sonlar va Fibonacci

Ikki fayl:

  1. tub-sonlar.c — 1 dan 100 gacha barcha tub sonlarni chiqaradi
  2. fibonacci.c — birinchi 20 ta Fibonacci sonini chiqaradi (0, 1, 1, 2, 3, 5, ...)

Qo'shimcha: break va continue dan kamida bittasini o'rinli ishlating.

11-dars uy vazifalari: Funksiyalar

Papka: 4-oy-dars-11/. Har fayl — alohida commit.

Topshiriq 11.1 — Asosiy funksiyalar

Ikki fayl:

  1. amallar.cqoshish, ayirish, kopaytirish, bolish funksiyalari (har biri 2 ta int parameter, natija qaytaradi). main'da hammasini chaqiring.
  2. shakllar.c — yuza hisoblovchi funksiyalar: kvadrat_yuza, togri_turtburchak_yuza, doira_yuza (float bilan)

Topshiriq 11.2 — Max/min va tub son funksiyalari

Ikki fayl:

  1. max-min.cmax2, min2 (2 son uchun), max3, min3 (3 son uchun; ichida max2/min2 ni chaqiring)
  2. tub-fn.cint is_prime(int n) funksiyasi + uni ishlatib 1-50 orasidagi tublarni chiqaruvchi print_primes funksiyasi

Topshiriq 11.3 — Rekursiya

rekursiya.c — uchta rekursiv funksiya:

  1. faktorial(n) — n!
  2. fibonacci(n) — n-chi Fibonacci soni
  3. sum_to_n(n) — 1 dan n gacha yig'indi

Har birida base case aniq bo'lsin. main'da har birini 2-3 qiymat bilan sinab ko'ring.

Topshiriq 11.4 — Scope tajribasi

Ikki fayl:

  1. scope.c — global va local o'zgaruvchi farqini ko'rsatadigan dastur (bir xil nomli o'zgaruvchi ikki joyda)
  2. qiymat.c — funksiya ichida parameter'ni o'zgartirib, main'dagi asl qiymat o'zgarmasligini ko'rsating (pass by value). // izohda nima uchunligini yozing.

12-dars uy vazifalari: Imtihonga tayyorgarlik

Topshiriq 12.1 — Nazariy takror (checklist)

Har mavzuni takrorlab, o'zingizga baho bering (bilaman / takrorlash kerak):

  • [ ] Algoritm nima, decomposition
  • [ ] Binary ↔ decimal konvertatsiya, ASCII
  • [ ] Pseudocode o'qish va yozish
  • [ ] Flowchart shakllari (oval, to'rtburchak, romb)
  • [ ] Terminal: pwd, ls, cd, mkdir, touch, rm
  • [ ] Git: init, add, commit, push, pull, clone
  • [ ] Branch va Pull Request
  • [ ] C: o'zgaruvchilar, turlar, format specifiers
  • [ ] Operatorlar: + - * / %, && || !, ++ --
  • [ ] if / else if / else, switch
  • [ ] for, while, do-while, break, continue
  • [ ] Funksiya yozish, parameter, return

"Takrorlash kerak" bo'lganlarini dars konspektidan qayta o'qing.

Topshiriq 12.2 — Amaliy mashq

Imtihon formatiga o'xshash 3 ta dasturni hech qayerga qaramasdan yozib ko'ring:

  1. 1-50 oraligida FizzBuzz
  2. 1-100 sonlar yig'indisi (toq/juft alohida)
  3. int eng_katta(int a, int b, int c) funksiyasi + main'da sinash

Papka: 4-oy-dars-12/mashq/. Yozib bo'lgach kompilyatsiya qilib tekshiring, commit va push.

Topshiriq 12.3 — GitHub repo audit

Imtihonning 3-qismi — repo'ngiz. Tartibga keltiring:

  1. README.md to'liq: siz haqingizda, darslar ro'yxati, har papkaga qisqa izoh
  2. Har dars papkasi joyida: 4-oy-dars-5/ ... 4-oy-dars-12/
  3. Ortiqcha fayllar o'chirilgan (a.out, .DS_Store.gitignorega qo'shing)
  4. Hamma .c fayl kompilyatsiya bo'ladi
  5. Yakuniy commit: chore: prepare repo for exam

Compiler va git ishlashini oldindan tekshiring: gcc --version, git status.

Topshirish va baholash

1–5 darslar (Drive)

  • Drive papka: Foundation/4-oy/Uy-vazifalari/[dars-raqam]/
  • Email subject: 4-oy UV — [dars-raqam] — [Ism Familiya]

6–12 darslar (GitHub!)

  • Repo: USERNAME/foundation-darslar, Public
  • Har dars: 4-oy-dars-N/ papka
  • Har vazifa: alohida fayl + alohida commit (conventional format)

Baholash

MezonBall
To'liq bajarilgan50
O'z vaqtida20
Tartibli (papka, fayl, commit)15
Conventional commits10
Kreativlik5
Jami100

Kech topshirish

  • 1 kun kech: -10%
  • 3 kun kech: -30%
  • 1 hafta kech: 0

4-oy tugadi! 🎉

Endi siz quyidagilarni bilasiz:

  • ✅ CS asoslari va algoritmik fikrlash
  • ✅ Binary va ma'lumot vakili
  • ✅ Pseudocode va flowchart
  • ✅ Terminal bilan ishlash
  • ✅ Git va GitHub — kundalik vosita darajasida
  • ✅ C tilida dastur yozish: o'zgaruvchilar, shartlar, sikllar, funksiyalar

5-oyda C tili davom etadi — dasturlar jiddiylashadi:

  • scanf — foydalanuvchi bilan suhbat
  • String va massivlar
  • Saralash va qidirish algoritmlari
  • Pointer — C'ning yuragi
  • Struct va fayllar bilan ishlash

Tayyorgarlik: 4-oy kodlaringizni qayta o'qib chiqing, foundation-darslar repo'ni tartibda saqlang.

Yutuqlar tilab qolaman! 🚀

Master IT o'quv markazi — o'qitish rejasi