#####Module 0 #Prep for Class 0 Before coming to Class 0 (the first day of class), please complete the following tasks:
| Task | Resource Type | Link | Instructions |
|---|---|---|---|
| Watch | Lecture | Week 0 | Your first task is to watch the first lecture! There will be some Harvard-specific information in there (and some information about the class at Yale), so feel free to fast forward through that if you want. |
| Task | Resource Type | Link | Instructions |
|---|---|---|---|
| Read | Lecture Notes | Week 1 / Binary | Read over the portion of the lecture notes that talk about binary. Don't worry too much if this doesn't immediately click for you; mostly, it is just good to have an idea of what's going on in the computer at a lower level. Stop when you get to the Algorithms header. |
| Watch | Short | Binary | Watch this short that will explain binary numbers in more detail. |
| Watch | Short | ASCII | Watch this short about ASCII. Again, don't worry if you don't understand this completely. We'll revisit this again later in the class. |
#####Lecture
| Task | Resource Type | Link | Instructions |
|---|---|---|---|
| Watch | Lecture | Week 0, continued | Watch the week's second lecture. The class activities, such as the PB & J sandwich exercise, are somewhat silly, but actually do provide a good illustration of how to think like a programmer. There will be some portion of the lecture dedicated to his visit to Yale, so feel free to fast forward through these parts (for example, minutes 25:30-27:30). |
| Task | Resource Type | Link | Instructions |
|---|---|---|---|
| Read | Lecture Notes | Week 1 / Algorithms | Read over the notes from the first lecture about "Algorithms", and optionally rewatch this portion of the lecture. Although we aren't writing code yet, this is an important step toward thinking like a programmer. Stop when you get to the Syllabus header. |
| Read | Lecture Notes | Week 1, continued / Algorithms, PB & J Demonstration | Read over the notes section about Algorithms and the PB & J exercise. Stop when you get to the Yale Introduction header. |
| Watch | Short | Algorithms | Watch this short that explains what an algorithm is, and why this concept is so essential to programming. |
| Read | Resource | What is Pseudocoding? | Read this article about pseudocode from the Viking Code School. Throughout the article they will reference other parts of their curriculum - don't worry about that (though feel free to check it out if you're interested!). |
| Read | Resource | The Elements of Pseudocode | Continue on to the next section, which talks about the foundational components of pseudocode and code. |
| Read / Do | Resource | Practice with Pseudocoding | Try solving some problems by writing out solutions in pseudocode. |
| Do | Exercise | Dinosaur Origami | This is optional but encouraged. This is a fun exercise you can do to practice your pseudocoding skills, and amuse some family and/or friends. This exercise was taken from a different class, so ignore some of the references to the class. You can also ignore the "Evaluation" or "What to Hand In" parts. |
| Task | Resource Type | Link | Instructions |
|---|---|---|---|
| Read | Lecture Notes | Source Code and Scratch | Review these notes from the lecture. This will give you a brief glimpse of the programming language C, and Scratch, which is a graphical language you'll use for Problem Set 0. |
| Watch | Walkthrough | Week 0 Walkthroughs | Watch this series of videos where David brings Scratch to life. You should watch them in order (they are properly sequenced in Youtube). You may notice that these Scratch programs were also referenced in the lecture notes. |
| Watch | Short | Threads | Watch this short that talks more about threads, a concept covered at the end of the walkthroughs. |
| Watch | Short | Scratch | Watch as Allison creates a game in Scratch, walking through all of the different steps. |
| Do | Problem Set | Problem Set 0 | Complete Problem Set 0! Read through the Problem Set page, which will also include an overview of how to understand Harvard's Problem Set specification pages. When you have finished your project, you will submit your assignment on Vocareum. |
| Task | Resource Type | Link | Instructions |
|---|---|---|---|
| Watch | Lecture | Week 1 | Finally, watch the first lecture video from Week 1, which gives a high-level intro to some of the concepts you'll be learning in Module 1. |
Now you're ready for the first day of class, Class 0!
In case you missed it, the best place for an overview the course materials is by viewing the Course Calendar
Waiting for the first day of class, but can't wait to get coding? Try out the these resources, which will introduce you to a programming language called Javascript. We'll return to Javascript later in CS50x, but for now, consider it good coding practice:
These are completely optional, but will definitely benefit you as you begin CS50x, so we encourage everyone to at least try one of these.
Finally, if you're interested, check out this super long but interesting and entertaining article:
It paints a nice overall picture of the landscape of today's major coding languages and how they fit into the business world.