Tampilan
Python Start dan Python Pro
Halaman ini membantu tutor menjawab empat hal sebelum mengajar: Group ini berada di jalur apa, module apa yang sedang berjalan, produk apa yang sedang dibuat, dan kemampuan apa yang harus sudah terlihat.
Python Start dan Python Pro sama-sama mengajarkan Python melalui task dan project. Python Start pada materi ditujukan bagi Student usia 12–13 tahun; Python Pro bagi usia 14–16 tahun dengan pace lebih cepat dan task yang lebih kompleks. Keduanya bukan program persiapan olimpiade.
Periksa versi Group
Course plan memiliki versi pendek dan penuh. Jangan menyimpulkan module hanya dari nomor Lesson. Cocokkan nama kursus, study year, jumlah Lesson, dan module dengan Back Office serta methodological guidelines.
Status checkpoint
Nama module, jumlah Lesson, topic, learning results, dan project berasal dari course plan. Kolom pemeriksaan tutor merupakan Recommended Practice yang dirumuskan dari learning results tersebut; kolom ini membantu observasi dan bukan kebijakan kelulusan tambahan.
Temukan posisi Group
Sebelum menyiapkan kelas, catat:
- [ ] Python Start atau Pro
- [ ] First year atau Second year
- [ ] Versi jumlah Lesson yang ditugaskan
- [ ] Nama module dan project aktif
- [ ] Environment yang dipakai: platform/Laboratory atau AlgoVSC
- [ ] Library dan file awal yang diminta Lesson
Perbedaan versi memengaruhi module. Contohnya, Python Start Year 1 versi penuh memiliki module PyGame, sedangkan versi pendek berhenti setelah OOP. Python Pro juga memiliki module yang dihilangkan pada versi pendek.
Python Start — First Year
Course plan penuh berisi 31 Lesson + graduation; versi pendek berisi 23 Lesson + graduation. Versi pendek tidak memuat Module 6 PyGame.
| Module | Lesson | Materi yang benar-benar dipelajari | Produk/bukti akhir | Pemeriksaan tutor (Recommended Practice) |
|---|---|---|---|---|
| 1. Language basics | 4 | print(), input(), variable, number, string, conversion, operasi string, nested constructs | Learning tasks dan kontrak cerita sebagai junior developer | Student menerima input, menyimpan nilai, memilih tipe data, dan menghasilkan output dengan format benar. |
| 2. Control structures | 5 | Boolean, if, multi-branch/nested condition, while, for, gabungan condition dan loop | Programming hackathon | Student membaca flowchart dan memilih condition/loop untuk menyelesaikan masalah, bukan sekadar menyalin pola. |
| 3. Functions and modules | 4 | def, local/global scope, function memanggil function, standard library, membuat module | Software module mandiri | Student memecah solusi menjadi function, memakai parameter/hasil sesuai task, dan menjelaskan scope. |
| 4. Turtle and maths | 4 | Executor, coordinate, pixel, degree, shape, loop, color/fill | Creative graphic project | Student menghubungkan perintah gerak dengan hasil geometris dan memakai loop untuk pola berulang. |
| 5. OOP | 6 | Object, field, method, class, constructor, event mouse/keyboard, inheritance | Interactive platform game | Student dapat menunjukkan data dan behavior milik object serta membuat class/child class sesuai task. |
| 6. PyGame basics | 8 | Sprite, game loop, list of sprites, events, physics, OOP, testing dan presentation | Game seperti Labyrinth, Electric Circuit, atau Synthesizer | Game menjalankan event–update–draw, input bekerja, sprites tersimpan/diolah, dan Student dapat menjelaskan alurnya. |
Graduation merangkum topik Module 1–5 melalui test, debugging, programming task, dan presentation. Kelulusan tidak boleh dinilai hanya dari game yang dapat dibuka.
Python Start — Second Year
Course plan yang tersedia berisi 31 Lesson + final Lesson.
| Module | Lesson | Materi dan project | Pemeriksaan tutor (Recommended Practice) |
|---|---|---|---|
| 1. Data structures | 4 | List, dictionary, nested structures, try...except | Student memilih list/dictionary berdasarkan bentuk data, membaca nested data, dan menangani input yang tidak valid. |
| 2. PyQt5 applications | 6 | Window, text, button, checkbox, toggle, list, menu, layout; project Memory Card | UI tersusun dengan layout, event dari widget bekerja, dan Student dapat menjelaskan hubungan widget dengan logic. |
| 3. Text and JSON files | 4 | Read/write text dan JSON; project Smart Notes dengan tag/search | Data tetap tersedia setelah aplikasi ditutup, dapat dibaca kembali, dan tampil pada widget yang sesuai. |
| 4. Automatic image processing | 4 | PIL: resize, crop/reposition, brightness, color, contrast, batch processing; project Save Your Photos | Student memproses sekumpulan file dengan aturan yang sama dan dapat menunjukkan input–transformasi–output. |
| 5. Advanced PyGame | 8 | Sprite attributes, physics, internal/external events, NPC, background, music, reusable OOP library | Dua game dari genre berbeda |
| 6. Developer portfolio | 5 | Mind map, prototype, product, testing, revision, presentation | Developer portfolio |
Python Pro — First Year
Versi penuh berisi 31 Lesson + graduation. Course plan juga menyebut versi 26 dan 20 Lesson. Module 6 tidak dijalankan pada versi 26/20; Module 7 dan graduation tidak dijalankan pada versi 20.
| Module | Lesson | Materi dan project | Pemeriksaan tutor (Recommended Practice) |
|---|---|---|---|
| 1. Data types | 4 | Input/output, variables, strings, problem-solving workshop | Student mengubah problem statement menjadi input–process–output dan menulis program dasar tanpa solusi siap salin. |
| 2. Algorithms | 4 | Conditions, nested conditions, loops, Boolean logic; Chatbot | Percakapan chatbot bercabang sesuai kondisi dan loop dipakai pada kebutuhan berulang. |
| 3. Code organization | 4 | Functions, return, debugger, scope, modules; team hackathon Advanced Training | Student memecah program, memeriksa variable lewat debugger, dan menghubungkan beberapa module. |
| 4. Data structures | 4 | List, tuple, dictionary, set, nested structures; Employee Data Storage System | Struktur data dipilih karena kebutuhan akses/keunikan/urutan, bukan secara acak. |
| 5. OOP | 4 | Class, constructor, inheritance; Knight and Dragon dan Fast Clicker | Student dapat menelusuri perubahan state object dan menjelaskan fungsi inheritance pada project. |
| 6. 2D games | 6 | PyGame di development environment, class, sprite groups, collision, testing, .exe; Labyrinth | Collision dan input bekerja, code memakai class, project diuji, serta executable dapat dibuat pada environment yang didukung. |
| 7. Desktop applications | 5 | PyQt5, layouts, widgets, UI, GitHub/team development; group desktop app | Kontribusi tiap Student dapat ditunjukkan, UI menjalankan logic, dan team melakukan testing. |
Python Pro — Second Year
Versi penuh berisi 31 Lesson + final Lesson. Versi pendek 28/26/20 menghilangkan module tertentu; course plan secara khusus menandai Machine Learning tidak ada pada versi 28/20 dan 3D Games tidak ada pada versi 26/20.
| Module | Lesson | Materi dan project | Pemeriksaan tutor (Recommended Practice) |
|---|---|---|---|
| 1. Review | 2 | Algorithms, data structures, functions, OOP, variable arguments | Student mampu memperbaiki kelemahan dasar sebelum library baru diperkenalkan. |
| 2. Mobile applications | 4 | Kivy, screens/widgets, events, animation, MVP, testing; mobile Ruffier Test | Navigation dan event bekerja; Student dapat menjelaskan apa yang diuji oleh MVP. |
| 3. Data analysis | 6 | Pandas, filtering, grouping, cleaning, missing values, feature engineering, plots, pitch | Analisis memakai data yang dibersihkan, visual mendukung kesimpulan, dan Student dapat menjelaskan keterbatasan data. |
| 4. Machine learning | 4 | KNN classification, training/testing sets, A/B testing; Titanic dan client classification | Student memisahkan train/test, menjalankan classification, dan tidak menyebut prediction sebagai kepastian. |
| 5. 3D games | 6 | Panda3D, model, map, camera, terrain, events; Minecraft Light | Student dapat menempatkan model, menggerakkan camera sesuai terrain, dan menangani event. |
| 6. Web development | 8 | HTML, CSS, Flask, SQLite/SQL, linked tables, sessions, forms, templates | Multi-user online quiz menyimpan data, membedakan user melalui session, dan memproses form. |
| 7. My career in IT | 2 | Profesi, komunitas, pekerjaan/startup, development plan | Presentation mengubah keinginan menjadi goal, langkah, dan tindakan yang dapat dilakukan. |
Cara menjalankan satu Lesson
- Tentukan dependency. Sebutkan kemampuan sebelumnya yang dibutuhkan oleh task hari ini.
- Tunjukkan masalah, bukan jawaban lengkap. Pastikan Student memahami input, hasil, dan constraint.
- Minta rencana singkat. Pecah program menjadi data, langkah, function/class, dan pengujian.
- Biarkan Student menulis bagian pertama. Gunakan pertanyaan saat ia macet; hindari memberikan code final.
- Jalankan dan baca error. Pisahkan syntax error, logic error, format output, dan masalah environment.
- Uji lebih dari happy path. Pakai input batas, data kosong/tidak valid bila topiknya relevan, atau event berulang pada aplikasi/game.
- Tutup dengan bukti. Student menjelaskan satu keputusan code, satu bug, dan cara memperbaikinya.
Ketika task gagal di auto-review
Materi lama menyebut banyak task memakai auto-review. Validator dapat memeriksa output, variable, construct, nama function, parameter, nesting, atau batas baris.
- Jalankan code pada contoh dan input lain.
- Cocokkan output, termasuk spasi dan tanda baca.
- Hapus
print()tambahan. - Periksa format input satu baris/beberapa baris.
- Periksa construct yang diwajibkan/dilarang.
- Periksa nama function, parameter, nesting, dan batas baris.
- Jika requirement sudah dipenuhi, simpan screenshot, code, input, output, Lesson, dan Group untuk laporan bug.
Diagnosis cepat
| Gejala | Periksa | Tindakan tutor |
|---|---|---|
| Student paham syntax tetapi tidak mulai | Problem statement dan decomposition | Minta tulis input, output, lalu satu langkah terkecil. |
| Code berjalan hanya pada contoh | Test coverage | Berikan kasus berbeda atau batas; minta prediksi sebelum run. |
| Project terbuka tetapi Student tak bisa menjelaskan | Ownership | Minta telusuri event/data dari awal sampai output dan ubah satu requirement. |
| Terus meminta contoh jadi | Transfer pemahaman | Analisis contoh kecil yang berbeda, lalu kembalikan keputusan ke Student. |
| Diam dan tidak bergerak | Titik macet | Minta tunjukkan percobaan terakhir, error, dan hal yang sudah dipahami. |
| Library/environment gagal | Instalasi, file awal, versi, path | Pisahkan bug code dari setup; dokumentasikan fakta sebelum eskalasi. |
Batas penerapan
Course plan yang tersimpan berasal dari musim 2020/2021 dan 2021/2022. Nama library, versi, installer, serta susunan Group Malaysia saat ini harus dicocokkan dengan Lesson aktif. Peta di atas menjelaskan isi sumber dan tidak menjamin seluruh module tersedia pada setiap Group.
Rujukan asli halaman ini
4_python/Lesson 1/1_Overview/2_.md,4_.md,5_.md, dan6_.md4_python/Lesson 1/2_Starter/3_.mddan5_.md4_python/Lesson 1/3_Specifics-of-python-teaching-methodologies/1_.mdsampai3_.md4_python/Lesson 1/4_Key-skills-and-tools for their achievements/1_.mddan2_.md4_python/Lesson 1/5_Meassurement of result and progress/3_.mdsampai5_.md4_python/Lesson 1/6_Tools/1_.mdsampai3_.mdexternal-course-plans/python-start-year-1.txtexternal-course-plans/python-start-year-2.txtexternal-course-plans/python-pro-year-1.txtexternal-course-plans/python-pro-year-2.txt