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):
- Ovqat pishirish (sevimli taom)
- Maktab/ish'ga borish
- Mashina yuvish
- Telefon sotib olish (qidiruv → tanlov → to'lov)
- Internet'dan dastur o'rnatish
- Soch turmaklash
- Hayotda yangi do'st topish
Drive'ga: 1-algoritm.docx
Topshiriq 1.2 — Linear va Binary Search
Pseudocode yozing:
- Linear Search — sortlanmagan 1000 ta raqamdan biror son qidirish
- 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:
- 15
- 32
- 64
- 100
- 200
- 255
- 500
- 1024
Binary → Decimal:
- 1100
- 10101
- 11111111
- 100000000
- 110011
Har birini qadam-baqadam yozing.
Topshiriq 2.2 — ASCII jadval
Sizning to'liq ismingiz (Ism + Familiya) har harfini:
| Harf | ASCII | Binary | Hex |
|---|---|---|---|
| A | 65 | 01000001 | 41 |
| K | 75 | 01001011 | 4B |
| ... | ... | ... | ... |
Bo'shliqlar va kichik harflar uchun ham.
Topshiriq 2.3 — Fayl hajmi
Hisoblang va daftarga yozing:
- 3000 belgili matn — necha byte?
- 20 sahifali kitob (har sahifada 2500 belgi) — necha KB?
- 5 ta rasm 4K (3840×2160) siqilmagan — necha MB?
- 2 soat HD video siqilgan — necha GB (taxmin)?
- 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:
- Eng katta uch ta raqamni topish
- Toq raqamlarning yig'indisi
- Ro'yxatning har bir elementini 2 ga ko'paytirish
- Matn ichidan unli harflar sonini sanash
- 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:
- Spam email aniqlash (o'z qoidalaringiz)
- Talabalar reytingini hisoblash (5 ta fan asosida)
- Yandex maps yo'l ko'rsatkichi (oddiy versiya)
- 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:
- ATM operatsiyasi (kart, pin, pul olish)
- Online buyurtma (mahsulot tanlash → savat → to'lov → yetkazib berish)
- Yangi xodimni ishga olish (rezyume → suhbat → test → qaror)
- Auto-payment (har oy avtomatik to'lov)
- 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:
- Yoshim 18-30 oralig'ida VA o'qish bor
- Toshkentlik YOKI Samarqandlik
- Hafta oxiri EMAS VA soat 9-17
- ...
Drive'da: 2-boolean.docx
Topshiriq 4.3 — Mermaid flowchart
Markdown fayl yarating, 3 ta Mermaid flowchart chizing:
# 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
scratch.mit.eduga akkaunt yarating- Profil — chiroyli rasm va bio
- 5 ta Featured loyihani Favorite qiling
- 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):
- Yashil bayroq bosilganda salom beradi
- Ismingiz, yoshingiz, kasbingizni aytadi
- Sevimli qiziqishingizni aytadi
- 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):
- Mushuk
- Bird (qush)
- Dog (it)
- Owl (boyqush)
- Cat 2
Har biri 3 jumla aytadi. Vaqtni to'g'ri sozlang.
Saqlang: 2-suhbat. Share.
Topshiriq 5.4 — Animatsiya: Tabiat
4 sahnali animatsiya:
- Ertalab — quyosh ko'tarilmoqda
- Tushlik — quyosh tepada
- Kechqurun — quyosh botayotgan
- 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.
- Bir sprite — strelkalar bilan
- Boshqa sprite — sichqonchaga ergashadi (point towards mouse + move)
- 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):
- Sprite 1: "Boshla" xabarini yuboradi
- Sprite 2: "Boshla" oladi → harakat qiladi → "O'rta" xabarini yuboradi
- Sprite 3: "O'rta" oladi → harakat qiladi → "Oxirga" xabarini yuboradi
- 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:
- Kvadrat
- Uchburchak
- Beshburchak
- Olti burchak
- 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:
- Oddiy spiral (yuqorida berilgan)
- Geometrik (kvadratlar bilan)
- 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:
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. clearHar buyruq natijasi yoki sharhi daftarga.
Topshiriq 9.2 — Foundation papka tuzilmasi
Terminal orqali butun Foundation papka tuzilmasini yarating:
$ 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 -RBu — bash script uslubidagi yondashuv.
Drive'ga: ls -R Foundation natijasini yozing.
Topshiriq 9.3 — VS Code o'rnatish
code.visualstudio.comda yuklang- O'rnating
- Terminal'da tekshiring:
code --version - 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:
$ nano biografiya.mdIchiga yozing:
# 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!
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"Fayllarni yarating:
README.md(siz haqida)dars-10-uy-vazifa.md(10-dars haqida).gitignore(oddiy)
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"git log --onelinenatijasinidars-10-uy-vazifa.mdichiga yopishtiring.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:
# 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
GitHub'da yangi repo:
3-oy-uy-vazifalari(Public)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 mainREADME'ni chiroyli yarating (Markdown bilan)
Hamma 10-dars vazifalarini ushbu repo ichida saqlang:
dars-10-uy-vazifa.mdcommits.mdgitignore-test/(papka)
Commit va push.
Repo URL'ni o'qituvchiga email qiling.
Topshiriq 11.2 — Branch va Pull Request
$ 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-11GitHub'da:
- Compare & pull request
- Sarlavha:
feat: add dars 11 notes - Tavsif: 3 jumla
- Create pull request
- Merge pull request
Screenshot Drive'ga.
Topshiriq 11.3 — Profile README
O'zingizning GitHub profile README:
- Yangi repo:
USERNAME/USERNAME(sizning username bilan) - README qo'shing
- Markdown bilan chiroyli yozing:
### 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
- Mashhur loyiha toping (masalan,
EbookFoundation/free-programming-books) - Star bering
- Fork qiling
- Local'ga clone qiling
- README'ni o'qing
- 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):
- Eng yoqimli dars qaysi?
- Eng qiyin mavzu?
- Eng katta yutuq?
- Birinchi Scratch o'yiningiz haqida
- GitHub username va birinchi PR
- 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:
VS Code o'rnatilgan tekshiring
C compiler o'rnatish:
- Mac:
clang --version— Xcode bilan keladi - Windows: MinGW-w64 (
msys2.orgorqali) yoki WSL ichidagcc - Linux:
sudo apt install gcc
- Mac:
Birinchi C dasturi sinab ko'ring:
hello.cyarating: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!GitHub'da yangi repo:
c-darslariyarating
Screenshot Drive'ga.
Topshiriq 12.4 — Foundation 3-oy yakuniy commit
GitHub repo'ngizga yakuniy commit:
$ 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 pushGitHub'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
| Mezon | Ball |
|---|---|
| To'liq bajarilgan | 50 |
| O'z vaqtida | 20 |
| Tartibli (papka, fayl, commit) | 15 |
| Conventional commits | 10 |
| Kreativlik | 5 |
| Jami | 100 |
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! 🚀