The schedule partly reflects the content of last semester (old slides mention COMP1140). Current content will be updated as the class progresses.

WeekUnitsTopicsDeliverables
1
I1 Course goals, Teaching modality, Resources, Assessment, Academic honesty,
S1 IDEs, Revision Control, Using Gitlab and git,
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,
2
J6 Control flow, while and do-while, for, break, continue,
J7 Methods, Return values, Parameters, Stack, Heap and References, Exceptions,
O1 Class declaration, Object creation,
O2 Access control, Initializer blocks, enum types, Garbage collection,
O3 Interfaces,
J10 Number, Integer, Short, Float, Autoboxing, Math,
3
J11 Character and String,
O4 Inheritance, Overriding and hiding, Polymorphism, The super keyword,
J8 Nested classes,
J9 Lambda expressions,
O5 java.lang.Object, Equality, Final classes, methods, fields, Abstract classes and methods,
S2 Git,
S3 Importance of People in SE, Understanding Team Effectiveness, Conflict and conflict resolution,
4 D1A, D2A
S5 Software Complexity, Software Design,
S4 Test-Driven Development (TDD), JUnit,
C1 Recursive algorithms,
A1 ADTs, The list ADT, A List interface,
5 DXC, D2B
A2 The list ADT, An array-based List implementation, A linked-list-based List implementation,
J12 Generics,
X1 Overview of JavaFX, JavaFX scene graph,
X2 JavaFX and event handling,
6
X3 Architecting GUIs,
J13 Type Inference,
J14 Collections, forEach, Ordering collections,
7
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,
bars search caret-down plus minus arrow-right times arrow-up