Welcome to Programming Foundations!

Be sure to check out the Perlenspiel 3 website.
To learn more about this course, read the About page.
Setup
Download the Course Setup document and the PerlenspielTemplate zip file. The setup document has instructions for formatting your course folder.
Course Setup
Perlenspiel Game Template (Version 3.0.8, last updated on Jan. 3rd, 2014)
The notes file is for your own use. Please use it to take notes while you read and watch lectures.
PGF Notes Template (The is important! Take notes!)
You will also need:
- Google Chrome - Browser and debugger for any platform
And one of the following:
- Sublime Text - Text editor for any OS
- Programmer's Notepad - Text editor for PC
- Text Wrangler - Text editor for Mac
Additional Resources
We are using two books in this class. You should receive one of them in the mail, titled JavaScript, A Beginner's Guide, by John Pollock.
It is a good introduction to JavaScript, and you can use it as a reference manual. There is also a free online textbook,
Eloquent JavaScript, by Marijn Haverbeke. It is a bit more advanced, but also
talks about the problem solving aspects of programming.
You do not need to read both books. Try out each of them and see which one you like the best.
Please read the Resources page for additional reference throughout this course.
Week 1
Read
Haverbeke, Chapter 1 - Introduction
Haverbeke, Chapter 2 - Basic JavaScript: values, variables, and control flow
Read
Pollock, Chapter 1 - Introduction to JavaScript
Pollock, Chapter 3 - Using Variables
Pollock, Chapter 5 - JavaScript Operators
The basics. Lots of stuff, but straight-forward. Begin with learning how to output.
Lesson 1
Video Part 1: Introduction
Experiment - Hello
Lab - Draw Some Stuff
Rubric - Draw Some Stuff
Data, math, and expressions.
Lesson 2
Video Part 2: Variables
Experiment - Variables
Lab - Calculations
Rubric - Calculations
Learn about how to fix syntax errors.
Debug!
Required viewing if you want to be a code ninja. Use skills learned in this video to locate and remove many types of errors.
Debugging Part 1: Debug Console
Output with a computer-controlled twist.
Lesson 3
Video Part 3: Control Statements
Experiment - Flow Control
Lab - Color Machine
Rubric - Color Machine
Week 2
Read
Haverbeke, Chapter 3 - Functions
Read
Pollock, Chapter 6 - Conditional Statements and Loops
Pollock, Chapter 4 - Using Functions
Learn about how to fix logic errors.
Debug!
Advanced debugging techniques to help you defeat any size of bug that you will encounter in this course.
Debugging Part 2: Break & Step
Functions and basic game logic.
Lesson 4
Video Part 4: Functions
Experiment - Functions
Lab - Treasure Hunt
Rubric - Treasure Hunt
Lesson 4b
Time to finish the Tic Tac Toe example from lesson 3.
Video Part 4b: Tic Tac Toe
Learn about the mouse.
Lesson 5
Video 5 - Mouse & Data
Experiment - Mouse
Lab - Sketch
Rubric - Sketch
Week 3
Read
Haverbeke, Chapter 4 - Data Structures: Objects and Arrays
Haverbeke, Chapter 5 - Error Handling
Read
Pollock, Chapter 11 - JavaScript Arrays
Pollock, Chapter 8 - Objects
Make a simple keyboard-controlled game.
Lesson 6
Experiment - Keyboard
Video 6 - Game Features
Lab - Key World
Rubric - Key World
Create a Frogger game with arrays and timers.
Lesson 7
Video 7 - Arrays (Not updated yet)
Experiment - Arrays
Lab - Frogger
Rubric - Frogger
Week 4
This is optional material that you may find interesting or useful for your 7th lab assignment.
Objects allow you to organize data more effectively. They can be combined with other program features like for-loops and functions.
Lesson 8
Video 8 - Objects (Not updated yet)
Experiment - Objects