Week |
Date |
Topics |
Reading |
1 |
1/16, 1/18 |
Classes and objects
- School closed on 1/15
- accessing class members
- compiling using multiple classes/files
- static vs. instance variables
- access modifiers (private, public, default)
- accessor (get) methods
- mutator (set) methods
- variable scope, visibility, and lifetime
- constructors
|
Syllabus Chapter 3 |
2 |
1/23, 1/25 |
Classes and objects in more depth
- default constructor
- overloading constructors
- throwing exceptions
- the "this" reference variable
- public access vs. private access with accessor and mutator methods
- validity checking using mutator (set) methods
- predicate methods
- composition
- destructor (finalize method)
- static class members
- creating packages
- default access (package)
- discuss memory concepts of stack and heap
|
Chapter 8 |
3 |
1/30, 2/1 |
Inheritance
- superclasses (base) and subclasses (derived)
- objects, inheritance, and software reusability
- inheritance hierarchy
- protected member access
- overriding inherited methods
- the @Override annotation
- the Object class
|
Chapter 9 |
4 |
2/6, 2/8 |
Polymorphism
- abstract methods and classes
- creating and using interfaces
- overriding inherited methods
- instanceof operator
- creating an array of objects
- typecasting objects
- demonstrating polymorphic behavior
- final methods and classes
|
Chapter 10 |
5 |
2/13, 2/15 |
Exceptions
- catching an exception
- throwing an exception
- the Exception class hierarchy
- checked vs. unchecked exceptions
- chained exceptions
- creating an Exception subclass
- assertions
- multi-exception catches
- try-with-resources
|
Chapter 11 |
6 |
2/20, 2/22 |
Strings and regular expressions
- String constructors
- String methods
- String immutability
- the StringBuilder class
- the Character class
- tokenizing a String
- creating and using basic regular expressions
|
Chapter 16 |
7 |
2/27, 3/1 |
Files and streams
- getting information about a file or directory
- reading and writing a sequential access text file/stream
- object serialization
- catching exceptions during file and stream input/output
- using other types of Java streams
|
Chapter 17 |
8 |
3/6, 3/8 |
Multi-dimensional arrays and midterm exam
- declaring mutli-dimensional arrays
- initializing multi-dimensional arrays
- processing multi-dimensional arrays
- midterm exam (3/8)
|
Chapter 7 |
|
3/12, 3/18 |
School closed for Spring break |
|
9 |
3/20, 3/22 |
Recursion
- recursion concepts
- recursion and the method-call stack
- recursion vs. iteration
- implementing recursive algorithms
|
Chapter 18 |
10 |
3/27, 3/29 |
Searching, sorting, and algorithm complexity
- linear search
- binary search
- sorting algorithms (including order n^2 and n * log n)
- algorithm complexity
- using and adapting sorting algorithms
- No classes 3/29 (Faculty development)
- No classes 3/30 (Good Friday)
|
Chapter 19 |
11 |
4/3, 4/5 |
Sorting continued
- implementing various sorting algorithms
- deciding which algorithm to use
|
Chapter 19 |
12 |
4/10, 4/12 |
Generics and collections
- auto-boxing and auto-unboxing
- using Java's library classes that implement the Collection interface
- using an iterator
- using Java's Collections class
- using lists, stacks, queues, sets, and maps
|
Chapter 20 |
13 |
4/17, 4/19 |
Linked lists, stacks, queues
- using generics
- creating generic methods and classes
- implement generic linked-list, stack, and queue classes
|
Chapters 21, 22 |
14 |
4/24, 4/26 |
Binary trees
- use a binary tree
- create a generic binary tree class (delete operation optional)
|
Chapter 22 |
15 |
5/1, 5/3 |
Graphs
- discuss graph concepts and terminology
- walk through creating a vertex list
- walk through creating an edge list
- walk through creating an adjacency list
- walk through creating an adjacency matrix
- walk through creating a minimal spanning tree
- walk through finding the shortest path
- use and modify a graph class to solve a problem (such as shortest path)
|
Not in text |
16 |
5/8 |
Graphical user interface (not in text)
- review GUI topics from CIS 160
- draw graphics and text
|
Not in text |
Finals |
5/10 |
Final exam: 12:00 P.M. - 1:50 P.M., Rm. A-1374 |
|