12-dars: Oylik imtihon (CS asoslari + Scratch + Git/GitHub)
Dars haqida
Davomiyligi: 90 daqiqa Format: Test + amaliy ish Maqsad: 3-oy davomida o'rganilgan barcha ko'nikmalarni baholash.
Imtihon tuzilmasi
| Qism | Vaqt | Ball |
|---|---|---|
| 1-qism: Test (CS asoslari + Git) | 25 daqiqa | 30 ball |
| 2-qism: Scratch loyihasi | 30 daqiqa | 35 ball |
| 3-qism: Git/GitHub amaliy | 35 daqiqa | 35 ball |
| Jami | 90 daqiqa | 100 ball |
O'tish chegarasi: 60 ball
1-qism: Test (30 ball)
20 ta savol, har biri 1.5 ball. Vaqt — 25 daqiqa.
CS asoslari (savol 1–5)
1. Algoritm nima?
- a) Dasturlash tili
- b) Muammoni yechishning ketma-ket qadamlari
- c) Kompyuter qurilmasi
- d) Tarjima dasturi
2. Decimal 13 binary'da qanday yoziladi?
- a) 1100
- b) 1101
- c) 1011
- d) 1110
3. Binary 1010 decimal'da qanday yoziladi?
- a) 5
- b) 10
- c) 12
- d) 15
4. ASCII jadvalida 'A' raqami nechta?
- a) 64
- b) 65
- c) 97
- d) 100
5. Binary search qachon ishlatiladi?
- a) Faqat raqamlar bilan
- b) Sortlangan ro'yxatda
- c) Faqat matnda
- d) Har doim
Pseudocode va Flowchart (savol 6–10)
6. Pseudocode nima?
- a) Real dastur kodi
- b) Dasturlash tilini o'rganish
- c) Algoritmni odam tilida yozish
- d) Foydalanuvchi interfeysi
7. Flowchart'da romb shakli nimani anglatadi?
- a) Boshlash
- b) Amal
- c) Shart
- d) Tugatish
8. Quyidagi pseudocode natijasi qanday?
SET x = 5
SET y = 3
IF x > y:
PRINT "Katta"
ELSE:
PRINT "Kichik"- a) Katta
- b) Kichik
- c) 5
- d) 8
9. AND va OR farqi?
- a) AND — ikkalasi rost, OR — kamida biri
- b) AND — kamida biri, OR — ikkalasi
- c) Farqi yo'q
- d) AND — son, OR — matn
10. Bubble Sort qaysi naqshga tegishli?
- a) Search
- b) Sort
- c) Filter
- d) Counting
Scratch (savol 11–15)
11. Scratch'da move 10 steps qaysi kategoriya?
- a) Looks
- b) Motion
- c) Control
- d) Events
12. forever blokining vazifasi:
- a) Bir marta ishlash
- b) Tugagunchaga qadar cheksiz takrorlash
- c) 10 marta takrorlash
- d) 1 sekund kutish
13. Sprite'ning kostyumini o'zgartirish:
- a) next costume
- b) next backdrop
- c) move costume
- d) change color
14. when 🟢 clicked qaysi kategoriya?
- a) Motion
- b) Looks
- c) Events
- d) Control
15. Variable yaratish uchun qaysi kategoriya?
- a) My Blocks
- b) Variables
- c) Operators
- d) Sensing
Terminal va Git (savol 16–20)
16. Terminal'da hozirgi papkani ko'rish:
- a)
pwd - b)
ls - c)
cd - d)
mkdir
17. git add . nima qiladi?
- a) Hammasini commit qiladi
- b) Hamma o'zgarishlarni staging'ga qo'yadi
- c) GitHub'ga yuklaydi
- d) Yangi branch yaratadi
18. Commit message qaysi konventsiyaga ko'ra:
- a)
asdf - b)
feat: add login form - c)
xato tuzatildi - d)
12345
19. GitHub'dagi repo'ni kompyuterga olish:
- a)
git push - b)
git pull - c)
git clone - d)
git fetch
20. Pull Request nimani anglatadi?
- a) Faylni o'chirish
- b) Branchdan main'ga qo'shish so'rovi
- c) Repo'ni nusxalash
- d) Bug yaratish
Test javoblari (o'qituvchi uchun)
1-b, 2-b, 3-b, 4-b, 5-b, 6-c, 7-c, 8-a, 9-a, 10-b, 11-b, 12-b, 13-a, 14-c, 15-b, 16-a, 17-b, 18-b, 19-c, 20-b
2-qism: Scratch loyihasi (35 ball)
Vaqt: 30 daqiqa
Vazifa: Tutib oluvchi o'yin (To'liq)
Maqsad: Quyidagi imkoniyatlari bilan to'liq o'yin yarating:
Talab qilingan elementlar
3 ta sprite (5 ball)
- Savat (asosiy o'yinchi)
- Olma (yuqoridan tushuvchi)
- Tosh (yuqoridan tushuvchi — yomon)
Savatni boshqarish (5 ball)
- Strelka klavishlar (chap-o'ng)
- Smooth harakat
- Ekrandan chiqib ketmasin
Olma va Tosh harakati (5 ball)
- Clone'lar yordamida
- Tasodifiy joydan tushish
- Pastga sekin tushish
Variables (8 ball)
score— balllives— hayotlar (3 ta)time— vaqt (30 sekund)- Stage'da ko'rsatish
Tegishish (collision) (5 ball)
- Olma + Savat: score +1, olma o'chadi
- Tosh + Savat: lives -1, tosh o'chadi
- Pastga tushib ketsa: olma — bekor, tosh — bekor
O'yin tugashi (4 ball)
- lives = 0 yoki time = 0 → game over
- Final score ko'rsatish
- "Yutdingiz!" yoki "Yiqildingiz!"
Tovush (3 ball)
- Olma tutilganda — ovoz
- Hayot yo'qotilganda — ovoz
- Game over — ovoz
Saqlash va Share
- Scratch'da Save now (saqlash)
- Loyiha nomi:
imtihon-tutib-oluvchi - Share qiling (yuqoridagi tugma)
- Project URL'ini Drive'ga yoki email orqali jo'nating
Baholash mezonlari
| Mezon | Ball |
|---|---|
| 3 ta sprite | 5 |
| Savat boshqaruvi | 5 |
| Olma + Tosh clone | 5 |
| 3 ta variable to'g'ri ishlatish | 8 |
| Collision detection | 5 |
| Game over mantig'i | 4 |
| Tovush effektlari | 3 |
| Jami | 35 |
3-qism: Git/GitHub amaliy (35 ball)
Vaqt: 35 daqiqa
Vazifa: To'liq Git/GitHub workflow
1. Setup (3 ball)
$ git config --global user.name "Sizning ismingiz"
$ git config --global user.email "sizning@email.com"Tekshiring:
$ git config --global --list2. Local repo yaratish (5 ball)
$ cd ~/Documents
$ mkdir imtihon-loyihasi
$ cd imtihon-loyihasi
$ git initQuyidagi fayllarni yarating:
README.md:
# Imtihon loyihasi
## Talaba
[Sizning ismingiz va familiyangiz]
## Foundation 3-oy
Bu loyiha 3-oy imtihoni uchun yaratilgan.
## Mavzular
- CS asoslari
- Scratch
- Git va GitHub
- Terminalabout.md:
# Men haqimda
Men [Ism Familiya], Foundation 3-oy talabasi.
## Yutuqlar
- Word, Excel — to'liq
- AI vositalar — to'liq
- Scratch — birinchi o'yin yaratdim
- Git/GitHub — boshlang'ich daraja
## Maqsad
6 oy ichida dasturchi bo'lish..gitignore:
.DS_Store
*.tmp
*.log3. Commit'lar (7 ball)
Har faylni alohida commit qiling:
$ git add README.md
$ git commit -m "docs: add README"
$ git add about.md
$ git commit -m "docs: add about page"
$ git add .gitignore
$ git commit -m "chore: add gitignore"4. GitHub repo va push (8 ball)
GitHub'da yangi repo yarating:
imtihon-loyihasi(Public, README'siz!)Local repo bilan bog'lang:
bash$ git remote add origin https://github.com/USERNAME/imtihon-loyihasi.git $ git branch -M main $ git push -u origin main
5. Branch va o'zgarish (5 ball)
$ git checkout -b feature/skills
$ echo "## Ko'nikmalarim" > skills.md
$ echo "" >> skills.md
$ echo "### Office" >> skills.md
$ echo "- Microsoft Word" >> skills.md
$ echo "- Microsoft Excel" >> skills.md
$ echo "- Microsoft PowerPoint" >> skills.md
$ echo "" >> skills.md
$ echo "### AI" >> skills.md
$ echo "- ChatGPT" >> skills.md
$ echo "- Claude" >> skills.md
$ echo "- Canva AI" >> skills.md
$ echo "" >> skills.md
$ echo "### CS asoslari" >> skills.md
$ echo "- Scratch" >> skills.md
$ echo "- Git/GitHub" >> skills.md
$ echo "- Terminal" >> skills.md
$ git add skills.md
$ git commit -m "feat: add skills list"
$ git push -u origin feature/skills6. Pull Request (4 ball)
- GitHub'da repo sahifasi
- Compare & pull request tugmasini bosing
- Sarlavha:
feat: add skills list - Tavsif:
Bu PR — `skills.md` faylini qo'shadi. ## O'zgarishlar - Yangi fayl: skills.md - Office, AI va CS bo'yicha ko'nikmalar - Create pull request
- Merge pull request (o'zingiz merge qiling)
7. Local'ga pull (3 ball)
$ git checkout main
$ git pull
$ ls
# README.md, about.md, .gitignore, skills.md bor bo'lishi kerak
$ git log --oneline
# 4-5 ta commit ko'rinishi kerakTopshirish
GitHub repo URL'ini email orqali o'qituvchiga jo'nating:
- Subject:
3-oy imtihon — [Ism Familiya] - Body: repo URL + Scratch loyiha URL
- Subject:
Drive'ga screenshot'lar:
- GitHub repo bosh sahifasi
- Commits ro'yxati (4+ commit)
- Pull Request (Merged holatda)
- Scratch loyiha
Baholash mezonlari
| Mezon | Ball |
|---|---|
| Git setup to'g'ri | 3 |
| Repo init va fayllar | 5 |
| Conventional commits (alohida) | 7 |
| GitHub repo va push | 8 |
| Branch va o'zgarish | 5 |
| Pull Request | 4 |
| Local pull va sync | 3 |
| Jami | 35 |
Imtihondan oldin tayyorgarlik
Tavsiyalar
- Yaxshi uxlang — 7+ soat
- Internet barqaror bo'lsin
- Akkauntlar tekshiring (Scratch, GitHub)
- Git o'rnatilganini tekshiring (
git --version) - Vaqtni boshqaring:
- Test: 25 daqiqa
- Scratch: 30 daqiqa
- Git/GitHub: 35 daqiqa
Imtihondan keyin
Natijalar
- 90+ — A+, ajoyib
- 80–89 — A, juda yaxshi
- 70–79 — B, yaxshi
- 60–69 — C, o'tdi
- < 60 — F, qayta topshirish
Qayta topshirish
60'dan past — 1 hafta ichida.
4-oyga tayyorgarlik
4-oydan boshlab — real dasturlash. C tili o'rganiladi.
Tayyorgarlik
- VS Code o'rnatilganini tekshiring
- C compiler o'rnatish:
- Windows:
MinGWyokiWSL - Mac: Terminal'da
clang --version(Xcode bilan keladi) - Linux:
sudo apt install gcc
- Windows:
- Daftar va ruchka — qog'ozda algoritm yozish
- GitHub'da
c-darslarirepo yarating — kelajakdagi vazifalar uchun
4-oyda nima bo'ladi?
| Oy | Mavzu |
|---|---|
| 4 | C — sintaksis, sikllar, funksiyalar |
| 5 | C — massiv, string, algoritmlar |
| 6 | Python va yakuniy loyiha |
C'da:
Hello, World!chiqarish- O'zgaruvchilar va turlar
- if, for, while
- Funksiya
- Massiv
Bularning hammasi siz Scratch'da ko'rgan tushunchalar — faqat tekst formati bilan.
Refleksiya
3-oy yakunlangandan keyin — Drive'da Google Doc:
3-oy refleksiya
1. Eng yoqimli dars: ___
2. Eng qiyin mavzu: ___
3. Eng katta yutuq: ___
4. Birinchi marta yaratgan Scratch loyiha: ___
5. GitHub username: ___
6. Birinchi public repo: ___
7. 4-oyga maqsadlar:
- ___
- ___
- ___Drive havolasini o'qituvchiga jo'nating.
Aloqa
Imtihon vaqtida muammo bo'lsa — darrov o'qituvchini chaqiring.
Yutuqlar tilab qolaman! Endi real dasturlash boshlanadi. 🚀