Introduction
This course introduces high school students to computational problem-solving through algorithmic thinking, flowchart design, and programming in Python. Using Flowgorithm as a visual programming bridge, students first internalize the logic of algorithms before translating them into textual code.
Computational Thinking (CT)—a mental model for solving problems using computer science concepts—is at the core of this course. Students will develop the mindset and skills to model problems, abstract patterns, automate solutions, and analyze outcomes.
Read more
Justification
Computational Thinking has become essential for problem-solving across disciplines in a rapidly evolving digital world. Grounded in Jeannette Wing’s four pillars—decomposition, pattern recognition, abstraction, and algorithm design—this course empowers students to become creators of technology, not just consumers.
The course uses Flowgorithm to reinforce these concepts visually, then shifts to Python for practical, industry-relevant programming experience.
Learning Outcomes
- Decompose complex problems into simpler sub-problems.
- Recognize patterns and similarities in problem structures.
- Use abstraction to focus on relevant information when designing solutions.
- Design algorithms using flowcharts and Flowgorithm.
- Translate visual algorithms into Python programs.
- Implement control structures (sequences, decisions, and loops) in Python.
- Reflect on algorithm efficiency and correctness.
- Apply CT to real-life problem-solving beyond programming.
Teaching Methodology
- CT Principle Integration: Every lesson links explicitly to a CT principle.
- Scaffolded visual-to-code learning: Starting from Flowgorithm flowcharts to Python code.
- Collaborative group work: Encourages sharing of strategies and exposes students to multiple thinking patterns.
- Iterative development: Students prototype, test, and improve their solutions.
- Mini-challenges: Each session ends with a CT-based challenge encouraging creativity and deep thinking.
Course Schedule (20 Hours)
Materials & Resources
- Flowgorithm
- Python 3.10+ Download · Python Docs
- CT Principles Quick Guide
- Flowgorithm Reference Card
- Python Reference Card
- Digital Resources:
Bibliography
- Wing, J. M. (2006). Computational Thinking. Communications of the ACM, 49(3), 33–35. DOI
- Grover, S., & Pea, R. (2013). Computational Thinking in K–12: A Review of the State of the Field. Educational Researcher, 42(1), 38–43. DOI
- Cook, D. (2015). Flowgorithm: Visual Programming Language. Sacramento State University. Website
- Severance, C. (2016). Python for Everybody: Exploring Data Using Python 3. Website
- Zelle, J. (2010). Python Programming: An Introduction to Computer Science. Franklin, Beedle & Associates.
- Cuny, J., Snyder, L., & Wing, J. M. (2010). Demystifying Computational Thinking for Non-Computer Scientists.
- Brennan, K., & Resnick, M. (2012). New frameworks for studying and assessing the development of CT. Proceedings of AERA 2012.
Downloads
Session PDFs will appear under each session card/table row. Place your files under docs/session-XX/ named presentation.pdf, exercises.pdf.