List of Topics
(subject to change)
- Object-oriented programming in Java
- compiling simple programs
- using objects
- implementing classes
- fundamental data types
- type casting
- keyboard I/O
- decisions
- iteration
- arrays and array lists
- wrapper classes
- specifications vs. implementations
- interfaces and polymorphism
- inheritance
- file I/O and exceptions
- Complexity analysis
- running time and big-O notation
- timing comparisons
- recursive algorithms
- sorting and searching algorithms
- Data structures in Java
- arrays
- linked lists
- stacks
- queues
- trees
- tree traversals
- depth-first and breadth-first search
- priority queues
- heaps
- dictionaries
- hash tables and hashing functions
- graphs
- balanced trees