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
C2 Time and space complexity, Big O notation, Examples,
C3 Graphs and Trees, Traversal,
C3 Graphs and Trees, Traversal,
J14 Collections, forEach, Ordering collections,
8 D2D
J15 Java Exceptions, Catch or specify,
C4 Hash functions, Choosing a good hash function,
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,
C7 Concurrency,
J16 Thread and Runnable, start(), join() and sleep(), Races and synchronized,
11 D2F
C6 Java file I/O, Streams, Standard I/O, Random access files, Buffering,
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