CPSC 120: Fundamentals of Computer Science I

Fall 2008: Tentative Schedule

Date Topics & Associated Reading Study Questions & Activities
Wed,
Aug 27
  • Course Overview
  • Hardware/Software
  • Operating Systems
  • The Linux operating system (Linux/Unix Overview)
Thur,
Aug 28
Lab 0: Introduction to Linux
Fri,
Aug 29
  • Computer architecture (Hardware Overview)
  • Fetch, execute cycle
  • Algorithms,programming, programming languages (Section 1.2)
  • Compilers and interpreters (Section 1.2)
Mon, Sept 1
  • Java programs - basic structure and style (documentation, identifiers, naming conventions, and use of white space) (Section 1.1)
  • Problem Solving & Program Development (Sections 1.3 & 1.4)
  • Character strings & printing (Section 2.1)
  • Self-Review (p. 28) SR# 1.4 - 1.6
  • Exercises (pp. 28, 29) EX# 1.1 - 1.7;
  • Self-Review (pp. 65 - 66) SR# 2.2 - 2.5;
  • Exercises (p. 66 - 67) EX# 2.1 - 2.5
Tues,
Sept 2
Lab 1: Editing, compiling, and modifying elementary Java programs;
Introduction to Eclipse
Wed,
Sept 3
  • Introduction to variables and assignment statements in Java (Section 2.2)
  • Primitive data types (Section 2.3)
  • Operators, operator precedence, & expressions (Section 2.4)
  • Self-Review (p. 66) #SR 2.6 - 2.14;
  • Exercises (p. 67) #EX 2.6 - 2.11
Fri,
Sept 5
  • Expressions, continued
  • Data conversion (Section 2.5)
  • Interactive programs - Scanner class (Section 2.6)
  • Post lab #1 Due
  • Self-Review (p. 103) SR# 2.10*, 2.11*, 2.12*, 2.13*, 2.15; Exercises (p. 104-106) EX# 2.6 - 2.11
Mon,
Sept 8
  • Objects and Classes (Sections 1.5, 3.1)
  • Self Review (page 28) #SR 1.8
Tues,
Sept 9
Lab 2: Writing simple programs using expressions
Wed,
Sept 10
  • Lab recap
  • Classes and class libraries (Sections 3.2 & 3.3)
  • Self Review (pp. 101-102) #3.1 - 3.7; Exercises (pp. 102 - 103) #3.1 - 3.4
Fri,
Sept 12
  • Classes & Class libraries continued
  • Math class, Random class (Sections 3.4 & 3.5)
  • Post lab #2 Due
  • Self-Review (p. 102) #SR3.10 - 3.16; Exercises (p. 103 #EX3.6 - 3.9; Programming Projects (p. 104) #3.1, 3.2
Mon,
Sept 15
  • More with method signatures
  • Supplementary Exercise; Exercise (p. 104) #3.10, 3.11
Tues,
Sept. 16
Lab 3: Writing programs using classes from the Java class library
Wed,
Sept 17
  • Lab recap
  • Representation of Numeric Data
    • Review of Numeric data types (Section 2.3)
    • Number Systems (binary, octal, hex; general concept of a base - Appendix B)
    • Representing signed integers (Two's Complement Handout)
Fri,
Sept 19
     
Mon,
Sept 22
TEST #1
Tues, Sept 23 Lab 4: More with classes (including Color and Graphics)
Wed,
Sept 24
Fri,
Sept 26
  • Introduction to Conditionals and Logic (Section 4.1, Logic Handout)
  • Boolean Expressions
  • if statements (Section 4.2)
  • Post lab #4 Due
  • Self-Review (pp. 157 - 158) #4.1- 4.4; Exercises (pp. 158 - 159) #4.1- 4.5; Study Questions from Logic Handout
Mon,
Sept 29
  • Logic and Conditionals, continued
  • Truth Tables, Laws of Logic
Tues,
Sept 30
Lab 5: Data Representation & Conditionals
Wed,
Oct 1
  • Logic and Conditionals, Continued
  • Comparing Data (Section 4.3)
  • Self-Review (p. 158) # 4.5 - 4.8;
Fri,
Oct 3
Mon,
Oct 6
Tues,
Oct 7
Lab 6: More Selection
Wed,
Oct 8
  • Lab Recap (Switch Statement, Section 4.4)
  • Constructing logic circuits, continued
  • Supplementary Exercises
Fri,
Oct. 10
  • Wrap up logic
  • Introduction to Loops (Section 4.5)
  • Handout Exercises
Mon,
Oct. 20
  • While loops, continued (Section 4.5)
  • Do Loops (Sections 4.7)
  • Self-Review (p. 158) #SR 4.10, 4.11; Exercises (p. 159-160) 4.7, 4.8, 4.11, 4.13, 4.14
Tues,
Oct. 21
Lab 7: While Loops
Wed,
Oct. 22
  • For Loops (Section 4.8)
  • Self-Review (p. 158) #SR 4.11; Exercises (p. 160) #EX 4.11
Fri,
Oct. 24
  • For Loops, continued (Section 4.8)
  • Introduction to Writing Classes (Sections 5.1, 5.2)
  • Review for Test #2
  • Handout - Review topics
  • Self-Review (p. 158) #SR 4.12; Exercises (p. 160) #EX 4.9 - 4.12, 4.15 - 4.23
Mon,
Oct. 27
TEST #2
Tues,
Oct. 28
Lab 8: More Loops
Wed,
Oct. 29
  • Introduction to Writing Classes, continued (Sections 5.1, 5.2)
  • Writing Classes - encapsulation (Section 5.3)
  • Self-Review (p. 227) #SR 5.1 - 5.4, Exercises (p. 228) EX5.1 - 5.4
Fri,
Oct. 31
  • Methods (Section 5.4)
  • Self-Review (p. 227) SR 5.6 - 5.9, 5.12 - 5.14; Exercises (pp. 228 - 229) EX 5.7, 5.10 - 5.20
Mon,
Nov. 3
  • Writing classes, continued (Sections 5.1 - 5.4)
Tues,
Nov. 4
Lab 9: Writing Classes
Wed,
Nov. 5
  • Static Class Members (Section 5.5)
  • Class Relationships (Section 5.6)
  • Self-Review (p. 227) SR #5.18 - 5.24
Fri,
Nov. 7
  • No Class - work on programming assignment & Class design worksheet
 
Mon,
Nov. 10
  • Method Design (Section 5.7)
  • Method Overloading (Section 5.8)
  • Assignment #3 Due
  • Self-Review SR 5.20, 5.21; Exercises (p. 230) EX 5.25 - 5.28
  • Programming Projects (p. 231) PP 5.1, 5.2
Tues,
Nov. 11
Lab 10: More Classes
Wed,
Nov. 12
  • Methods, continued
  • Parameter Passing exercises (handout)