Designed and delivered by Chuan-Chi Hsu & Ju-Ying (NTU Information Management Service Team Outreach Program in April 2025)
This project was developed as part of NTU's educational outreach to 順安國中. The target audience was junior high students (grades 7–9) with zero prior coding experience. The "Advanced Programming" session was the third in a curriculum sequence. By the time students reached this module, they had already been introduced to basic concepts such as variables, conditionals, loops, and lists in the first two sessions.
This teaching initiative aligns with Microsoft TAI core responsibilities:
- Understanding users’ technical background and constraints
- Designing solutions and workflows (lesson plans, auto-setup notebooks)
- Delivering Proof-of-Concept (PoC)-like content (hands-on Jupyter notebooks + live demo)
- Ensuring knowledge transfer to non-technical stakeholders (students)
| Component | Description |
|---|---|
進階程式設計.pdf |
Teaching slide deck covering list, loops, nested loops, sorting, conditional logic, and applied challenges |
進階程式設計_學生版.ipynb |
Blank student notebook mirroring the slide deck with code templates and prompts |
進階程式設計_教師版.ipynb |
Teacher’s annotated version with complete code and pedagogical notes |
init.ipynb |
Initialization script for importing packages, configuring the environment, and streamlining setup |
競賽_競賽版.ipynb |
Self-contained in-class contest with 9 coding problems (ICPC-inspired) |
競賽_解答版.ipynb |
Fully worked solution notebook for grading and walkthrough |
A major challenge was translating abstract programming constructs into understandable formats for students aged 13–15. Here's how we addressed this:
We used relatable scenarios like a dessert shop to explain list manipulation, allowing students to work with menu = ["Tiramisu", "Macaron", ...] to apply append(), remove(), and indexing.
Nested loops were introduced using a classic multiplication table. Students wrote logic with for i in range(1, 10) and observed indentation-driven behavior changes in printed results.
One example asked students to calculate the number of product pairings that exceeded a total value threshold for a discount. This exercise combined looping, condition checking, and counting logic.
Instead of using Python’s built-in sorted(), students learned to build a sorting algorithm by finding the max and iteratively appending it to a new list. This gave them practical exposure to algorithmic thinking.
To ensure consistency and reduce instructor prep time:
- Auto-loads notebooks, packages, and clears output cells for a clean start
- Enables instructors to reset the environment in under 30 seconds
- Replaces manual setup steps with scripted automation
- Include 9 standalone problems simulating a 45-minute contest
- Story-driven problems (e.g., cake price filtering, watering plants)
- Ready for immediate use in class, and adaptable across classrooms
- Enabled rapid, hassle-free setup across distributed and inconsistent computers
The effectiveness of this curriculum was validated by student surveys collected after each session. In particular, our Advanced Programming session—covering nested loops and sorting—ranked among the top-performing modules in terms of learning outcomes:
- Over 90% of students reported they "learned most (80%)" or "learned everything (100%)," the highest reported mastery rate among all six sessions
- It had one of the lowest students reporting difficulty (only one student)
This demonstrates my ability to demystify abstract technical logic for a general audience, which is highly transferable to client-facing roles such as those in Microsoft TAI.
| TAI Responsibility | Demonstrated In Project |
|---|---|
| Client Needs Clarification | Understood student background, and simplified and gamified concepts accordingly |
| PoC & Demos | Delivered interactive notebooks and lecture as in-class proof-of-concept demos |
| Technical Communication | Translated logic into visual stories, metaphors, and beginner-friendly instructions |
| Solution Design | Developed modular, reusable teaching components with automated setup |
| Cross-functional Collaboration | Co-led with a teaching partner and other teaching assistants |