CS 101 - Fall 2009

The Computing Age

Announcements


Exams

  1. Midterm 1, Tue Oct 6, 7:30-9:30pm, MBH 219.
  2. Midterm 2, Tue Nov 3, 7:30-9:30pm, MBH 219.
  3. Final Exam: Tue Dec 8, 9-noon, or Wed Dec 9, 9-noon, MBH 219.


Labs and Assignments

  1. Lab 1, Tue 9/8: HTML. Solutions.
  2. Lab 2, Tue 9/15: Java. Solutions.
  3. Lab 3, Tue 9/22: Circuits. Solutions.
  4. Lab 4, Tue 9/29: Conditionals and Iteration. Solutions.
  5. Lab 5, Tue 10/6: Architecture Simulation. Solutions.
  6. Lab 6, Tue 10/20: Debugging. Solutions.
  7. Lab 7, Tue 10/27: I/O and object-oriented programming. Solutions.
  8. Lab 8, Tue 11/3: Recursion. Solutions.
  9. Lab 9, Tue 11/10: Arrays. Solutions.
  10. Lab 10, Tue 11/17: Final projects.
  11. Lab 11, Tue 11/24: Artificial Intelligence.
  12. Lab 12, Tue 12/1: Final projects.


Syllabus

Readings refer to the Computer Science text by Brookshear [CS] and the Java text by Reges & Stepp [J]. Please check back for updates and links to lecture notes, examples, and readings.

Date     Lectures Reading
Week 1
Mon 9/7 AD Lect 1: Course Introduction CS 0
Wed 9/9 A Lect 2: Java Basics (Examples) CS 0; J 1.1-1.3
Fri  9/11 D Lect 3: More Java Basics (Examples) J 1.4, 2.1, 3.1
 
Week 2
Mon 9/14 A Lect 4: Digital Representations (Examples) J 3.1; CS 1.4-5
Wed 9/16 D Lect 5: More Digital Representations: Images and Sounds       CS 1.4-5, 1.8
Fri  9/18 A Lect 6: Basic Data Types and Operations (Examples) J 1.2-5, 2.1, 3.1
 
Week 3
Mon 9/21 D Lect 7: Digital Circuits CS 1.1, 1.5
Wed 9/23 A Lect 8: Variables and Assignment (Examples, animation) J 2.2, 4.2
Fri  9/25 D Lect 9: Conditional Execution (Examples) J 2.2, 4.2
 
Week 4
Mon 9/28 A Lect 10: Iteration (Examples) J 2.3, 4.2, 4.4, 5.1-2
Wed 9/30 A Lect 11: Nested Constructs (Examples) J 2.3, 4.2-3
Fri  10/2 D Lect 12: Numeric Representations CS 1.1, 1.4-7
 
Week 5
Mon 10/5 D Lect 13: Computer Architecture CS 2
Wed 10/7 D Lect 14: History of Computers CS 0.2
Fri  10/9 A Lect 15: Programming Languages (Examples) CS 6
 
Week 6
Mon 10/12 Fall break
Wed 10/14 A Lect 16: Social Issues, Privacy CS 7.9, 9.7, 11.7
Fri  10/16 D Lect 17: Return values; Scanner; Debugging (Examples) J 3.2, 3.4
 
Week 7
Mon 10/19 D Lect 18: Exceptions; Input/Output (Examples) J 3.4, 6.4
Wed 10/21 D Lect 19: Operating Systems CS 3; this tutorial
Fri  10/23 A Lect 20: Object-Oriented Programming (Examples) J 3.3, 8.1
 
Week 8
Mon 10/26 D Lect 21: More Object-Oriented Programming (Examples) J 8
Wed 10/28 A Lect 22: The Internet and the World Wide Web CS 4
Fri  10/30 A Lect 23: Recursion (Examples) CS 5.5; J 12.1-3
 
Week 9
Mon 11/2 D Lect 24: More Recursion (Leaf, Examples) J 12.1-3, Turtle graphics
Wed 11/4 A Lect 25: Even More Recursion (Examples, Applets) CS 5.5; J 12.1-3
Fri  11/6 D Lect 26: Arrays (Examples) J 7.1-2
 
Week 10
Mon 11/9 A Lect 27: Multi-dimensional Arrays (Examples) J 7.1-4
Wed 11/11 A Lect 28: Security and Privacy CS 3.5, 4.5
Fri  11/13 D Lect 29: Graphics and GUIs (Examples) J 3G.1, 14
 
Week 11
Mon 11/16 D Lect 30: GUIs and Events (Examples) J 3G.1, 14
Wed 11/18 D Lect 31: Performance
Fri  11/20 A Lect 32: Computational Complexity (Examples) CS 5.4-5.6; J 13
 
Week 12
Mon 11/23 D Lect 33: Artificial Intelligence CS 11
Wed 11/25 Thanksgiving break
Fri  11/27 Thanksgiving break
 
Week 13
Mon 11/30 A Lect 34: More Complexity CS 5.4-5.6; J 13
Wed 12/2 A Lect 35: What Computers Can and Can't Do CS 12
Fri  12/4 AD Lect 36: What is Computer Science?