Coding with Python – Media Computing and Game Design
This class will use image manipulation and game creation in Python to inspire students in computational thinking and improve their problem-solving skills. The objective for students is to be able to produce interesting programs after 15 weeks of learning. Pygame package will be used in the second half of the semester to create arcade-style games. No prior programming experience is required.
Dr. Cao, the principal instructor at CS4FUN, teaches computer science courses at UC San Diego. He has more than 12 years of teaching experience in computer science programs at liberal arts colleges and research institutions.
Dr. Cao, why do you teach this course?
Dr. Cao: The class stems from my teaching experience that many college students in my computer science classes lack formal course training in computer science during their K-12 education. I tried to teach my daughter some coding when she was in 6th grade, she could grasp the concepts fairly fast. So my idea for the class is to offer some formal training to middle school students in computing. Python is a language that is easy to start, and provides better semantics than block-based languages (such as Scratch from MIT). To make the content more appealing to younger students, I have decided to use Python to process images and draw shapes. Hence the name is media computing.
At the end of the course, I would expect a student to be able to
1. Start from scratch and write functional code in Python.
2. Be able to understand variables and basic flow controls (conditional statements and loops).
3. Can design basic algorithms involving fundamental array concepts and nested loops.
4. Be able to implement methods that accept parameters and return a value.
5. Familiar with a realistic coding environment.
To achieve these goals, I usually assign some homework for students to practice outside the classroom. So this class is quite formal compared with many other after-school programs.
The final project of this course will be background substitution in pictures similar to green screen effects in movies. Instead of using Photoshop, students will write Python codes to do it themselves, which is an enriching experience for them. Parents are welcome to attend the final project presentation where students show off their final result, and explain the codes to the parents (another critical skill in communicating technical content to a general audience).