Skip to content

3-oy uy vazifalari (CS asoslari + Scratch + Git/GitHub)

Umumiy ko'rsatmalar

Muhim o'zgarish: 10-darsdan boshlab uy vazifalari GitHub orqali topshiriladi.

  • 1–9 darslar: Google Drive + email
  • 10–12 darslar: GitHub repository

Email subject: 3-oy UV — [dars-raqam] — [Ism Familiya]

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

Drive'ga: 1-algoritm.docx

Topshiriq 1.2 — Linear va Binary Search

Pseudocode yozing:

  1. Linear Search — sortlanmagan 1000 ta raqamdan biror son qidirish
  2. Binary Search — sortlangan 1000 ta raqamdan biror son qidirish

Har biri uchun:

  • Aniq pseudocode
  • Eng yomon holatda necha qadam?
  • Tezligi farqi qancha?

Topshiriq 1.3 — 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: 3-decomposition.docx

2-dars uy vazifalari: Binary

Topshiriq 2.1 — Binary konvertatsiyalar

Decimal → Binary:

  1. 15
  2. 32
  3. 64
  4. 100
  5. 200
  6. 255
  7. 500
  8. 1024

Binary → Decimal:

  1. 1100
  2. 10101
  3. 11111111
  4. 100000000
  5. 110011

Har birini qadam-baqadam yozing.

Topshiriq 2.2 — ASCII jadval

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

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

Bo'shliqlar va kichik harflar uchun ham.

Topshiriq 2.3 — Fayl hajmi

Hisoblang va daftarga 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?

Topshiriq 2.4 — Hex rang palette

5 ta brend rangi uchun hex code va RGB raqamlarini toping:

  • Google asosiy rangi
  • Facebook ko'k
  • Instagram pushti-binafsha
  • Twitter ko'k
  • YouTube qizil

Internet orqali toping (Google → Google brand color hex).

Har birini Drive'da 5-ranglar.docx shaklida saqlang.

3-dars uy vazifalari: Algoritmlar

Topshiriq 3.1 — Pseudocode mashqi

5 ta vazifa uchun pseudocode:

  1. Eng katta uch ta raqamni topish
  2. Toq raqamlarning yig'indisi
  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 — Bubble Sort trace

Quyidagi 8 ta raqamni Bubble Sort bilan sortlang. Har iteration'ni ko'rsating:

[64, 34, 25, 12, 22, 11, 90, 50]

Iteration 1:

[64, 34, 25, 12, 22, 11, 90, 50] → ...

...

Yakuniy: [11, 12, 22, 25, 34, 50, 64, 90]

Drive'ga: 2-bubble-sort.docx

Topshiriq 3.3 — Algoritmik fikrlash

