Before coming to Class 1, please complete the following tasks:
| Task | Resource Type | Link | Instructions |
|---|---|---|---|
| Read | Lecture Notes | Week 1 / Introduction | Read over the (very brief) notes associated with "Introduction" portion of the lecture video. Optionally, rewatch that section of the video (0:00-4:36). Stop at the Announcements header. |
| Read | Lecture Notes | Week 1 / C | Read over the notes for the "C" section. This will compare what we did in Scratch to code in C. Stop at the CS50 IDE header (or just keep going, because the next task is to read that. See below for when to stop next). |
| Read | Lecture Notes | Week 1 / cs50 IDE | Read over the notes for the "CS50 IDE" section. This introduces you to the environment where we'll be writing code throughout the course. Stop at the Writing Code header. |
| Do | Exercise | Logging into the IDE | This exercise contains instructions on how get started using the CS50 IDE, where you'll write all your code. Follow those instructions so you can start coding! |
| Do | Exercise | Organizing Your Workspace | In Helpful Resources, we outline how you should structure the folders in your workspace inside the IDE, and we walk you through how to create those folders. |
| Do | Exercise | Hello | Now that you've got your IDE set up, let's code! This exercise will walk you through writing a Hello, World program. |
| Watch | Doug's Playlist | Command-Line | Watch the video from Doug's Playlist called Command-Line. This will introduce you to, you guessed it, the command-line! There are cheatsheets in Helpful Resources for Terminal Commands here and one for Command Line Shortcuts here that contain topics from the video and more! |
| Watch | Section | Week 1 / IDE | Watch the first ~13 minutes where they demo using the IDE, running some linux commands in the terminal, and writing a Hello, World program. Stop at the 13:15 minute mark. |
| Task | Resource Type | Link | Instructions |
|---|---|---|---|
| Follow-Along | Walkthrough | Hello-0 | Watch this video in which David Malan writes a Hello, World program. As you watch, follow along by creating your own copy of the same program in your IDE. Afterwards, try poking around and tinkering with your program: Change something, re-run, break it, fix it. *If you want to challenge yourself, before watching the video, you can grab the psuedocode from here to start writing the program in the CS50 IDE, follow the instructions and then watch the video to finish writing the program. |
| Do | Exercise | Haiku | Do this simple Haiku exercise in your IDE. This should be similar to what you just did with David Malan (remember how to make a new line?). |
| Read | Lecture Notes | Week 1 / Writing Code | Read over the "Writing Code" notes, and optionally rewatch that section of the lecture. This will go into more depth about the different components of the programs you've written so far. |
| Follow-Along | Walkthrough | Hello-1 | Follow along (and type along in your IDE!) with David Malan as he adds some complexity to the Hello, World program. Use a variable to say hello to yourself! *If you want to challenge yourself, before watching the video, you can grab the psuedocode from here to start writing code in the CS50 IDE, follow the instructions and then watch the video to finish writing the program |
| Follow-Along | Walkthrough | Hello-2 | Continue to follow along as David adds another wrinkle to this program: taking input from the user. *The psuedocode for this Follow-Along is here. |
| Do | Exercise | Book | Do the Book exercise in your IDE. Remember how you got input from the user in the last Follow-Along. |
| Read | Lecture Notes | Week 1, continued / C | Read over these notes that talks about the components of your Hello, World program in C. We haven't watched this Lecture yet, so don't worry if this is unfamiliar. Stop when you get to the header titled Types. |
| Read | Supplementary Resource | String Format Codes Cheatsheet | Check out this cheatsheet of the most common string format codes for inserting values into a string, e.g. %s, %f etc. For now, just pay attention to the "Format Codes" section. |
| Task | Resource Type | Link | Instructions |
|---|---|---|---|
| Follow-Along | Walkthrough | <a href="https://www.youtube.com/watch?v=xmZR2XiwOq4"target="_blank">adder | Follow along with David Malan to create a program that takes two numbers provided by the user and adds them together. *The psuedocode for this Follow-Along is here. |
| Read | Lecture Notes | Week, 1 continued / Imprecision | Read over the (brief) notes about imprecision. Unfortunately, the Modern Marvels link referenced does not work :( Stop when you get to the Annonuncements header. |
| Read | Lecture Notes | Week 1 / Types | Read the lecture notes about types. Stop at the Conditions header. |
| Watch | Doug's Playlist | Data Types | Watch Doug's video about Data Types. You can check the Helpful Resources page C Language here for a cheatsheet on Data Types and Variables covered in the video. |
| Watch | Section | Week 1 / data types | Pick up the section where we last left off at the ~13:15 minute mark. Stop at the 15:15 minute mark. |
| Follow-Along | Walkthrough | f2c | Follow along with David Malan to create a program that converts temperatures in Farenheit to Celsius. *The psuedocode for this Follow-Along is here. |
| Do | Exercise | Percent | Try the Percent exercise to practice using floating-point numbers. |
| Watch | Short | Precedence | Watch this short on Precedence / order of operations. Stop at the 3:05 minute mark (if you go beyond, you'll hear about more advanced topics we won't be talking about for several weeks). You can check the Helpful Resources page C Language here for a cheatsheet of the topics covered in the video. |
| Do | Exercise | Marathon | Fix a program that tells the user how much more time they have to run in a marathon. It's mostly written already, with a key bug. |