This is an introductory high-school level course that is designed for students in 9th grade with algebra readiness skills. No prior programming experience is required. It is inspired by a highly successful Introductory Computing course (15-112, Fundamentals of Programming and Computer Science) that has been taught at Carnegie Mellon University for over 10 years. It is predicated on the notion that learning about programming and computer science should be fun and engaging. This requires interesting problems to solve, as computational problem-solving is the core of computer science.
Students start with 2D Graphics using a simple drawing package in Python, and use their creativity and imagination to draw different shapes, from simple to complex. We start students students with graphical problems because they are visually engaging, allow for multiple correct solutions, and provide visual cues when a solution goes awry. Students also learn to use functions, reuse code, and read from and write to files.
By the end of the course, students will be able to apply the basic skills learned in this course to take more advanced Python courses or learn other programming languages such as Java.
A natural progression from this course is for students to take AP® Computer Science courses or Introduction to Data Science.