Skip to content

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.

ModuleLessonMateri yang benar-benar dipelajariProduk/bukti akhirPemeriksaan tutor (Recommended Practice)
1. Language basics4print(), input(), variable, number, string, conversion, operasi string, nested constructsLearning tasks dan kontrak cerita sebagai junior developerStudent menerima input, menyimpan nilai, memilih tipe data, dan menghasilkan output dengan format benar.
2. Control structures5Boolean, if, multi-branch/nested condition, while, for, gabungan condition dan loopProgramming hackathonStudent membaca flowchart dan memilih condition/loop untuk menyelesaikan masalah, bukan sekadar menyalin pola.
3. Functions and modules4def, local/global scope, function memanggil function, standard library, membuat moduleSoftware module mandiriStudent memecah solusi menjadi function, memakai parameter/hasil sesuai task, dan menjelaskan scope.
4. Turtle and maths4Executor, coordinate, pixel, degree, shape, loop, color/fillCreative graphic projectStudent menghubungkan perintah gerak dengan hasil geometris dan memakai loop untuk pola berulang.
5. OOP6Object, field, method, class, constructor, event mouse/keyboard, inheritanceInteractive platform gameStudent dapat menunjukkan data dan behavior milik object serta membuat class/child class sesuai task.
6. PyGame basics8Sprite, game loop, list of sprites, events, physics, OOP, testing dan presentationGame seperti Labyrinth, Electric Circuit, atau SynthesizerGame 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.

ModuleLessonMateri dan projectPemeriksaan tutor (Recommended Practice)
1. Data structures4List, dictionary, nested structures, try...exceptStudent memilih list/dictionary berdasarkan bentuk data, membaca nested data, dan menangani input yang tidak valid.
2. PyQt5 applications6Window, text, button, checkbox, toggle, list, menu, layout; project Memory CardUI tersusun dengan layout, event dari widget bekerja, dan Student dapat menjelaskan hubungan widget dengan logic.
3. Text and JSON files4Read/write text dan JSON; project Smart Notes dengan tag/searchData tetap tersedia setelah aplikasi ditutup, dapat dibaca kembali, dan tampil pada widget yang sesuai.
4. Automatic image processing4PIL: resize, crop/reposition, brightness, color, contrast, batch processing; project Save Your PhotosStudent memproses sekumpulan file dengan aturan yang sama dan dapat menunjukkan input–transformasi–output.
5. Advanced PyGame8Sprite attributes, physics, internal/external events, NPC, background, music, reusable OOP libraryDua game dari genre berbeda
6. Developer portfolio5Mind map, prototype, product, testing, revision, presentationDeveloper 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.

ModuleLessonMateri dan projectPemeriksaan tutor (Recommended Practice)
1. Data types4Input/output, variables, strings, problem-solving workshopStudent mengubah problem statement menjadi input–process–output dan menulis program dasar tanpa solusi siap salin.
2. Algorithms4Conditions, nested conditions, loops, Boolean logic; ChatbotPercakapan chatbot bercabang sesuai kondisi dan loop dipakai pada kebutuhan berulang.
3. Code organization4Functions, return, debugger, scope, modules; team hackathon Advanced TrainingStudent memecah program, memeriksa variable lewat debugger, dan menghubungkan beberapa module.
4. Data structures4List, tuple, dictionary, set, nested structures; Employee Data Storage SystemStruktur data dipilih karena kebutuhan akses/keunikan/urutan, bukan secara acak.
5. OOP4Class, constructor, inheritance; Knight and Dragon dan Fast ClickerStudent dapat menelusuri perubahan state object dan menjelaskan fungsi inheritance pada project.
6. 2D games6PyGame di development environment, class, sprite groups, collision, testing, .exe; LabyrinthCollision dan input bekerja, code memakai class, project diuji, serta executable dapat dibuat pada environment yang didukung.
7. Desktop applications5PyQt5, layouts, widgets, UI, GitHub/team development; group desktop appKontribusi 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.

