Course Information | Syllabus | Lectures | Assignments | Exams |
Week 13 - April 5 |
Review Before Final
|
Lab 12 - April 4 |
Hashing
Evaluating arithmetic expressions
|
Week 12 - March 29-31 |
Selection algorithm
Lower bounds for sorting algorithms
Union-find
Kruskal's algorithm
Evaluating arithmetic expressions
|
Lab 11 - March 28 |
Hashing
Selection algorithm
|
Week 11 - March 22-24 |
Hashing
Separate Chaining
Open addressing / Probing
HashSet and HashMap in Java
3-SUM
Selection algorithm
|
Lab 10 - March 21 |
BFS and DFS on graphs
|
Week 10 - March 15-17 |
Graphs
Breadth First Search
Depth First Search
A* algorithm
Tips for the project
hashCode() and equals() in Java
|
Lab 09 - March 14 |
Heaps and HeapSort
|
Midterm exam - March 10 |
|
Week 09 - March 8 |
Priority queues
Heaps
|
Lab 08 - March 7 |
AVL Trees
|
Week 08 - February 27-March 1 |
Self Balancing Binary Search Trees
- AVL Trees
- 2-3 Trees
- B-Trees
|
Lab 07 - February 28 |
Binary Search Trees
|
Week 07 - February 15-17 |
Binary trees
- Binary tree traversals Binary Search Trees
|
Lab 06 - February 14 |
Converting recursion to iteration
Binary trees
|
Week 06 - February 8-10 |
Master Theorem
Faster Integer Multiplication
Megre Sort
Megre Sort - iterative implementation
Binary trees
|
Lab 05 - February 7 |
Measuring performance of algorithms
|
Week 05 - February 1-3 |
Big-O notation
|
Lab 04 - January 31 |
Exercises on Stacks
|
Week 04 - January 25-27 |
Linked Lists
Doubly Linked Lists
Stacks
Queues
Execution stack
A comment on recursion
|
Lab 03 - January 24 |
Comparable Interface
Streams
Linked List
|
Week 03 - January 18-20 |
Using Generics
Iterators
Comparable interface
Sorting and Searching
File I/O
Using command line arguments
Exceptions
Coding style conventions
Design patterns:
- Singleton - Factory - Builder Streams in Java
|
Lab 02 - January 17 |
Learning Java
- .equals vs == - Interfaces - Comparable Interface: compareTo() - Generics - Using command line arguments |
Week 02 - January 11-13 |
Basic OOP:
- Inheritance - 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 |
Lab 01 - January 10 |
Compiling Java
Basic examples
- Hello World - Compiling several files - Using command line arguments |
Week 01 - January 4-6 |
General Information
Introduction to Java
Variables and strong typing
Basic OOP:
- Classes - Inheritance - Access modifiers: public, protected, no modifier, private |