The schedule is subject to change.

Week Monday Wednesday Friday
1

July 22nd

Course overview
Meet Karel the Robot

July 24th

Simple Karel Programs
Control structures in Karel

SlideSession Recording

July 26th

Problem-solving in Karel
Problem Decomposition
The idea of an algorithm
SlideSession Recording
2

July 29th

Programming by example
Variables and values
Arithmetic expressions
Functions
SlideSession Recording

July 31st

Strings and concatenation
Simple graphics
SlideSession Recording

August 2nd

Control statements
Boolean data
Slide
3

August 5th

Arguments and Parameters
Libraries
Random numbers
SlideSession Recording

August 7th

The mechanics of functions
Decompositon
SlideSession Recording

August 9th

Decomposition
GWindow, GObject interface
GLine interface
SlideSession Recording
4

August 12th

First-class functions
Event-driven programming
Simple animations
SlideSession Recording

August 14th

Session content postponed
The Section 3: Solutions
Session Recording

The GArc class
The GPolygon class
The GCompound class
SlideSession Recording

August 16th

Binary representation
Representing characters
SlideSession Recording
5

August 19th

JavaScript's String class
Common string patterns
The GLabel class
SlideSession Recording

August 21st

Problem-solving with strings
String applications
SlideSession Recording

August 23rd

Cryptography
SlideSession Recording
6

September 2nd

Debugging Strategies

September 4th

Simple arrays and files
SlideSession Recording

September 6th

Using arrays for tabulation
SlideSession Recording
7

September 9th

Multidimensional arrays
Pixel arrays
The GImage class

September 13th

Objects as aggregates

September 16th

JavaScript and OOP
Libraries and interfaces
Defining classes and methods
8

September 18th

Objects as maps

September 19th

Large-scale data structures
Data-driven programs

September 22th

JavaScript and the web
Using web interactors