Graphic by Keith Ohlfs |
|
No Labs this week!
Lec#1 Tuesday, September 2 |
Introduction to CS111 | |
|
Topics: | |
|
| |
|
|
Big Ideas |
|
Reading: |
Macintosh
Fundamentals |
|
|
|
Lec#2 Thursday, September 4 |
The Web and Web Pages | |
|
Topics: |
More Big Ideas |
|
|
The Internet and the World-Wide Web |
|
|
Introduction to HTML |
|
Assignment: |
PreLab #1 (due in Lab #1, September 8/9) |
|
Reading: |
Using
Nike |
|
|
|
Lab#1 Monday, September 8 |
Building Your Own Web Page | |
|
Topics: |
Macintosh Overview |
|
|
Symantec Cafe Editor |
|
|
Fetch |
|
|
HTML Practice |
|
Due Today: | |
|
Assignment |
Lab Assignment #1 (Home Page) (due 6pm, Thursday, September 11) |
Lec#3 Tuesday, September 9 |
HTML as a Language | |
|
Topics: |
Interpreters |
|
|
The Structure of HTML Programs |
|
Reading: |
programming.java, Chapter 1 |
Lec#4 Thursday, September 11 |
Applets | |
|
Topics: |
HTML wrap-up: tables & forms |
|
|
Applets as Black-Box Abstractions |
|
| |
|
|
Implementing a simple Applet in Java |
|
Due Today: |
Lab Assignment #1 |
|
Assignments: |
Prelab #2
(Applets) (due in Lab #2, September 15/16) |
|
Reading: |
programming.java, Chapter 2 |
Lab#2 Monday, September 15 |
Building An Applet | |
|
Topics: |
Viewing Applets: Netscape, Applet Viewer |
|
|
Symantec Cafe Projects |
|
|
Compiling a Project |
|
|
Errors/Debugging |
|
|
Simple Java Graphics |
|
Assignment |
Lab Assignment #2 (Faces) (due 6pm, Thursday, September 18) |
Lec#5 Tuesday, September 16 |
Object Oriented Programming | |
|
Topics: |
Review: Projects, Compilation, Execution |
|
|
Introduction to Object-Oriented Programming |
|
|
Java Graphics |
|
|
Building a House |
Lec#8 Thursday, September 18 |
Abstraction 1 | |
|
Topics: |
Wrap-up: Invoking Applets |
|
|
Black-Box Abstraction: Contracts/APIs |
|
|
Capturing Patterns: Naming |
|
Due Today: | |
|
Assignments: |
Problem Set #2
(Something Fishy) (due 6pm, Monday Sept. 29) |
Lab#3 Monday, September 22 |
Naming | |
|
Topics: |
|
|
Due Today: |
Prelab #2 (Applets) (extension), Prelab#3 (Debugging) |
|
Assignment: |
Lec#7 Tuesday, September 23 |
Abstraction 2 | |
|
Topics: |
Naming Review |
|
|
Capturing Patterns: Methods |
|
Reading: |
programming.java, Sections 5.1--5.4 |
Lec#8 Thursday, September 25 |
Java Execution Model | |
|
Topics: | |
|
| |
|
Due Today: | |
|
Assignment: |
Prelab #4 (Arches) (due in lab, Sept. 29/30) |
Lab#4 Monday, September 29 |
Methods | |
|
Topics: |
|
|
Due Today: | |
|
Assignment: |
Lab Assignment #4 (Castles) (due 6pm, Thursday, October 22) |
Lec#9 Tuesday, September 30 |
Divide and Conquer via Methods | |
|
Topics: |
Using methods to solve problems |
|
|
Patchwork quilt example. |
Lec#10 Thursday, October 2 |
HodgePodge | |
|
Topics: |
Nested Tables in HTML (from PS1) |
|
|
PS3 Explanation |
|
|
Debugging/System.out.println |
|
|
Arithmetic in Java |
|
Due Today: | |
|
Assignment: |
Problem Set #3
(Quilts) (due 6pm, Tuesday, October 7) |
Lab#5 Monday, October 6 |
Exam 1 Review | |
|
Topics: |
|
|
Due Today: |
Lec#11 Tuesday, October 7 |
Objects: Classes | |
|
Topics: |
Handling variables in the Java Execution Model |
|
|
Statements vs. Expressions |
|
|
Classes |
|
|
Constructors |
|
Due Today: | |
|
Announcement: |
Exam 1 Review Sessions will be held Tuesday Oct. 7 and Wednesday Oct. 8 from 6-8pm in E111 |
Lec#12 Tuesday, October 9 |
Exam 1 (in class) |
No Labs or Tuesday Lecture this week! (Fall Break)
No Tuesday lecture this week!
Lec#13 Thursday, October 16 |
BuggleWorld | |
|
Topics: |
Buggle contract |
|
|
Observers vs. Mutators |
|
|
Object diagrams |
|
|
Simple Inheritance |
|
Assignment: |
Prelab #6 (Buggles) (due in lab, Oct. 20/21) |
Lab#6 Monday, October 20 |
Buggleworld/Conditionals | |
|
Topics: |
Practice with Buggles |
|
|
Conditionals |
|
Due Today: | |
|
Assignment: |
Lab Assignment #6 (Conditionals) (due 6pm, Thursday, October 23) |
Lec#14 Tuesday, October 21 |
Conditionals | |
|
Topics: |
Overriding inherited methods (visit example) |
|
|
Conditionals |
|
|
Flow Charts |
|
|
Nested Conditionals |
|
Reading: |
programming.java, pp. 181-187 (boolean operators) |
|
|
programming.java, pp. 216-225 (if statements) |
|
|
Computing Concepts with Java, Chapter 4 (Decisions) |
Lec#15 Thursday, October 23 |
Recursion 1 | |
|
Topics: |
Conditional wrap-up: boolean operators (and, or, not) |
|
|
Rule-based motion (Snaker example) |
|
|
Introduction to recursion (fd example) |
|
Due Today: | |
|
Assignment: |
Prelab #7 (Recursion) (due in lab, Oct. 27/28) |
|
Reading: |
Computing Concepts with Java, Section 5.14 (Recursion) |
Lab#7 Monday, October 27 |
Recursion | |
|
Topics: |
Recursion |
|
Due Today: | |
|
Assignments: |
Lab Assigment #7
(Recursion) (due 6pm, Thursday, November 30) |
Lec#16 Tuesday, October 28 |
Recursion 2 | |
|
Topics: |
Problem Set 4: FollowWorld and Find World |
|
|
Multiple ways to decompose fd. |
|
|
Using recursion to simplify Snaker |
|
|
Methods that return booleans |
Lec#17 Thursday, October 30 |
Recursion 3/Iteration 1 | |
|
Topics: |
Tail recursion and iteration: while |
|
|
Retriever example |
|
|
Recursive Methods that return values |
|
|
Patchwork quilts revisited |
|
Due Today: | |
|
Assignment: |
Problem Set #5 (due 6pm, Saturday November 8) |
|
Announcement |
There is no Prelab#8 |
Lab#8 Monday, November 3 |
Recursion/Iteration | |
|
Topics: |
Lab#8 Lab: You do not have to turn this in. |
|
Announcement |
There is no Prelab #8 |
|
Due Yesterday: |
Problem Set #4 (Bagging Bagels) (due 11:59pm, Sunday, November 2) |
Lec#18 Tuesday, November 4 |
Recursion 4 | |
|
Topics: |
Turtle Graphics examples |
|
|
Towers of Hanoi |
|
Reading: |
programming.java, Section 5.4 (Assignments and Statements) |
|
|
Computing Concepts with Java Essentials: Chapter 6 (Iteration) |
Lec#19 Thursday, November 6 |
Iteration | |
|
Topics: |
Numerical Recursion |
|
|
Iteration |
|
|
while and for loops |
|
|
assignment |
|
|
loop invariants |
|
Due Saturday: | |
|
Assignment: |
Problem Set #6 (due 6pm, Thursday November 6) |
|
Reading: |
|
Lab#9 Monday, November 10 |
Exam 2 Review | |
|
Topics |
Lab#9 Lab: You do not have to turn this in. |
|
Announcement |
There is no Prelab #9! |
Lec#20 Tuesday, November 11 |
Lecture Cancelled | |
|
Topics: |
|
Lec#21 Thursday, November 13 |
Instance Variables | |
|
Topics: |
Fibonacci Function: Recursion vs. Iteration |
|
|
Using instance variables to count bagels |
|
Due Today: | |
|
Examination: |
Exam 2 (take-home) (due 6pm, Sunday, November 23) |
|
Reading: |
|
Lab#10 Monday, November 17 |
Objects With State: Kinetic World | |
|
Topics: |
Lab#10 Lab: You do not have to turn this in. |
|
Announcment |
There is no Prelab #10 |
Lec#22 Tuesday, November 18 |
Data Abstraction 1 | |
|
Topics: |
Instance Variables |
|
|
Hiding representations: Private vs. Public |
|
|
Vector example |
Lec#23 Thursday, November 20 |
Data Abstraction 2 | |
|
Topics: |
Multiple representations |
|
|
Interoperability between representations. |
|
|
Vector example continued |
|
Due 6pm on Sunday: |
Exam 2 |
|
Assignment: |
|
|
Reading: |
|
Lab#11 Monday, November 24 |
User Interfaces | |
|
Topics: |
|
|
Announcements: |
There is no Prelab #11 |
Lec#24 Tuesday, November 25 |
Arrays 1 | |
|
Topics: |
|
|
Assignment: |
Problem Set #7 (due Monday, December 8 ) |
|
Reading: |
|
Lab#12 Monday, December 1 |
Arrays | |
|
Topics: |
|
Lec#25 Tuesday, December 2 |
Arrays 2 | |
|
Topics: |
|
|
Reading: |
|
Lec#22 Thursday, December 4 |
What can be Computed? | |
|
Topics: |
|
|
|
|
Lab#13 Monday, December 1 |
Final Exam Review Sessions | |
|
Topics: |
|
|
Due Today: |
Problem Set #7 |
Reading Period
Final Exam Period