The schedule partly reflects the content of last semester (old slides mention COMP1140). Current content will be updated as the class progresses.
Week | Units | Topics | Deliverables |
---|---|---|---|
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, |