CS 180 - Course Syllabus



January 11-15 (Week 1)
  • Lecture Week 1: Course overview, discussion of simple Java programming constructs.
  • Skim sections 1.3-1.6; 2.1-2.4
  • Slides, audio for lecture 1, lecture 2.

  • January 18-21 (Week 2)
    Note: No class on January 17, Martin Luther King, Jr. Day.
  • Lecture Week 2: Basics of Programming
  • Read Chapters 1.1-1.2, 1.7-1.8
  • Slides (see VOD/PODcasts at left for audio), code used in lecture.

  • January 24-28 (Week 3)
  • Lecture Week 3: Types, Functional Abstraction
  • Reach Chapter 2.3-2.8, 2.11, 5.3, 6.1-6.3
  • Slides, code used in lecture.

  • January 31 - February 4 (Week 4)
  • Lecture Week 4: More on functions: Formal Parameters and Arguments.
    Classes - the basics.
  • Read Chapter 5.3, 6.1-6.3
  • Slides.

  • February 7-11 (Week 5)
  • Lecture Week 5: Classes as Abstract Data Types
  • Read Chapters 8 (skim)
  • Slides.

  • February 14-19 (Week 6)
  • Lecture Week 5: More on Abstract Data Types: Interfaces
    February 16: Guest Lecture by Prof. Mathur: Reasoning about Control Flow
  • Read Chapter 9, 3, 4
  • Slides from 2/16, code used in 2/14 lecture.

  • February 21-25 (Week 7)
  • Lecture Week 7: Exception Handling
  • Read Chapter 11
  • Slides, code used in lecture.

  • February 28-4 (Week 8)
  • Exam 1: February 28, 4:30-5:20pm, WTHR 200. Covers material through Week 6 / Lab 5 / Project 2.
  • Lecture Week 8: Testing and Debugging
  • Read Chapter 15.1-15.4
  • Slides.

  • March 7-11 (Week 9)
  • Lecture Week 9: More on Data Abstraction: Inheritance, Generics
  • Read Chapters 10, 17.9
  • Slides, code used in lecture.

  • March 21-25 (Week 10)
  • Lecture Week 10: Linked Data Structures (and practice with Generics)
  • Read Chapter 17.1-17.6
  • Slides, Code used in lecture

  • March 28-April 1 (Week 11)
  • Lecture Week 11: Linked Data Structures, Recursion
  • Read Chapter 17.7-17.8
  • Slides, Code used in lecture

  • April 4-8 (Week 12)
  • Lecture Week 12: Event-driven programming: GUIs
  • Read Chapter 12-12.4
  • Slides.
  • Exam 2: April 6, 4:30-5:20pm, WTHR 200. Covers material through Week 11 / Lab 10 / Project 4.
    April 11-15 (Week 13)
  • Lecture Week 13: Event-driven programming: GUIs
  • Read Chapters 12.5-12.6, 13.1-13.4
  • code used in lecture.

  • April 18-22 (Week 14)
  • Lecture Week 14: Streams, File I/O, and Network I/O
  • Read Chapter 18.
  • Slides

  • April 25-29 (Week 15)
  • April 25: Review of items people seem to have difficulty with
    April 27: Guest Lecture by Prof. Vitek: The Java Virtual Machine and how the Java Language is implemented
  • Lab this week will be an opportunity to work on Project 6 on the actual phones. Nothing to be turned in, although if your project works successfully, please show it to your lab instructor.
  • Review during recitations
  • Slides

  • May 2-7 (Finals Week)
  • Final Exam: Tuesday, May 3 3:20pm - 5:20pm PHYS 112