Week | Units | Topics | Deliverables |
1 |
|
|
|
|
I1 |
Course goals, Teaching modality, Resources, Assessment, Academic honesty, |
|
J1 |
Imperative programming languages, Java Standard Library, Types, Hello World, |
|
J2 |
Types, Objects, Classes, Inheritence, Interfaces, |
|
J3 |
Naming, Literals, Primitives, |
|
J4 |
Arrays, Operators, Expressions, Statements, Blocks, Random, |
|
J5 |
Control flow, if-then-else, switch, |
|
J6 |
Control flow, while and do-while, for, break, continue, |
2 |
|
|
|
|
J6 |
Control flow, while and do-while, for, break, continue, |
|
O1 |
Class declaration, Object creation, |
|
O2 |
Access control, Initializer blocks, enum types, Garbage collection, |
|
O2 |
Access control, Initializer blocks, enum types, Garbage collection, |
|
O4 |
Inheritance, Overriding and hiding, Polymorphism, The super keyword, |
|
O3 |
Interfaces, |
3 |
|
|
D1A |
|
O5 |
java.lang.Object, Equality, Final classes, methods, fields, Abstract classes and methods, |
|
X1 |
Overview of JavaFX, JavaFX scene graph, |
|
J8 |
Nested classes, |
|
J9 |
Lambda expressions, |
|
X2 |
JavaFX and event handling, |
4 |
|
|
D2A |
|
X3 |
Architecting GUIs, |
|
S5 |
Software Complexity, Software Design, |
|
S2 |
Git, |
|
S3 |
Importance of People in SE, Understanding Team Effectiveness, Conflict and conflict resolution, |
|
J10 |
Number, Integer, Short, Float, Autoboxing, Math, |
|
J11 |
Character and String, |
5 |
|
|
DXC, D2B |
|
J12 |
Generics, |
|
J13 |
Type Inference, |
|
J14 |
Collections, forEach, Ordering collections, |
|
J14 |
Collections, forEach, Ordering collections, |
|
J7 |
Methods, Return values, Parameters, Stack, Heap and References, Exceptions, |
6 |
|
|
|
|
C1 |
Recursive algorithms, |
|
C2 |
Time and space complexity, Big O notation, Examples, |
7 |
|
|
D2C |
|
S4 |
Test-Driven Development (TDD), JUnit, |
|
A1 |
ADTs, The list ADT, A List interface, |
|
A2 |
The list ADT, An array-based List implementation, A linked-list-based List implementation, |
|
C3 |
Graphs and Trees, Traversal, |
8 |
|
|
D2D |
|
C3 |
Graphs and Trees, Traversal, |
|
J15 |
Java Exceptions, Catch or specify, |
|
S6 |
Code Review, Comments and Documentation, |
|
C4 |
Hash functions, Choosing a good hash function, |
|
C5 |
Applications of hashing, Java hashCode(), |
9 |
|
|
D2E |
|
A3 |
The set ADT, |
|
A4 |
Hash Table, A hash-table-based Set implementation, |
|
A5 |
The tree ADT, Implementation of a set 2, |
10 |
|
|
|
|
C4 |
Hash functions, Choosing a good hash function, |
|
A6 |
The map ADT, A map interface and its implementation, ADT recap, |
|
A6 |
The map ADT, A map interface and its implementation, ADT recap, |
11 |
|
|
D2F |
|
C6 |
Java file I/O, Streams, Standard I/O, Random access files, Buffering, |
|
C7 |
Concurrency, |
|
J16 |
Thread and Runnable, start(), join() and sleep(), Races and synchronized, |
|
TBD |
|
12 |
|
|
D2G |
|
R1 |
Review of material for Final and work through exam, |
|
R2 |
Review of material for Final and work through exam, |