| Course Information | Syllabus | Lectures | Assignments | Exams |
| Lab 12 - November 18-20 |
Evaluating arithmetic expressions
|
| Week 12 - November 18-20 |
Evaluating arithmetic expressions
- Prefix and postfix notation
Union find
Kruskal's algorithm
|
| No lab his week November 11-13 | |
| Lab 10 - November 4-6 |
Selection algorithm
Hashing
|
| Week 10 - November 4-6 |
Hashing
Open addressing / Probing
The 3-SUM problem
Selection algorithm
Lower bounds for sorting algorithms
|
| Lab 09 - October 28-30 |
Heaps and HeapSort
|
| Week 09 - October 28-30 |
Graphs
Breadth First Search
Depth First Search
A* algorithm
Tips for the project
hashCode() and equals() in Java
HashSet and HashMap in Java
Hashing
Separate Chaining
|
| Lab 08 - October 21-23 |
AVL Trees
|
| Week 08 - October 23 |
Graphs
Breadth First Search
|
| Midterm Exam - October 21 | |
| Lab 07 - October 14-16 |
Binary Search Trees
|
| Week 07 - October 14-16 |
Self Balancing Binary Search Trees
- AVL Trees
- 2-3 Trees
- B-Trees
Priority queues
Heaps
|
| Lab 06 - October 7-9 |
Converting recursion to iteration
Binary trees
|
| Week 06 - October 7-9 |
Binary trees
Tree traversals
Binary Search Trees
Self Balancing BSTs
- AVL trees
|
| Lab 05 - October 2 |
Measuring performance of algorithms
|
| Week 05 - October 2 |
Trees
Binary trees
Tree traversals
|
| Lab 04 - September 23-25 |
Exercises on Stacks
|
| Week 04 - September 23-25 |
Big-O notation
Master Theorem
Faster Integer Multiplication
Megre Sort
Megre Sort - iterative implementation
A comment on recursion
|
| Lab 03 - September 16-18 |
Comparable Interface
Streams
Linked List
|
| Week 03 - September 16-18 |
Exceptions
Coding style conventions
Design patterns:
- Singleton - Factory - Builder Streams in Java
Basic Data Structures:
- Linked Lists - Doubly Linked Lists - Stacks - Queues Execution stack
|
| Lab 02 - September 9-11 |
Compiling Java
Basic examples
- Hello World - Compiling several files - Using command line arguments |
| Week 02 - September 9-11 |
Basic OOP:
- Classes - Inheritance - Access modifiers: public, protected, no modifier, private - Interfaces - Abstract Classes Comparable interface
Objects, Reference Variables, and Memory Model
Arrays in Java
Iterators
Basic Java:
- Static variables and methods - getClass() and instanceof - Using Generics - .equals() vs '==' operator - .clone() method File I/O
Using command line arguments
Exceptions
Coding style conventions
Design patterns:
- Singleton |
| There is no lab in the first week | |
| Week 01 - Septeber 4 |
General Information
Introduction to Java
|