CS 111 - Introduction to Computer Science I
Readings


Unless otherwise noted, all readings are from the course text.  Each reading assignment should be completed before the class on the date indicated.  These readings are subject to change; check here for updates.  If a reading assigned in class does not match the reading assignment here, the reading assigned in class supersedes.  
Class Month Day Topic Readings (parenthesized
reading are optional)
1 January 19 Course overview, introduction to computing environment  
2   22 Introduction to computing environment (cont.), bash, emacs, compiling and editing Java programs Deitel & Deitel Chapter 1
3   24 "Hello, World."; strings and printing strings 2.1-2.3
4   26 Integers, integer input, variables, assignment 2.4-2.6
5   29 Scanner class (cont.), integer operations rest of Ch. 2
6   31 Floating point numbers, doubles, conversion of doubles to integers  
7 February 2 Integer operations, equality and relational operators, decisions with if  
8   5 Classes, objects, and methods 3.1-3.4
9   7 Instance variables, get/set methods, access specifiers, primitive/reference types 3.5-3.6
10   9 Constructors, floating-point numbers, double 3.7-3.8
11   12 Dialog boxes, identifying classes rest of Ch. 3
12   14 Algorithms, pseudocode, control structures, selection and repetition statements, if, if...else, conditional operator, nested if...else, dangling else 4.1-4.6
13   16 if, if...else (cont.)  
14   19 While repetition 4.7
15   21 Counter- and sentinel-controlled repetition 4.8-4.9
16   23 Formulating algorithms, nested control structures 4.10
17   26 Compound assignment, increment and decrement, primitive types, random number generation 4.11-4.13, 6.9
18   28 Simple GUI drawings, identifying class attributes Rest of Ch. 4
19 March 2 For repetition 5.1-5.4
20   5 Do...while repetition, switch multiple selection 5.5-5.6
21   7 Break, continue, logical operators, control structure summary 5.7-5.9
22   9 (in-class midterm exam) Rest of Ch. 5
23   19 Program modules, static methods and fields, main methods, methods with multiple parameters, method calls, (non)static context 6.1-6.4
24   21 Call stacks, stack frames/activation records, argument promotion and casting, API packages, random number generation 6.5-6.9(review)
25   23 Variable scope 6.10-6.11
26   26 Method overloading, drawing with colors and filled shapes, identifying class operations Rest of Ch. 6
27   28 Array declaration, creation, and use 7.1-7.4
28   30 Card shuffling example 7.5
29 April 2 Enhanced for statement, passing arrays to methods 7.6-7.8
30   4 Multidimensional arrays 7.9-7.10
31   11 Variable length argument lists, command-line arguments 7.11-7.12
32   12 Drawing arcs, object collaboration rest of Ch. 7
33   13 Eclipse Java Development Environment  
34   16 Examples: access specifiers, this keyword 8.1-8.4
35   18 Overloaded constructors, default/no-argument constructors 8.5-8.6
36   20 Set and get methods, composition 8.7-8.8
37   23 Enumerations, garbage collection 8.9-8.10
38   25 Static class members, static import, final instance variables 8.11-8.13
39   27 Software reusability, data abstraction and encapsulation, 8.14-8.16
40   30 Package access, object-oriented graphics examples Rest of Ch. 8
41 May 2 (course evaluations)  
42   4 (in-class final exam - Prof. Neller away at conference during finals week)