[CS111 Home Page]
[Syllabus] [Lecture
Notes] [Assignments]
[Programs]
[Documentation]
[Software Installation]
[FAQ]
[CS Dept.]
[CWIS]
CS111 Syllabus--Fall 2000
Last revised November 10, 2000
Week 1: September 4 - 8
Wednesday, September 6:
Lec #1 -- Thursday/Friday, September 7/8:
- Topics
- Administrivia
- Big ideas in CS111; divide/conquer/glue, abstraction,
modularity, language
- Assignments:
- CS111 registration survey (Due: Friday, September 8, 5:00
p.m.)
Week 2: September 11 - 15
Lec #2 -- Monday, September 11:
- Topics: Introduction to Java and Object-Oriented Programming
- about Java
- introduction to buggles and BuggleWorld
- contracts
Tuesday, September 12:
- Assignments due:
- Assignments handed out:
- Problem Set #1: Writing simple Java code (Due: Tuesday,
September 19)
Available on the assignments
page.
Lab #1 -- Wednesday, September 13:
- Introduction to Macintosh, FirstClass, Fetch, Nike
- Introduction to Symantec Cafe and AppletViewer
- Writing simple Java Code: buggles
Lec #3 -- Thursday/Friday, September 14/15:
- Topics: Java Syntax
- expressions
- statements
- primitive data types
- variables
- comments
Week 3: September 18 - 22
Lec #4 -- Monday, September 18:
- Topics: Methods I
- writing methods
- the Java Execution Model (JEM)
- inheritance
- black box abstraction
Tuesday, September 19:
- Assignments due:
- Problem Set #1: Writing simple Java code
- Assignments handed out:
- Problem Set #2: Methods with parameters (Due Tuesday,
September 26)
Lab #2 -- Wednesday, September 20:
- Writing Java methods
- Java Execution Model
- Debugging
- Style
Lec #5 -- Thursday/Friday, September 21/22:
- Topics: Methods II
- parameters
- scope
- JEM with parameters
Week 4: September 25 - 29
Lec #6 -- Monday, September 25:
- Topics: Methods III
- methods that return values
- PictureWorld
- Invocation Trees
Tuesday, September 26:
- Assignments due:
- Problem Set #2: writing methods I
- Assignments handed out:
- Problem Set #3: writing methods II; Invocation trees (Due
Tuesday, October 3)
Lab #3 -- Wednesday, September 27:
- PictureWorld
- More Divide/Conquer/Glue
- Invocation Trees
Lec #7 -- Thursday/Friday, September 28/29:
- Topics: Methods IV.
- PictureWorld examples
- Divide/conquer/glue
Week 5: October 2 - 6
Lec #8 -- Monday, October 2:
- Topics: Conditionals I
- boolean expressions
- conditionals
Tuesday, October 3:
- Assignments due:
- Problem Set #3: writing methods II; Invocation trees
- Assignments handed out:
- Problem Set 4: Conditionals (Due Tuesday, October 17)
Lab #4 -- Wednesday, October 4:
Lec #9 -- Thursday/Friday, October 5/6:
- EXAM # 1 -- In class. Covers material through Methods
IV (Lecture #7) and Problem Set 3.
Week 6: October 9 - 13
Monday/Tuesday, October 9/10:
- No Class - Happy Fall Break!
Lec #10 -- Wednesday, October 11 (Monday Schedule):
- Topics: Conditionals II
- Buggle examples
- flow diagrams
- pseudoloops
- Overriding
Lec #11 -- Thursday/Friday, October 12/13:
- Topics: Recursion I
- recursive buggle methods
- the Java execution model revisited
Week 7: October 16 - 20
Lec #12 -- Monday, October 16:
- Topics: Recursion II.
- TurtleWorld
- Recursive turtle methods
Tuesday, October 17:
- Assignments due:
- Problem Set #4: conditionals
- Assignments handed out:
- Problem Set #5: writing recursive methods I (Due Tuesday,
October 24)
Lab #5 -- Wednesday, October 18:
Lec #13 --Thursday/Friday, October 19/20:
- Topics: Recursion III.
- Recursive methods that return values
Week 8: October 23 - 27
Lec #14 -- Monday, October 23:
- Topics: Recursion IV.
- Functions (static methods)
- Recursive functions
- Classic recursion examples
Tuesday, October 24:
- Assignments due:
- Problem Set #5: writing recursive methods I
- Assignments handed out:
- Problem Set #6: writing recursive methods II (Due Tuesday,
October 31)
Lab #6 -- Wednesday, October 25:
- Recursive methods that return values
Lec #15 --Thursday/Friday, October 26/27:
- Topics: Lists I
- linked lists
- IntList contract
- box-and-pointer diagrams
- simple list recursion
Week 9: October 30 - November 3
Lec #16 -- Monday, October 30:
- Topics: Lists II
- more list recursion
- List contract
- strings
- primitive data wrappers and casts
Tuesday, October 31:
- Assignments due:
- Problem Set #6: writing recursive methods II
- Assignments handed out:
- Problem Set #7: Lists (Due Tuesday, November 7)
Lab #7 -- Wednesday, November 1:
Lec #17 -- Thursday/Friday, November 2/3:
- Topics: Iteration I
- iteration
- state variables
- exit conditions
- tail recursion
- while loops
- assignment
Week 10: November 6 - 10
Lec #18 -- Monday, November 6:
- Topics: Iteration II
- while loops
- for loops
- Nested for loops
- Looping and lists
Tuesday, November 7:
- Assignments due:
- Assignments handed out:
- Problem Set #8: Iteration (Due Tuesday, November 14)
Lab #8 -- Wednesday, November 8:
Lec #19 -- Thursday/Friday, November 9/10:
- Topics: Linear Collections I
- array syntax and semantics
- introduction to iterating over arrays
Week 11: November 13 - 17
Lec #20 -- Monday, November 13:
- Topics: Linear Collections II
- more iterating over arrays
- vector contract
Tuesday, November 14:
- Assignments due:
- Problem Set #8: Iteration
Lab #9 -- Wednesday, November 15:
Lec #21-- Thursday/Friday, November 16/17:
- Topics: Linear Collections III
- Enumerations
- Iteration with vectors
Week 12: November 20 - 24
Lec #22 -- Monday, November 20:
- EXAM # 2 -- In class. Covers material through Iteration
II (Lecture #18) and Problem Set 8.
Tuesday, November 21:
- Assignments due:
- Assignments handed out:
Wednesday, November 22:
Thursday/Friday, November 23/24:
- No Class - Happy Thanksgiving!
Week 13: November 27 - December 1
Lec #23 -- Monday, November 27:
- Objects I
- building your own objects
- instance variables
- constructor methods
- object diagrams
Tuesday, November 28:
- Assignments due:
- Assignments handed out:
- Problem Set #9: Arrays, Vectors and Objects (Due Tuesday,
December 5)
Lab #10 -- Wednesday, November 29:
- Building your own objects
- Data Abstraction
- Java graphics
Lec #24 -- Thursday/Friday, November 30/December 1:
- Topics: Objects II
- simple Java graphics
- object examples: TurtleWorld
- Inheritance
Week 14: December 4 - 8
Lec #25 -- Monday, December 4:
- Topics: GUI I
- Java AWT component hierarchy
- layout
Tuesday, December 5:
- Assignments due:
- Problem Set #9: Arrays, Vectors and Objects
- Assignments handed out:
Lab #11 -- Wednesday, December 6:
Lec #26 -- Thursday/Friday, December 7/8:
- Topics: GUI II
- event model
- applet life cycle
- GUI's and inheritance
End of Classes
Final Exam--Scheduled During Regular Exam Period