CS 112 - Introduction to Computer Science II
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 22 Introduction, overview, system orientation, homework overview, Objects and Classes: defining classes, creating objects, constructors, object reference variables, defining and accessing object fields and methods Course Information Page, 9.1-5, HW1, Bash Tutorial, Eclipse Tutorial
2   24 Objects and Classes: Java library classes, static versus non-static, private access specifier, getter/setter methods, data encapsulation, variable scope, keyword this; Object-Oriented Thinking: wrapper classes and conversion to/from primitive types (i.e. auto-(un)boxing), BigInteger, BigDecimal  9.6-14, 10.1-9
3   26 Object-Oriented Thinking: String, StringBuilder, StringBuffer 10.10-11
4   29 Recursion: recursive problem solving, base case(s), recursive step 18.1-4 
5   31 Recursion: recursive helper/auxiliary functions, recursive solution examples 18.5-7
6 February 2 Recursion: dynamic programming pattern  
7   5 Inheritance and Polymorphism: FreeCell O-O design example, superclass, subclass, inheritance, “extends”, “super”, overriding vs. overloading, toString, polymorphism, dynamic binding 11.1-8, FreeCell rules
8   7 Inheritance and Polymorphism: explicit downcasting, .equals, ArrayList, Stack, “protected”, “final” override, in-class FreeCell example development 11.9-15
9   9 Inheritance and Polymorphism: In-class FreeCell example development  
10   12 Exception Handling and Text I/O: In-class FreeCell example development, errors, checked/unchecked exceptions, declaring vs. throwing exceptions, try-catch blocks 12.1-4
11   14 Exception Handling and Text I/O: try-catch-finally blocks, rethrowing exceptions, chained exceptions, custom exceptions 12.5-9
12   16 Exception Handling and Text I/O: File class, PrintWriter, Scanner (review) 12.10-13
13   19 Generics  
14   21    
15   23    
16   26 Abstract Classes and Interfaces  
17   28    
18 March 2    
19   5 JavaFX Basics: JavaFX stages, scenes, nodes, panes, UI controls, shapes, property bindings, style and rotate properties, colors, and fonts 14.1-14.8
20   7 JavaFX Basics: images, image views, layout nodes (Pane, StackPane, FlowPane, GridPane, BorderPane, HBox, VBox), shapes (text, line) 14.9-14.11.2
21   9 JavaFX Basics: shapes (circle, rectangle, ellipse, arc, polygon, polyline) 14.11.3-14.12
22   19 Event-Driven Programming and Animations: event-driven programming, Java event model, event source object, event object, event handler/listener object, registering handlers, inner classes, anonymous inner classes 15.1-15.5
23   21 Event-Driven Programming and Animations: lambda expressions, mouse events, key events, observable objects and invalidation listeners 15.6-15.10
24   23 Event-Driven Programming and Animations: animations, path transitions, fade transitions, timelines 15.11-15.12
25   26 JavaFX UI Controls and Multimedia  
26   28    
27   30 (no class meeting - Good Friday) online lecture videos/exercises to be supplied  
28 April 2 (no class meeting - Monday after Easter) online lecture videos/exercises to be supplied; Multithreading and Parallel Programming  
29   4    
30   6    
31   9 Binary I/O  
32   11    
33   13    
34   16 Lists, Stacks, Queues, and Priority Queues  
35   18    
36   20    
37   23 Sets and Maps  
38   25    
39   27    
40   30 Review and Presentations  
41 May 2    
42   4    
Final     Final Exams: Section A @ May 12th, 8:30-11:30AM, Section B @ May 10th, 8:30-11:30AM Final Exam Times