Summer Assignment (OPTIONAL)

As a prerequisite for the class, you need to have some experience in a text-based programming language (such as Python, JavaScript, or C#, not HTML/CSS), which you would have gotten by taking this class’s prerequisite, Intro to Computer Science, and have an understanding of the following concepts:

  • variables
  • conditionals
  • loops
  • functions/procedures/methods

If you understand some or all of those concepts, I recommend that you write a new program (developed by you, not created as part of a tutorial or online learning assignment) in the language you are most familiar with so that your skills stay fresh and you are ready to be assessed on the above concepts in the first couple of weeks. You should strive to create a complex program that incorporates several examples of the concepts above. This is optional, but recommended so that you are successful in the class. 

…but what should I do?

Write a program that does something that you find interesting or useful. It migth be a number guessing game, target practice using mouse and keyboard, ATM simulator, movie recommender, text-based adventure (which is harder than it sounds!), or anything else. The best thing you can do, though, is getting used to solving problems with code, and the most interesting way to do that is to come up with your own problem.

If you have experience with text-based coding, but the above concepts do not look familiar, or feel uncertain, one option is to go through this course at CodeHS, which covers the above concepts and more. It is not a requirement that you complete this entire course, which is meant to be taught over a year and overlaps many of the things we’ll be working on during the coming school year. That course is in JavaScript and we’ll be studying Python next year, so you might consider a Python course on codeacademy (where many things are not free) Khan Academy, or Code.org. It doesn’t really matter what language you use, though, as long as it’s text-based (not block-based on Scratch). 

If you want to get ahead

The curriculum we’ll follow next year is a modified version of Harvard’s CS50 course. You can take the course for free on Edx or work through it on your own by going through the standard curriculum or the AP curriculum. They are all quite similar, but the course changes slightly from year to year. Working on this material over the summar will put you at a significant advantage, but keep in mind that the work we’ll be doing in the class will be similar, but different.