Caution! You are looking at an out-of-date version of this website from Spring 2015.
To access the current version, click here.


On this page you will find the lecture slides, required reading, and demo programs for you to play with in order to better understand the content of the lectures. We strongly suggest that you skim the required reading before coming to lecture and that you read it thoroughly soon afterwards. We also recommend that you print out the lecture slides in advance so you can annotate them during lecture.

1 Tuesday
Feb. 3rd
1up · 4up
Book: Chapter 1 Intro
Booksite: Chapter 1 Intro
2 Thursday
Feb. 5th
Introduction to Java
1up · 4up
Book: Section 1.1-1.2
Booksite: Section 1.1, 1.2
Exchange IntOps LeapYear
3 Tuesday
Feb. 10th
Conditionals & Loops
1up · 4up
Book: Section 1.3
Booksite: Section 1.3
ForLoop TwoSort AbsValue Sqrt Ruler TwoPower TEQif Gambler
4 Thursday
Feb. 12th
1up · 4up
Book: Section 1.4
Booksite: Section 1.4
Shuffle ArrayCopy DigitCounts CouponCollector DealCards
5 Tuesday
Feb. 17th
Input & Output
1up · 4up
Book: Section 1.5
Booksite: Section 1.5
Average StdInDemo
6 Thursday
Feb. 19th
Functions & Libraries
1up · 4up
Book: Section 2.1-2.2
Booksite: Section 2.1, 2.2
Newton Cube Gaussian Perimeter
7 Tuesday
Feb. 24th
1up · 4up
Book: Section 2.3
Booksite: Section 2.3
GCD Binary Ruler Recursive Fibonacci Memoized Fib. DP Fib. Change
8 Thursday
Feb. 26th
Performance & Sorting
1up · 4up
Book: Section 4.1-4.2
Booksite: Section 9.6
Insertion Sort
Merge Sort
Binary Search
9 Tuesday
Mar. 3rd
Von Neumann Machine I
1up · 4up
Booksite: Section 5.1, 5.2, 5.3 X-TOY
10 Thursday
Mar. 5th
Von Neumann Machine II
1up · 4up
Booksite: Section 5.4, 5.5 X-TOY
Written Exam 1 instead of lecture on Tuesday, Mar. 10th.
11 Thursday
Mar. 12th
Scientific Computing
1up · 4up
Booksite: Section 9.1, 9.4, 9.5
Spring Break! No lecture on Tuesday Mar. 17th or Thursday Mar. 19th.
12 Tuesday
Mar. 24th
Using Data Types
1up · 4up
Book: Section 3.1
Booksite: Section 3.1
13 Thursday
Mar. 26th
Creating Data Types
1up · 4up
Book: Section 3.2
Booksite: Section 3.2
Person Watch Complex
14 Tuesday
Mar. 31st
Stacks and Queues
1up · 4up
Book: Section 4.3
Booksite: Section 4.3
Linked Lists Iteration StackQueue MonkeyChain
15 Thursday
Apr. 2nd
Symbol Tables
1up · 4up
Book: Section 4.4
Booksite: Section 4.4
Inorder Traversal ST
16 Tuesday
Apr. 7th
Case Study: Small World
1up · 4up
Book: Section 4.5
Booksite: Section 4.5
Breadth-First Search
17 Thursday
Apr. 9th
Theory of Computation
1up · 4up
This online chapter.**
Booksite: Section 7.1, 7.2, 7.3
18 Tuesday
Apr. 14th
Universality & Computability
1up · 4up
Booksite: Section 7.4, 7.5, 7.6
Harel: Chapters 1-2 (Optional)
Turing machine: webstart or download
(to run: java -jar turing.jar)
19 Thursday
Apr. 16th
1up · 4up
Booksite: Section 7.7
Harel: Chapters 3-5 (Optional)
20 Tuesday
Apr. 21st
Combinational Circuits
1up · 4up
Circuits Reading (thru p. 21)
21 Thursday
Apr. 23rd
Designing a CPU
1up · 4up
Written Exam 2 instead of lecture on Tuesday Apr. 28th.
22 Thursday
Apr. 30th
Fun, Demos, & AI
1up · 4up
Practice Minesweeper.
** = These resources are only available from an on-campus IP address or via VPN.

Errata. We maintain a list of known errors in the slides, textbook, and online chapters. If you find a bug/problem that's not listed, please contact a lead preceptor!