Java Programming: Teaching assistant courses for Advanced Programming at AUT-CE
-
Java Basics and OOP
- Introduction to Java and JDK.
- Basic syntax, control flow, classes and objects.
- Constructors, getters, setters, and encapsulation.
- Class Diagram
-
Object Composition, Strings, Javadoc
- Object composition (has-a relationships).
- String manipulation, immutability, common methods and enums.
- Writing and generating Javadoc comments for code documentation, built-in packages.
-
Collections
- Lists, Sets, Maps and Queues.
- Iterators, generics, and comparators.
- Common use cases for collections (e.g., ArrayList, HashMap).
-
Memory Management, Primitive vs Object, Equality, Wrapper, Test and Debug
- Stack vs. Heap memory.
- Primitive vs. reference types, autoboxing/unboxing.
equals()
vs==
, and wrapper classes.- Basics of testing (JUnit) and debugging (IDE tools).
-
Inheritance, Casting, Abstraction, Interface
- Inheritance and polymorphism.
- Type casting (up casting/down casting).
- Abstract classes and interfaces.
-
UML
- software engineering, coupling and cohesion.
- UML diagrams.
- Introduction to SQLite.
-
Exception and Stream, Try with Resource, Generics
- Exception handling: try/catch/finally, custom exceptions.
- I/O streams: File I/O,
try-with-resources
. - Stream API basics.
-
Threading
- Thread basics:
Runnable
,Thread
,synchronized
. - Thread lifecycle.
- Simple multithreaded examples.
- Thread basics:
-
Socket Programming
- Basics of TCP/UDP sockets.
- Building a simple client-server application.
- Introduction to Http
-
JavaFX, SceneBuilder, MVC Pattern
- Introduction to JavaFX and FXML.
- JavaFX timelines and concurrency.
- Implementing the MVC pattern in JavaFX.