CS 101 - Fall 2005

Introduction to Computer Science

 

Announcements

December 12 - 16

Previous announcements


Exams

  1. Test program 1: Assigned Sunday, October 9, due Monday, October 24. (solutions)
  2. Test program 2: Assigned Monday, November 28, due Friday, December 9.
  3. Final: Tuesday, December 13, 9-12, or Thursday, December 15, 9-12, MBH 303.


Labs and Assignments

  1. Lab 1, Tuesday 9/13: Intro to Java, due Monday, 9/19. (solutions)
  2. Lab 2, Tuesday 9/20: Dirty Laundry, due Monday, 9/26. (solutions)
  3. Lab 3, Tuesday 9/27: Magnets, due Monday, 10/3. (solutions)
  4. Lab 4, Tuesday 10/4: Boxball, due Monday, 10/10. (solutions)
  5. Lab 5, Tuesday 10/11: Frogger, due Monday, 10/17. (solutions)
  6. Lab 6, Tuesday 10/25: TextPlay, due Monday, 10/31. (solutions)
  7. Lab 7, Tuesday 11/1: Doodling, due Monday, 11/7. (solutions)
  8. Lab 8, Tuesday 11/8: Simon, due Monday, 11/14. (solutions)
  9. Lab 9, Tuesday 11/15: Nibbles, due Monday, 11/21. (solutions)
  10. Lab 10, Tuesday 11/22: SpamFilter, due Friday, 12/2. (solutions)


Syllabus

Date     Lectures and Labs     Reading Exercises
 
Week 1
Mon 9/12     Lect 1: Course Introduction     Chap 1 1.9.3
Tues 9/13     Lab 1: Introduction to Java (No clicking)    
Wed 9/14     Lect 2: Graphics, Event Handling     Chap 2 2.7.2, 2.7.6
Fri 9/16     Lect 3: Variables and Numbers     Chap 3 3.11.2 a, b
 
Week 2
Mon 9/19     Lect 4: Conditionals     Chap 4
Tues 9/20     Lab 2: Events Handling with Conditionals (Dirty Laundry)    
Wed 9/21     Lect 5: Primitive Types and Strings     Chap 5
Fri 9/23     Lect 6: Defining and Using Classes     Chap 6
 
Week 3
Mon 9/26     Lect 7: Classes, Control Structures     Chap 6, 7 6.8.3, 6.8.5, 7.10.1
Tues 9/27     Lab 3: Defining Classes (Repulsive Behavior)      
Wed 9/28     Lect 8: Declarations and Scope     Chap 8 8.1.1, 8.2.1
Fri 9/30     Lect 9: Active Objects I     Chap 9 9.4.1, 9.5.1, 9.10.1, 9.10.2
 
Week 4
Mon 10/3     Lect 10: Active Objects II     Chap 9
Tues 10/4     Lab 4: Parameters (Boxball)    
Wed 10/5     Lect 11: Active Objects III     Chap 9
Fri 10/7     Lect 12: Interfaces
Test Program 1 assigned
    Chap 10
 
Week 5
Mon 10/10     Lect 13: User Interface Components and Events I     Chap 11
Tues 10/11     Lab 5: Loops and Simple Threads (Frogger)    
Wed 10/12     Lect 14: User Interface Components and Events II     Chap 11
Fri 10/14     Lect 15: User Interface Components and Events III     Chap 11
 
Week 6
Mon 10/17     Lect 16: Recursive Structures and Methods I     Chap 12
Tues 10/18     No lab - Work on Test Program 1    
Wed 10/19     Lect 17: Recursive Structures and Methods II     Chap 12
Fri 10/21     No class: Fall break    
 
Week 7
Mon 10/24     Lect 18: Recursive Structures and Methods III
Test Program 1 due
    Chap 12 12.1.6, 12.1.13, 12.2.1
Tues 10/25     Lab 6: GUI Practice (Textplay)    
Wed 10/26     Lect 19: Debugging, Recursion Practice
    Chap 12
Fri 10/28     Lect 20: For Loops and Arrays     Chap 13 13.2.2, 13.6.5
 
Week 8
Mon 10/31     Lect 21: Arrays I     Chap 14 14.5.2, 14.9.2
Tues 11/1     Lab 7: Recursion (Doodling)    
Wed 11/2     Lect 22: Arrays II     Chap 14
Fri 11/4     Lect 23: Object-Oriented Program Design     Chap 21
 
Week 9
Mon 11/7     Lect 24: Multi-Dimensional Arrays     Chap 15 15.2.1, 15.4.1
Tues 11/8     Lab 8: Arrays (Simon)    
Wed 11/9     Lect 25: Inheritance     Chap 17
Fri 11/11     Lect 26: Binary numbers, UNIX, Java applications      
 
Week 10
Mon 11/14     Lect 27: Character Strings     Chap 16
Tues 11/15     Lab 9: 2D Arrays (Nibbles)    
Wed 11/16     Lect 28: Exceptions     Chap 18
Fri 11/18     Lect 29: Searching, complexity of algorithms     Chap 20 20.1.2, 20.1.4
 
Week 11
Mon 11/21     Lect 30: Applications, Files, and Streams     Chap 19 19.2.2, 19.7.1, 19.7.3
Tues 11/22     Lab 10: Strings (Spam)    
Wed 11/23     No class - Thanksgiving break      
 
Week 12
Mon 11/28     Lect 31: Streams and Networks
Test Program 2 assigned
    Chap 19
Tues 11/29     Lab 11: Test Program 2    
Wed 11/30     Lect 32: Elementary sorting methods     Chap 20
Fri 12/2     Lect 33: Recursive sorting methods     Chap 20
 
Week 13
Mon 12/5     Lect 34: Linked Lists      
Tues 12/6     No lab - work on Test Program 2    
Wed 12/7     Lect 35: Concurrency      
Fri 12/9     Lect 36: Course Summary; What is Computer Science?
Test Program 2 due