4 ta murakkab muammo uchun decompose + algorithm + flowchart:

  1. Spam email aniqlash (o'z qoidalaringiz)
  2. Talabalar reytingini hisoblash (5 ta fan asosida)
  3. Yandex maps yo'l ko'rsatkichi (oddiy versiya)
  4. YouTube tavsiya algoritmi (qaysi video ko'rsatish)

Har biri 2 paragraf.

Drive'da: 3-fikrlash.docx

4-dars uy vazifalari: Flowchart

Topshiriq 4.1 — Draw.io bilan flowchart

app.diagrams.net saytida 5 ta flowchart:

  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)

Har birini PNG'ga eksport qiling.

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

Topshiriq 4.2 — 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'da: 2-boolean.docx

Topshiriq 4.3 — Mermaid flowchart

Markdown fayl yarating, 3 ta Mermaid flowchart chizing:

markdown
# Mening flowchartlarim

## 1. ATM
```mermaid
flowchart TD
    ...

2. ...

3. ...


VS Code'da Markdown preview bilan ko'rib chiqing.

Drive'ga: `3-mermaid.md`

5-dars uy vazifalari: Scratch — tanishuv

Topshiriq 5.1 — Scratch akkaunt

  1. scratch.mit.edu ga akkaunt yarating
  2. Profil — chiroyli rasm va bio
  3. 5 ta Featured loyihani Favorite qiling
  4. 3 ta loyihani Studioga qo'shing

Username'ingizni Drive'ga yozing.

Topshiriq 5.2 — Shaxsiy tanishuv

Sizning Scratch'da tanishuv loyihasi:

Mushuk (yoki boshqa sprite):

  1. Yashil bayroq bosilganda salom beradi
  2. Ismingiz, yoshingiz, kasbingizni aytadi
  3. Sevimli qiziqishingizni aytadi
  4. Tugaganda "Rahmat!" deydi

Backdrop — chiroyli (park, kosmos va h.k.).

Saqlang: 1-tanishuv. Share qiling.

Drive'ga loyiha havolasi.

Topshiriq 5.3 — Bir necha sprite suhbati

5 ta sprite birga suhbatlashadi (har biri o'z navbati bilan):

  1. Mushuk
  2. Bird (qush)
  3. Dog (it)
  4. Owl (boyqush)
  5. Cat 2

Har biri 3 jumla aytadi. Vaqtni to'g'ri sozlang.

Saqlang: 2-suhbat. Share.

Topshiriq 5.4 — Animatsiya: Tabiat

4 sahnali animatsiya:

  1. Ertalab — quyosh ko'tarilmoqda
  2. Tushlik — quyosh tepada
  3. Kechqurun — quyosh botayotgan
  4. Tun — yulduzlar

Backdrop'lar o'zgaradi. Sprite (quyosh) harakat qiladi.

Saqlang: 3-tabiat. Share.

6-dars uy vazifalari: Scratch — events va motion

Topshiriq 6.1 — Klaviatura ovchi

Sprite — strelkalar bilan boshqariladi. Boshqa sprite — sichqonchaga ergashadi.

  1. Bir sprite — strelkalar bilan
  2. Boshqa sprite — sichqonchaga ergashadi (point towards mouse + move)
  3. Ular bir-biriga teggandagi reaksiya

Saqlang: 1-klaviatura-ovchi

Topshiriq 6.2 — Tasodifiy paydo bo'lish

3 ta sprite — tasodifiy joylarda paydo bo'lib yo'qoladi:

  • Har 2 sekundda yangi joyga
  • Rang effekti bilan o'zgaradi
  • O'lcham ham tasodifiy

Saqlang: 2-tasodifiy

Topshiriq 6.3 — Quiz boshlash

Ask/answer bilan suhbat:

Mushuk: "Salom! Sening isming nima?"
Talaba: "Akmal"
Mushuk: "Salom Akmal! Yoshing necha?"
...

5 ta savol va shaxsiy javob.

Saqlang: 3-suhbat-quiz

Topshiriq 6.4 — Broadcast tizimi

4 ta sprite birga ishlashadi (broadcast bilan):

  1. Sprite 1: "Boshla" xabarini yuboradi
  2. Sprite 2: "Boshla" oladi → harakat qiladi → "O'rta" xabarini yuboradi
  3. Sprite 3: "O'rta" oladi → harakat qiladi → "Oxirga" xabarini yuboradi
  4. Sprite 4: "Oxirga" oladi → o'z harakatini qiladi

Saqlang: 4-broadcast

7-dars uy vazifalari: Scratch — sikllar

Topshiriq 7.1 — Geometrik shakllar

Pen extension bilan 5 ta shakl:

  1. Kvadrat
  2. Uchburchak
  3. Beshburchak
  4. Olti burchak
  5. Doira (ko'p tomonli)

Har biriga klavish: 1, 2, 3, 4, 5.

Loop ichida turli rang.

Saqlang: 1-shakllar

Topshiriq 7.2 — Spiral va naqshlar

3 ta turli spiral:

  1. Oddiy spiral (yuqorida berilgan)
  2. Geometrik (kvadratlar bilan)
  3. Naqshli (rang o'zgarishi bilan)

Har klavishda ishga tushsin.

Saqlang: 2-spiral

Topshiriq 7.3 — Sodda Pong

Pong klassik o'yini:

  • Top sprite — harakat qiladi, chetdan qaytadi
  • Plat sprite — chap-o'ngga
  • Top platga tegsa — qaytadi
  • Top pastga tushib ketsa — game over

Saqlang: 3-pong

Topshiriq 7.4 — Tutib oluvchi (oddiy)

Olma tutish (variable'siz versiya, faqat sikl bilan):

  • Olma yuqoridan tushadi
  • Savat strelka bilan
  • Tegisha — olma yangi joyga (yuqoriga)

Saqlang: 4-tutib-oddiy

8-dars uy vazifalari: Scratch loyihasi

Topshiriq 8.1 — Variable mashqi

Score, lives, time bilan kichik loyiha:

  • Klavish bossangiz — score +1
  • Boshqa klavish — lives -1
  • Time har sekundda -1
  • Time = 0 yoki lives = 0 → game over

Saqlang: 1-variable-mashq

Topshiriq 8.2 — Quiz o'yin (list bilan)

10 ta savol va javob list shaklida:

List: savollar
1. "2+2 = ?"
2. "O'zbekiston poytaxti?"
...

List: javoblar
1. "4"
2. "Toshkent"
...

Har savolga to'g'ri javob — score +1. 10 ta savol tugagandan keyin — final ball.

Saqlang: 2-quiz

Topshiriq 8.3 — To'liq Olma Tutish

Dars matni'da berilgan to'liq Olma Tutish o'yinini yarating:

  • Savat (klaviatura)
  • Olma (clone, tasodifiy)
  • Tosh (yomon — hayot -1)
  • Score, lives, time variables
  • 30 sekund vaqt
  • High score saqlash
  • Musiqa va effekt
  • Game over backdrop

Saqlang: 3-tutib-oluvchi-final

Share qiling.

Topshiriq 8.4 — Original o'yin

O'zingizning original o'yiningiz:

  • Yangi g'oya (Snake, Tetris, Memory, Maze va h.k.)
  • Kamida 3 ta sprite
  • Variables (score, lives va h.k.)
  • Game over
  • Tovush va musiqa

Loyiha portfolio uchun — eng yaxshi 3 tasi tanlanadi.

Saqlang: 4-original. Share.

9-dars uy vazifalari: Terminal

Topshiriq 9.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.

Topshiriq 9.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.

Topshiriq 9.3 — VS Code o'rnatish

  1. code.visualstudio.com da yuklang
  2. O'rnating
  3. Terminal'da tekshiring: code --version
  4. Foydali kengaytmalar o'rnating:
    • Prettier (kod formatlash)
    • GitLens (Git uchun)
    • Live Server (HTML uchun)
    • Markdown Preview Enhanced
    • vscode-icons

Screenshot Drive'ga.

Topshiriq 9.4 — Nano matn muharriri

Nano'da kichik fayl yarating:

bash
$ nano biografiya.md

Ichiga yozing:

markdown
# Biografiya

## Ism: [Ism]
## Yosh: [Yosh]
## Shahar: Toshkent

## Maqsadlar
1. ...
2. ...
3. ...

## Sevimli mashg'ulotlar
- ...
- ...
  • Ctrl + O — saqlash
  • Ctrl + X — chiqish

Drive'ga: biografiya.md

10-dars uy vazifalari: Git asoslari (GitHub'ga topshirish boshlanadi!)

Topshiriq 10.1 — Git setup va birinchi repo

Bu vazifani GitHub orqali topshiring!

  1. Local'da repo:

    bash
    $ mkdir 3-oy-uy-vazifalari
    $ cd 3-oy-uy-vazifalari
    $ git init
    $ git config --global user.name "Sizning ismingiz"
    $ git config --global user.email "sizning@email.com"
  2. Fayllarni yarating:

    • README.md (siz haqida)
    • dars-10-uy-vazifa.md (10-dars haqida)
    • .gitignore (oddiy)
  3. Har faylni alohida commit qiling:

    bash
    $ git add README.md
    $ git commit -m "docs: add README"
    
    $ git add dars-10-uy-vazifa.md
    $ git commit -m "docs: add dars 10 homework"
    
    $ git add .gitignore
    $ git commit -m "chore: add gitignore"
  4. git log --oneline natijasini dars-10-uy-vazifa.md ichiga yopishtiring.

  5. Yana commit:

    bash
    $ git add dars-10-uy-vazifa.md
    $ git commit -m "docs: add commit log to homework"

(GitHub'ga keyingi darsda push)

Topshiriq 10.2 — Conventional commits

Yangi repo: commit-mashq

10 ta turli commit yarating, har biri turli tur bilan:

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"

# 3. docs
$ echo "# Auth Module" > README.md
$ git add . && git commit -m "docs: add README"

# 4. style
$ echo "  // formatlangan" >> login.js
$ git add . && git commit -m "style: format login.js"

# 5. refactor
$ echo "// refactored" >> login.js
$ git add . && git commit -m "refactor: extract validation"

# 6. test
$ echo "test('login')" > login.test.js
$ git add . && git commit -m "test: add login tests"

# 7. chore
$ echo "node_modules" > .gitignore
$ git add . && git commit -m "chore: add gitignore"

# 8. perf
$ echo "// optimization" >> login.js
$ git add . && git commit -m "perf: optimize login flow"

# 9. ci
$ mkdir -p .github/workflows
$ echo "name: CI" > .github/workflows/ci.yml
$ git add . && git commit -m "ci: add GitHub Actions"

# 10. build
$ echo "version: 1.0" > package.json
$ git add . && git commit -m "build: add package.json"

git log --oneline natijasi'ni yangi commits.md faylga yopishtiring.

Topshiriq 10.3 — .gitignore mashqi

Yangi repo: gitignore-mashq

Yarating:

main.py
secret.env
config.json
temp.tmp
app.log
data.db
.DS_Store
node_modules/   (papka)
__pycache__/    (papka)

.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.

11-dars uy vazifalari: GitHub (GitHub'ga topshirish)

Topshiriq 11.1 — GitHub repo va push

  1. GitHub'da yangi repo: 3-oy-uy-vazifalari (Public)

  2. Local'dagi repo'ni bog'lang:

    bash
    $ git remote add origin https://github.com/USERNAME/3-oy-uy-vazifalari.git
    $ git branch -M main
    $ git push -u origin main
  3. README'ni chiroyli yarating (Markdown bilan)

  4. Hamma 10-dars vazifalarini ushbu repo ichida saqlang:

    • dars-10-uy-vazifa.md
    • commits.md
    • gitignore-test/ (papka)
  5. Commit va push.

Repo URL'ni o'qituvchiga email qiling.

Topshiriq 11.2 — Branch va Pull Request

bash
$ git checkout -b feature/dars-11
$ echo "# Dars 11 — GitHub" > dars-11.md
$ echo "## Mavzular:" >> dars-11.md
$ echo "- GitHub" >> dars-11.md
$ echo "- Branch" >> dars-11.md
$ echo "- Pull Request" >> dars-11.md

$ git add dars-11.md
$ git commit -m "feat: add dars 11 notes"
$ git push -u origin feature/dars-11

GitHub'da:

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

Screenshot Drive'ga.

Topshiriq 11.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 3-oy: CS asoslari
- Scratch, Git, GitHub

🎯 Maqsad: 6 oydan keyin Junior Developer bo'lish

📚 Loyihalarim:
- [3-oy-uy-vazifalari](https://github.com/USERNAME/3-oy-uy-vazifalari)
- [foundation-portfolio](https://github.com/USERNAME/foundation-portfolio)
- Scratch loyihalar — [profilim](https://scratch.mit.edu/users/USERNAME)

📫 Aloqa:
- Email: akmal@example.com
- Telefon: +998 90 ...

⚡ Qiziqarli fakt: ...

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

URL'ni Drive'ga yozing.

Topshiriq 11.4 — Fork va contribute

  1. Mashhur loyiha toping (masalan, EbookFoundation/free-programming-books)
  2. Star bering
  3. Fork qiling
  4. Local'ga clone qiling
  5. README'ni o'qing
  6. Tushuntirish daftarga yozing: bu loyiha nima haqida? Kim ishtirok etadi?

(Real PR keyinroq — hozir tushuntirish yetadi)

Topshiriq 11.5 — Daily commit (7 kun)

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

3-oy-uy-vazifalari repo'ga:

  • Kichik o'zgartirishlar
  • README'ga jumla qo'shish
  • Yangi izoh
  • Daftarga ham yozib boring

7 kun oxirida — yashil kalendar kvadratlari paydo bo'ladi.

Screenshot Drive'ga.

12-dars uy vazifalari: Imtihondan keyin

Topshiriq 12.1 — Refleksiya

Drive yangi Google Doc: 3-oy refleksiya

Yozing (har bo'lim 200-300 so'z):

  1. Eng yoqimli dars qaysi?
  2. Eng qiyin mavzu?
  3. Eng katta yutuq?
  4. Birinchi Scratch o'yiningiz haqida
  5. GitHub username va birinchi PR
  6. 4-oyga maqsadlar (3 ta)

Topshiriq 12.2 — Portfolio yangilash

GitHub'dagi profile README'ni yangilang:

  • 3-oy yakunlangani haqida
  • Yangi ko'nikmalar (Git, Scratch, terminal)
  • Loyihalar ro'yxati
  • Sertifikat (agar berilgan bo'lsa)

Push qilib, profilingizda yangiliklar ko'rinmoqdami?

Topshiriq 12.3 — 4-oyga tayyorgarlik

4-oyda C tili boshlanadi.

Tayyorgarlik:

  1. VS Code o'rnatilgan tekshiring

  2. C compiler o'rnatish:

    • Mac: clang --version — Xcode bilan keladi
    • Windows: MinGW-w64 (msys2.org orqali) yoki WSL ichida gcc
    • Linux: sudo apt install gcc
  3. Birinchi C dasturi sinab ko'ring:

    hello.c yarating:

    c
    #include <stdio.h>
    
    int main(void) {
        printf("Salom, dunyo!\n");
        return 0;
    }

    Kompilyatsiya va ishga tushirish:

    bash
    $ gcc hello.c -o hello
    $ ./hello
    Salom, dunyo!
  4. GitHub'da yangi repo: c-darslari yarating

Screenshot Drive'ga.

Topshiriq 12.4 — Foundation 3-oy yakuniy commit

GitHub repo'ngizga yakuniy commit:

bash
$ cd 3-oy-uy-vazifalari
$ echo "" >> README.md
$ echo "## 3-oy yakunlandi ✅" >> README.md
$ echo "Sana: $(date)" >> README.md

$ git add README.md
$ git commit -m "docs: 3-oy yakunlandi"
$ git push

GitHub'da yakuniy ko'rinish — chiroyli, to'liq, tartibli.

Hamma vazifalar shu repo ichida.

Topshirish va baholash

1-9 darslar (Drive)

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

10-12 darslar (GitHub!)

  • Repo: USERNAME/3-oy-uy-vazifalari
  • Public bo'lsin
  • README chiroyli
  • Conventional commits

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

3-oy yakunlandi! 🎉

Endi siz quyidagilarni bilasiz:

  • ✅ CS asoslari va algoritmik fikrlash
  • ✅ Binary va ma'lumot vakili
  • ✅ Pseudocode va Flowchart
  • ✅ Scratch'da o'yin yaratish
  • ✅ Terminal/Command Line
  • ✅ Git va GitHub

4-oydan boshlab — real dasturlash (C tili).

Yutuqlar tilab qolaman! 🚀

Master IT o'quv markazi — o'qitish rejasi