|
Date |
Title |
Topics |
Reading |
Assignments |
Code
Snippets |
Lab |
Slides |
|
Week
1 |
Introduction
& Structured Programming Review |
How
to build a basic program and class. |
Review:
Java 3 New:Java
4.1 |
|
|
ReviewAndInfix |
161Review
& JavaAndTwos, start IntroToClassDesign |
|
|
Intro
to Classes |
Intro
to class concepts and class design. |
4.1 |
Fractions
V2.0 given |
DateV1, DateV2 |
|
IntroToClassDesign |
|
Week
2 |
Class
Composition & Information Hiding (access modifiers) |
Access
modifiers (public, private), getters & setters (with leaks) |
Java 4.1-4.2 |
|
mutateInt, mutateScanner DateV3 |
Date,Shape, CharList,Math |
JavaAndTwos (last review) ClassDefinitionsPartISplitUp |
|
|
Overloading
& Constructors |
C’tor design, multiple c’tors, copy c’tors |
Java
4.3, 4.4 |
Fractions
V2.0 Due; Money & Bill Given |
Point2D,
Date, PointWithDate |
|
ClassDefinitionsPartISplitUp; Constructors&Overloading |
|
Week
3 |
Encapsulation
& Abstract data types, Privacy Leaks Inheritance
(Shape) |
Privacy
leaks, getters & setters without leaks |
Java
4.2, 5.1, 5.2 |
|
|
|
ClassDefinitionsPartISplitUp |
|
|
Data
Structures with Arrays: Inheritance II (Employee, Exception) |
Stacks,
Queues, List Abstraction, IntList, ArrayList Inheritance
& Exceptions, Exception Handling |
Java
Chap 6: Arrays, Java
14.1, |
Money
and Bill due; |
PartiallyFilledArray (p375) is IntList |
|
DataStructuresPartI |
|
Week
4 |
References
& Class parameters; Intro to Memory More
Array-Based Data Structures |
Pass
by reference; Pass by value. The implicit “this” parameter. |
Java
5.1,5.2, 357-361, 842 |
|
|
|
StaticWrapperClassesMemory |
|
|
Midterm |
The
Stack, Heap, (not Code and Static sections yet, only main and not foo(), leaf()) |
Java
5.3-5.4, Ethics A |
Data
Structures due; |
|
|
|
|
Week
5 |
Introduction
to algorithm analysis (Big O) |
Reference
functions, counting instructions, Big O Proofs |
Java
p.860-865 |
|
Factorial,
Fibonnacci, Power, Sum, RecursionLab |
|
|
|
|
Recursion
I |
Base
& Terminating cases, recursive applications, FractalFlake |
Java
11.1-11.2, |
|
|
|
|
|
Week 6 |
Data
Structures Part II Recursion
Part II |
Links
& Nodes: Linked Lists, Stacks & Queues Recursive
size, toString, insert, contains, Binary Search,
Linear Search |
Java
7.1-7.3, 9.1-9.2 |
Linked
Data Structures Given |
LinkedListRecursive |
|
InheritancePart2PracticalExceptions.pptx |
|
|
Finish
Recursion Part II Searching
Algorithms {Linear, Binary}, Recursion Part II , |
Debugging
Recursion, Recursive Linked Lists Linear
& Binary Search |
Ethics
C, Java
11.3, |
|
|
|
|
|
Week
7 |
Sorting
{Bubble, Insertion, Selection, Quick} Interfaces
{Runnable,Comparable,
List, Serializable, Cloneable,
ActionListener} & Generics |
|
Java
13.1-13.2, 14.1, Java 14.2, 16.1-16.2 Java
15.1-15.2 |
Linked
Data Structures due, Recursive Binary Search Given |
|
|
|
|
|
Finish
Interfaces Intro
to Trees |
|
Java
15.1, 15.4 |
|
|
|
RecursionII.pptx |
|
Week
8 |
Data
Structures Part 3: Trees { K-nary Trees, Binary Search Trees} , |
|
Java
11, Java 15.1, 15.4 |
QuickSort Due, Interfaces Given, Pizza
Manager Given |
FractalFlake, PolyDemo,
|
|
RecursionII.pptx
(needs updating; remove old content and add linear search content) |
|
Finish
Trees Generics
{methods, classes} & Collections |
|
Java
14.2, 16.1-16.2 |
|
|
|
|
|
|
Week
9 |
Special
Topics &
Exam Review |
|
Interfaces
Due, Binary Trees Given |
|
|
|
|
|
|
Final
Exam |
|
All
HW due |
|
|
|