Python CS203 and CS204 are intentionally shorter courses, designed with some breathing room to allow teachers to review and/or catch up with material from earlier courses if necessary. However, if your class happens to finish early, there are a variety of other activities available to encourage your students to explore the world of technology and computer science.
Feel free to make use of that time as you see fit, but if you need some inspiration, here are a few ideas to get started with. For convenience, we’ve broken them into a few categories, but feel free to reach outside of these if you have other topics you would like to cover.
If you would like to have students continue coding, we recommend a “hackathon” or “game jam” format, where students are given a specific prompt to work from as a starting point. This will help differentiate it from the capstone project, which is more open-ended.
Additionally, you could hold a coding competition focused on different code challenges. These code challenges are typically short problems that students must write a program to solve. Each day you could prepare/find a few code challenges (such as on Codewars.com) and have the students compete to find solutions. Give out points for the cleanest solution, most interesting, shortest, and so on.
Research activities are a great way to have students explore more details about the world of coding and technology beyond just writing programs. Some potential research topics might include:
- Profile a current figure in the world of technology. What job does this person do? What contributions have they made? What is their daily work life like? Depending on who the person is, you might even have students reach out to them with a few interview questions.
- Pick a major transition or important historical discovery in the world of technology. How did it change the field and the world at large? Who was involved, and what were their contributions? (This is something of a revisit of the very first research activity, now that students have more perspective on coding.)
- Find out what kinds of tests and certifications are available for coding. What can students already apply for? What tests require new skills that they don’t have yet? How hard would it be to learn those skills with the information they have already gained? What can they do with these certifications once they have them?
- Research local coding jobs. What’s available nearby? What do people in these jobs do on an average day? Are students qualified to apply?
- Research year 1 college courses in programming, and what they cover: identify topics that students have and have not yet learned, and determine how prepared they might be to take such a course.
- Research programming languages other than Python. What else is out there? How is it different from Python? How is it similar?
- Pick a piece of technology and research how it was developed/made, both in the sense of its original discovery and its modern production/mass production and distribution.
If possible, it’s great to connect students with local technology careers in your community. Speakers from local companies, site visits, interviews with local businesses about their use of technology, and so on can be incredibly useful for giving students a realistic view of how their new skills are directly and locally applicable.
Video and Further Educational Content
There are a number of educational videos and interactive tutorials students can explore as part of learning. For instance, Crash Course Computer Science is a great educational resource that is less about programming and more generally about hardware and the history of CS. There are also interactive programming tutorials and courses, such as Code.org, Codecademy, and more.
Alternatively, you could have students suggest their own educational resources for the benefit of the class. Educational content can often be found in a surprising number of unexpected places. For example, speedrun videos (challenges where people try to complete a video game as fast as possible) often involve exploiting glitches that reveal a great deal about the internal structure and coding logic of the game.
If you have a significant number of students who intend to go into the tech industry right after school, it could be useful to spend more time on interview prep and job readiness. The Unit 9 Industry Skill lesson gave students a basic overview of the job application and interview process, but there is plenty of room for additional practice.
Some activities in this area could include: researching available jobs, doing mock interviews with partners, or tackling common whiteboard questions in small groups. Learning to speak out loud and narrate one’s thought process while whiteboarding is a skill that takes some practice, making it a good use of student time.