ModuleLessonMateri dan projectPemeriksaan tutor (Recommended Practice)
1. Review2Algorithms, data structures, functions, OOP, variable argumentsStudent mampu memperbaiki kelemahan dasar sebelum library baru diperkenalkan.
2. Mobile applications4Kivy, screens/widgets, events, animation, MVP, testing; mobile Ruffier TestNavigation dan event bekerja; Student dapat menjelaskan apa yang diuji oleh MVP.
3. Data analysis6Pandas, filtering, grouping, cleaning, missing values, feature engineering, plots, pitchAnalisis memakai data yang dibersihkan, visual mendukung kesimpulan, dan Student dapat menjelaskan keterbatasan data.
4. Machine learning4KNN classification, training/testing sets, A/B testing; Titanic dan client classificationStudent memisahkan train/test, menjalankan classification, dan tidak menyebut prediction sebagai kepastian.
5. 3D games6Panda3D, model, map, camera, terrain, events; Minecraft LightStudent dapat menempatkan model, menggerakkan camera sesuai terrain, dan menangani event.
6. Web development8HTML, CSS, Flask, SQLite/SQL, linked tables, sessions, forms, templatesMulti-user online quiz menyimpan data, membedakan user melalui session, dan memproses form.
7. My career in IT2Profesi, komunitas, pekerjaan/startup, development planPresentation mengubah keinginan menjadi goal, langkah, dan tindakan yang dapat dilakukan.

Cara menjalankan satu Lesson ​

  1. Tentukan dependency. Sebutkan kemampuan sebelumnya yang dibutuhkan oleh task hari ini.
  2. Tunjukkan masalah, bukan jawaban lengkap. Pastikan Student memahami input, hasil, dan constraint.
  3. Minta rencana singkat. Pecah program menjadi data, langkah, function/class, dan pengujian.
  4. Biarkan Student menulis bagian pertama. Gunakan pertanyaan saat ia macet; hindari memberikan code final.
  5. Jalankan dan baca error. Pisahkan syntax error, logic error, format output, dan masalah environment.
  6. Uji lebih dari happy path. Pakai input batas, data kosong/tidak valid bila topiknya relevan, atau event berulang pada aplikasi/game.
  7. 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.

  1. Jalankan code pada contoh dan input lain.
  2. Cocokkan output, termasuk spasi dan tanda baca.
  3. Hapus print() tambahan.
  4. Periksa format input satu baris/beberapa baris.
  5. Periksa construct yang diwajibkan/dilarang.
  6. Periksa nama function, parameter, nesting, dan batas baris.
  7. Jika requirement sudah dipenuhi, simpan screenshot, code, input, output, Lesson, dan Group untuk laporan bug.

Diagnosis cepat ​

GejalaPeriksaTindakan tutor
Student paham syntax tetapi tidak mulaiProblem statement dan decompositionMinta tulis input, output, lalu satu langkah terkecil.
Code berjalan hanya pada contohTest coverageBerikan kasus berbeda atau batas; minta prediksi sebelum run.
Project terbuka tetapi Student tak bisa menjelaskanOwnershipMinta telusuri event/data dari awal sampai output dan ubah satu requirement.
Terus meminta contoh jadiTransfer pemahamanAnalisis contoh kecil yang berbeda, lalu kembalikan keputusan ke Student.
Diam dan tidak bergerakTitik macetMinta tunjukkan percobaan terakhir, error, dan hal yang sudah dipahami.
Library/environment gagalInstalasi, file awal, versi, pathPisahkan 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, dan 6_.md
  • 4_python/Lesson 1/2_Starter/3_.md dan 5_.md
  • 4_python/Lesson 1/3_Specifics-of-python-teaching-methodologies/1_.md sampai 3_.md
  • 4_python/Lesson 1/4_Key-skills-and-tools for their achievements/1_.md dan 2_.md
  • 4_python/Lesson 1/5_Meassurement of result and progress/3_.md sampai 5_.md
  • 4_python/Lesson 1/6_Tools/1_.md sampai 3_.md
  • external-course-plans/python-start-year-1.txt
  • external-course-plans/python-start-year-2.txt
  • external-course-plans/python-pro-year-1.txt
  • external-course-plans/python-pro-year-2.txt

Dokumentasi kerja pribadi. Verifikasi perubahan kebijakan dengan tim Algonova.