CX 121 - Fall 2002

Introduction to Computer Science

 

Announcements

The "I Doubt It" game:
  1. The "I Doubt It" challenge!
  2. The Tournament

Homework 10 announcements:

Previous announcements

Exams

  1. Exam 1: Wednesday, 10/9, 7:00-9:00 PM in Warner 203.
  2. Exam 2: take-home programming exam, due Monday, 11/25 at the beginning of class. Solutions.
  3. Final: Tuesday 12/10 9AM-12 in WNS 202; Tuesday 12/10 7-10PM in WNS 203; Wednesday 12/11 9AM-12 in WNS 202; Thursday 12/12 9AM-12 room TBA

Assignments

  1. Assignment 1, due Monday, 9/16. Solutions.
  2. Assignment 2, due Friday, 9/20. Solutions.
  3. Assignment 3, due Friday, 9/27. Solutions.
  4. Assignment 4, due Friday, 10/4. Solutions.
  5. Assignment 5, due Monday, 10/14. Solutions.
  6. Assignment 6, due Wednesday, 10/23. Solutions.
  7. Assignment 7, due Friday, 11/1. Solutions.
  8. Assignment 8, due Friday, 11/8. Solutions.
  9. Assignment 9, due Monday, 11/18. Solutions.
  10. Assignment 10, due Friday, 12/6. Solutions.

Lectures & Readings

  1. Mon 9/9 - Course Introduction, HTML. Reading: Appendix J.
  2. Wed 9/11 - More HTML, Sample table. Reading: Appendix J.
  3. Fri 9/13 - Intro to Java, Applets, Sample applets. Reading: Chap 1.
  4. Mon 9/16 - Invoking Java applets, BuggleWorld. Reading: Chap 1.
  5. Wed 9/18 - Object-oriented programming: classes, objects, methods, class contracts. Reading: Chap 4.
  6. Fri 9/20 - Contracts, Colors, Writing Java Methods, SquareWorld. Reading: Chap 4.
  7. Mon 9/23 - Execution diagrams. Reading: Chap 2, HW3.
  8. Wed 9/25 - Execution diagrams, parameter passing (example), top-down programming.
  9. Fri 9/27 - PictureWorld, non-void methods. Reading: Chap 2.
  10. Mon 9/30 - LeafWorld, divide, conquer, and glue.
  11. Wed 10/2 - Writing classes, instance variables. Reading: Chap 2, 7.
  12. Fri 10/4 - Object diagrams. Reading: Chap 2, 7.
  13. Mon 10/7 - Conditionals, IfWorld, SnakeWorld. Reading: Chap 3.0-3.2, 3.4.
  14. Wed 10/9 - GUI design LayoutTest.
  15. Fri 10/11 - Return and go over Midterm 1; More GUI Design, InkIncForm.
  16. Mon 10/14 - GUI event handling, Counter.
  17. Wed 10/16 - More GUI event handling, discussion of Homework 6.
  18. Fri 10/18 - Recursion I. RecursionWorld. Reading: Sec 11.0-11.1.
  19. Mon 10/21 - Recursion II. RecursionWorld II. Reading: Chap 11.
  20. Wed 10/23 - Recursion III: more recursive pictures. TreeWorld, SnowflakeWorld.
  21. Mon 10/28 - Recursion IV: methods that return values. SnowflakeWorld, BagelWorld.
  22. Wed 10/30 - Recursion V: methods that return values, execution diagrams. Recursive functions, Towers of Hanoi (Hanoi applet).
  23. Fri 11/1 - Static (class) methods, invocation trees, tail recursion; overview of upcoming CX courses.
  24. Mon 11/4 - Iteration. Reading: Chap 3.6-3.8.
  25. Wed 11/6 - Iteration: examples with while and for loops; Scope.
  26. Fri 11/8 - Iteration: tail recursion.
  27. Mon 11/11 - Data abstraction, classes for I Doubt It game.
  28. Wed 11/13 - Player hierarchy for I Doubt It.
  29. Fri 11/15 - I Doubt It, Exam 2, Arrays.
  30. Mon 11/18 - Arrays.
  31. Wed 11/20 - Sorting: motivation, elementary and recursive methods; Sorting applet.
  32. Fri 11/22 - Analysis of algorithms; sorting running times; Sort.java.
  33. Mon 11/25 - Linear search; binary search.
  34. Mon 12/2 - Linked lists. IntList.java.
  35. Wed 12/4 - Exam 2 Solutions; More Linked lists.
  36. Fri 12/6 - I Doubt It tournament; Course wrapup, summary and review.