Lecture handouts and the associated reading from the course packet (T) and Program Live (PL) are listed here. Typically, lecture handouts are sketches of the lectures and may contain example programs that are too long for students to copy in class. Lecture handouts are not complete transcripts of the lectures. You are expected to attend lecture and to take notes for yourself.
Date | Topics | Handouts | Reading |
1/23 F |
Intro to CS100, thoughts on programming | Syllabus | T Ch 0; PL Lesson page 1-1 Optional: PL Lesson pages 0-1 to 0-6 |
1/29 R | Parts of a Java program; types; variable, declaration and assignment; DrJava demo | h0129.pdf |
(T) Sec 1.1, 1.2; (PL) Lesson page 1-3 |
2/3 T |
Conditional statement, boolean expressions | h0203.pdf | (T) Sec 2.3.3; (PL) Lesson page 1-4 |
2/5 R |
Object and class, Creating objects and calling their methods | h0205.pdf | (T) Sec. 1.3; (PL) Activities 3-3.1, 3-3.2 (from Lesson page 3-3), Activity 3-4.1 (from Lesson page 3-4) |
2/10 T |
Calling instance methods, Extending a class (writing methods, defining fields) | h0210.pdf | (T) Sec 1.4 |
2/12 R | Writing subclasses; graphics | h0212.pdf MyFrame.txt |
(T) Sec 1.4-1.7, Sec 13.0-13.2.1 |
2/17 T | Class methods (static methods), Scope of variables, OOP ideas, publicvsprivate | h021t.pdf MyFrame.java |
(T) Sec 2.1-2.2.3 |
2/19 R |
More about variables and their scope, Method call and execution, A simple loop | h0219.pdf | (T) Sec 2.3, 2.4 |
2/24 T |
for loop, Defining a class—writing methods | h0224.pdf
NGon.java Interval0224.txt |
(T) Sec 3.1.1, 3.1.2 |
2/26 R |
Review, Defining a class—constructors | h0226.pdf Interval0226.txt |
(T) Sec 3.1.3 |
3/2 T |
Method toString(), Methods with parameters | h0302.pdf
Interval0302.txt ClientInterval.java |
(T) Sec 3.1.4, 3.2 |
3/4 T |
Why private ?, top-down design |
- | (PL) Activity 4 on Lesson Page 3-6,
all activities on Lesson Page 2-5. |
3/9 T |
Defining a class—methods with parameters, Static components in a class | h0309.pdf | (T ) Sec 3.3 |
3/11 R |
OOP review, OO Design | h0311.pdf Interval.java ClientInterval.java |
Text Sec 3.4 or PL activities on Lesson Page 3-8 |
3/16 T | One-dimensional array, generating random numbers | h0316.doc | (T): Sec 8.1-8.3 |
3/18 R | Simulation, applying 1-d array and random numbers | h0318.doc
RollDice.java FileOutput.java |
- |
3/30 T |
while loop, Some array algorithms, Selection sort | h0330.pdf | Sec 8.4-8.6 |
4/1 R |
Selection sort, array of objects |
h0401.pdf
ManyIntervals.java |
review Sec 8.5, 8.6 |
4/6 T |
2-d arrays |
h0406.pdf | (JV): Sec 9.1, 9.2 |
4/8 R |
2-d array of objects, review of String methods, instantiating 2-d arrays | h0408.pdf Array2dStrings2.java |
Sec 9.3 |
4/13 T |
Inheritance | h0413.pdf Dice.java TrickDice.txt |
Sec 4.1, 4.4 |
4/15 R |
Review, Accessing components in superclass, Client code—instantiating objects and calling their methods Reading: Sec 4.1, 4.2 | h0415a.pdf h0415b.pdf |
4.1, 4.2 |
4/20 T |
static variables and methods, Polymorphism, Review | h0420.pdf Room.java Bathroom.java |
Sec 4.2 |
4/22 R |
Class Object, abstract class | h0422.pdf | Sec 4.3 |
4/27 T |
MATLAB—elementary functions, script file, vector, conditional statement | matlabNotes1.pdf h0427.pdf |
MATLAB Essentials, Part I |
4/29 R |
conditional statement, for and while loops, plotting | h0429.pdf matlabNotes2.pdf |
MATLAB Essentials, p.4 (handout) |
5/4 T |
Random walk—vector version, plotting graphs, User-defined functions, 2-d array—matrix |
h0504.pdf matlabNotes3.pdf |
MATLAB Essentials, Part III (handout) |
5/6 R |
2-d example, simulation, course wrap-up | h0506.pdf | review MATLAB Essentials (previous handouts) |