CS 101 - Fall 2003
Introduction to Computer Science
Announcements
- December 8-11
-
- Office hours this week Monday 12/8 and Wednesday 12/10 10:00-12:00.
- Help sessions this week on Tuesday 12/9 3:45-5:45 and Wednesday 12/10 2:00-4:00.
- Final exam Thursday 12/11 9 AM - 12 noon in BiHall 104. The exam is closed-book,
closed-notes, but you may bring one 8.5x11 inch sheet of
paper (two-sided) containing any notes you might find helpful.
- Previous announcements
Exams
- Quiz: Friday, 10/3, in class
- Midterm:
take-home programming exam,
due Friday, 11/7 at the beginning of class.
Solutions.
- Final: Thursday 12/11 9AM-12 in BIH 104.
Assignments
- Assignment 5, due Wednesday, 10/15.
Solutions.
- Assignment 6, due Tuesday, 10/28.
Solutions.
- Assignment 7, due Monday, 11/3.
Solutions.
- Assignment 8, due Tuesday, 11/18.
Solutions.
- Assignment 9, due Tuesday, 11/25.
Solutions.
- Assignment 10, due Friday, 12/5.
Solutions.
Lectures & Readings
- Mon 10/6 - Transition to new instructor; announcements.
- Wed 10/8 - Object diagrams; Conditionals.
- Fri 10/10 - Return and go over Quiz; More conditionals; Boolean
operations; IfWorld,
SnakeWorld.
- Mon 10/13 - Recursion I.
RecursionWorld.
- Wed 10/15 - Recursion II.
RecursionWorld II.
- Mon 10/20 - no class due to family emergency.
- Wed 10/22 - Recursion III: more recursive pictures.
TreeWorld,
SnowflakeWorld.
- Fri 10/24 - Recursion IV: methods that return values, execution diagrams.
SnowflakeWorld,
BagelWorld.
- Mon 10/27 - Recursion V: invocation trees, "static" methods, classic examples of recursion.
Recursive functions,
Towers of Hanoi
(Hanoi applet).
- Wed 10/29 - Tail recursion.
- Fri 10/31 - Iteration.
PathFinderWorld.
- Mon 11/3 - Take-home programming midterm
distributed; Iteration: examples with while and for loops; Scope.
- Wed 11/5 - GUI design. LayoutTest.
- Fri 11/7 - More GUI Design, GUI event handling.
InkIncForm,
Counter,
HiLo.
- Mon 11/10 - Abstraction, Arrays.
Shapes.
Supplementary notes.
- Wed 11/12 - Sorting: motivation, elementary methods.
Avoid globals.
Loop version of Fibonacci.
- Fri 11/14 - Java applications; Sorting: selection sort, insertion sort.
Backwards.java,
AvgMin.java,
SelectionSort.java,
InsertionSort.java
- Mon 11/17 - Analysis of algorithms; sorting running times; merge sort, quick sort.
Sort.java
- Wed 11/19 - Java Graphics.
GraphicsDemo,
Circles,
Ovals.
- Fri 11/21 - Return exams; Finish sorting; More graphics applets.
- Mon 11/24 - Event handling.
Einstein,
Dots,
RubberLines.
- Mon 12/1 - Searching; Linked lists.
Sorting animation,
IntList.java.
- Wed 12/3 - More linked lists.
- Fri 12/5 - Course wrapup, final exam info,
bj accounts,
code examples,
course summary
(html).