Reading
JV means reading from Java: An
Introduction to Computer Science & Programming.
ML means reading from MATLAB
Programming for Engineers.
You can skip sections marked as "optional" in the book, unless indicated otherwise here.
Schedule
Date | Topics / Due Dates | Reading / Lecture Notes | |
M | 6/25 | Course policies, introduction to programming Handouts: Survey, Course info, Exercise 1, Assignment 1 |
Lecture notes Honey Cake Recipe CircleCalculation.java | CircleCalculation.txt JV: 1.1, 1.2, 1.3 (skim), 1.4 (skip Applets) |
T | 6/26 |
Introductory survey due in lecture Language elements, variables, operators Basic input and output Handouts: Exercise 2 |
Lecture notes Lecture2.java | Lecture2.txt Variables as cups JV: 2.1, 2.3, 2.4 |
W | 6/27 |
Deadline for summer registration Operators, booleans, expressions, statements, conditional processing |
Lecture notes Lecture3.java | Lecture3.txt Swap.java | Swap.txt Conditional.java | Conditional.txt Quiz.java | Quiz.txt JV: 3.1, 3.2 (only while), 3.4 ML: Chapter 1 |
H | 6/28 | Assignment 1 due
Loops Handouts: Exercise 3 |
Lecture notes Lecture4.java | Lecture4.txt Div3.java | Div3.txt WhileLoop.java | WhileLoop.txt JV: rest of 3.2 |
F | 6/29 | TA Review (Kiri out of town) |
GCD.java |
GCD.txt JV: 2.2 if you haven't read it yet, JV: 3.1 (Conditional Operator) Bring your questions! |
M | 7/2 | Debugging, part 1 Loops Handouts: Exercise 4, Assignment 2 | Lecture notes Space Invaders Game (try it! written in Java) SpaceInvadersWhile.java | SpaceInvadersWhile.txt JV: 3.3 ML: 2.1, 2.2, 2.7, 2.9, 2.10, 4.1, 4.2 |
T | 7/3 | Loops and methods Introduction to Matlab, plotting data |
Lecture notes SpaceInvadersDoWhile.java | SpaceInvadersDoWhile.txt MirrorNumber.java | MirrorNumber.txt (uses if statements) MirrorNumberWhile.java | MirrorNumberWhile.txt MirrorNumberFor.java | MirrorNumberFor.txt JV: 4.1, skim 5.1 and 5.2 |
W | 7/4 | Fourth of July - HOLIDAY (no lecture) | None! |
H | 7/5 |
Methods, function calls Matlab: basic tutorial |
Lecture notes Matlab tutorial: matlab1.m | matlab1.txt Java examples of using Math.random(): random.java | random.txt Methods.java | Methods.txt JV: 5.1, 5.2, skim 5.3 |
F | 7/6 |
Deadline to add classes Assignment 2 due TA Review (Ben) |
JV: 5.3 ML: 5.1, 5.2 Bring your questions! |
M | 7/9 |
Prelim 1 Prelim 1 Solutions/Grading guide Handouts: Assignment 3 |
Prelim covers: Savitch Chapters 1 - 3 Exercises 1 - 4 Assignments 1 and 2 Lectures through 7/3 (no MATLAB, no methods) |
T | 7/10 | A bit more on methods Scope OOP: introduction Handouts: Exercise 5 |
Lecture notes Lyrics to Floating, by the Moody Blues Lyrics with a chorus (method) mp3 version (educational use only!) Methods.java | Methods.txt Same thing without methods: NoMethods.java | NoMethods.txt TensComplement.java | TensComplement.txt scope.java | scope.txt BunchOfGrapesNoObjects.java | BunchOfGrapesNoObjects.txt BunchOfGrapes.java | BunchOfGrapes.txt GrapesTester.java | GrapesTester.txt JV: 1.3, 4.3 |
W | 7/11 |
Deadline for changing credit/grade option OOP: designing and using classes, constructors, call/pass by value, update/accessor methods Handouts: Exercise 6 |
Lecture notes BunchOfGrapes.java | BunchOfGrapes.txt GrapesTester.java | GrapesTester.txt Spaceship.java | Spaceship.txt SpaceshipTester.java | SpaceshipTester.txt JV: 5.5 |
H | 7/12 |
OOP: references,
encapsulation (public, private,
static) |
Lecture notes Spaceship.java | Spaceship.txt SpaceshipTester.java | SpaceshipTester.txt JV: 4.2, 5.6 Variables as cups: References Java is pass by value |
F | 7/13 |
Deadline for dropping classes Assignment 3 due OOP: method overloading TA Review (Jay) Handouts: Assignment 4 |
Mandelbrot.java |
Complex.java JV: 5.4 |
M | 7/16 |
Abstraction and encapsulation this Graphics, part 1: Basic figures Handouts: Exercise 7 |
Lecture notes Madeleine.java | Madeleine.txt MadeleineColor.java | MadeleineColor.txt JV: 15.1, 15.2, 15.3 |
T | 7/17 | Arrays: introduction, motivation Arrays: primitive types, creating, storing, retrieving arrays of objects Handouts: Exercise 8 |
Lecture notes Array of a base type: ArrayOfTemperatures.java | ArrayOfTemperatures.txt Array of objects: Spaceship2000.java | Spaceship2000.txt JV: 6.1, 8.1 |
W | 7/18 | Debugging, part 2 Exceptions Arrays: primitive types, creating, storing, retrieving, initializer lists Matlab: matrices and useful operations on them |
Lecture notes ExceptionDemo.java | ExceptionDemo.txt PrimeNumbersSoln.java | PrimeNumbersSoln.txt aot.m | aot.txt JV: 6.2 ML: 2.3, 2.4, 2.5, 2.7, 2.9 |
H | 7/19 | Assignment 4 due
TA Review (The Consultant Cohort) |
JV: 9.1, 9.2 (text files only) Bring your questions! |
F | 7/20 | Prelim 2 Prelim 2 Solutions/Grading guide Handouts: Project 1, excerpt from "The Code Book", and Exercise 9 |
Prelim covers: Savitch Chapters 4, 5, 6.1, 6.2, 8.1, and 15 assigned readings from Chapman Ch. 2 Exercises 5 - 8 Assignments 3 and 4 Lectures from 7/5 through 7/18 |
M | 7/23 | Encryption Arrays: multidimensional arrays Handouts: Exercise 10 |
Lecture notes InterestTable.java | InterestTable.txt JV: 6.5 (skip Ragged Arrays) |
T | 7/24 | File I/O Arrays: searching and sorting Handouts: Exercise 11 |
Lecture notes TextFileInputDemo.java | TextFileInputDemo.txt TextFileOutputDemo.java | TextFileOutputDemo.txt Searching.java | Searching.txt SearchingDemo.java | SearchingDemo.txt SelectionSort.java | SelectionSort.txt SelectionSortDemo.java | SelectionSortDemo.txt JV: 6.3, 6.4 |
W | 7/25 | Graphics, part 2: GUIs, Swing |
Lecture notes ButtonDemo.java | ButtonDemo.txt WindowDestroyer.java | WindowDestroyer.txt JV: 12.1, 12.2, 12.3, 12.5 (p. 812-823) |
H | 7/26 |
Project 1 due Inheritance: software reuse, sub/super classes, constructors, method overriding Handouts: Exercise 12 |
Lecture notes Inherit1.java | Inherit1.txt Inherit2.java | Inherit2.txt Tree.java | Tree.txt Conifer.java | Conifer.txt Deciduous.java | Deciduous.txt Forest.java | Forest.txt JV: 7.1, 7.2 (p. 469-471) |
F | 7/27 | TA Review (Hongjie) Handouts: Project 2 |
Lecture notes (ppt) Matrix.java Student. java SortStudent.java Inherit.java |
M | 7/30 | Project 2 Inheritance: this(), inheriting public members, variable shadowing Handouts: Exercise 13 |
Lecture notes Problem1.java | Problem1.txt Inherit3.java | Inherit3.txt JV: 7.2 (incl. Subtle Point) |
T | 7/31 | Interfaces, Pass by value, Inheritance: public/private/protected/default Handouts: Exercise 14 |
Lecture notes Pass1.java | Pass1.txt Pass2.java | Pass2.txt Pass3.java | Pass3.txt JV: 5.7, 7.3 |
W | 8/1 | Inheritance: Object class, polymorphism, design |
Lecture notes Builtin.java | Builtin.txt Banana.java | Banana.txt Strawberry.java | Strawberry.txt Fruit.java | Fruit.txt Banana2.java | Banana2.txt Strawberry2.java | Strawberry2.txt JV: 7.2, 7.3 |
H | 8/2 | Project 2 due Linked Lists! Handouts: Exercise 15 |
Lecture notes CardLinkedList.java | CardLinkedList.txt JV: 10.2 |
F | 8/3 | The A la Carte Final Review, course summary |
Our Review Questions Feel free to bring your own questions! For more practice, see the examples on the Spring 2001 CS 100 site Also, see the Makeup Prelim and the Solutions (pictures omitted). |
T | 8/7 | Final Exam 8:00 - 10:00 a.m., Upson B17 |
Final topics |