Class 1 Prep

Before coming to Class 1, please complete the following tasks:

Javascript Basics

For the first few weeks, we will be using an interactive textbook called Eloquent Javascript. Before you begin reading, please quickly read over the Notes below.

Did you read the notes? Great, time to dive into learning some Javascript!

Dont Task Resource Type Link Time Estimate Instructions
Read Interactive Book EloquentJS: Introduction 10 minutes In the Intro, the author Marijn Haverbeke expounds on the nature of his book, the nature of code, and the nature of the universe.
Read Interactive Book EloquentJS 1: Values, Types an Operators 30 minutes This chapter covers all the basics: simple math, strings, datatypes, printing, boolean operators, etc.
Read Interactive Book EloquentJS 2: Program Structure 1.5 hours In chapter 2 you will learn how to build simple programs using control-flow structures like variables, functions, conditionals and loops.
Read Interactive Book EloquentJS 3: Functions 3 hours This chapter talks in depth about functions, touching on a bunch of important but tricky concepts including: recursion, side effects vs return values, and the fact that JS functions can be stored in variables just like any other data type.

Git Review (optional)

You have already seen some of these resources in Unit 2. But you might find it useful to go through them again.

Done Task Resource Type Link Time Estimate Instructions
Read Article What is Version Control? 10 minutes This article introduces the concept of "version control" and why it is useful for software development.
Read Article What is Git? 10 minutes This article talks in detail about a particular version control system called Git, which we will be using heavily throughout this class.
Do Interactive Course Codecademy: Git Workflow 30 minutes Practice the basics of using Git on the command line.
Do Interactive Course Codecademy: Git Backtracking 30 minutes Practice using Git to undo your changes and go back to previous versions of your work.
Do Tutorial Github Guides: Hello World 30 minutes This tutorial provides a brief intro to using the website GitHub to share and collaborate on Git repositories.

Notes

There are a few things we want to point out about the Eloquent Javascript book and about Prep Work in general:

Active Code

Note that all the code snippets in Eloquent Javascript are "active". Whenever you see a code snippet, you can (and should) run the code and see what happens. You also can (and should) edit the code and then re-run it, to play around and test your understanding:

Active Code

Exercises

Most of the book's chapters contain exercises at the end. Do them! The bare minimum expectation is that you complete at least 1 exercise for each reading (unless there are none). To "complete" an exercise means either you solve it, or you struggle with it for 30 - 60 minutes, give or take. And in either case, you should also go and look at the author's solution afterwords, which can be found at www.eloquentjavascript.net/code. If you have time, you should do additional exercises beyond the minimum 1.

Time Estimates

The intention of the Time Estimate column in the table above is to give you a very rough approximation of how large and time-intensive each task is. The only purpose of this is to help you plan your schedule. Take it with a grain of salt. If a task ends up taking you four times as long as what the table said, please don't get angry at us, or down on yourself, or anything else negative. Thanx!