Course Information | Syllabus | Lectures | Assignments | Exams |
Review before final - April 16 |
Slides: [ReviewBeforeFinal.zip]
|
Lecture 33 - April 14 |
Selection algorithm
Slides: [Lecture33.zip]
|
Lecture 32 - April 12 |
Union-find
Kruskal's algorithm
Slides: [Lecture32.zip]
|
Lecture 31 - April 9 |
Union-find
Slides: [Lecture31.zip]
|
Lecture 30 - April 7 |
B-trees
2-3 trees
Slides: [Lecture30.zip]
|
Lecture 29 - March 31 |
AVL trees - contd.
Slides: [Lecture29.zip]
|
Lecture 28 - March 29 |
AVL trees
Slides: [Lecture28.zip]
|
Lecture 27 - March 26 |
HashSet and HashMap in Java
More on 3-SUM
Slides: [Lecture27.zip]
|
Lecture 26 - March 24 |
Hashing
Open addressing / Probing
3-SUM
Slides: [Lecture26.zip]
|
Lecture 25 - March 22 |
Hashing
Separate Chaining
Slides: [Lecture25.zip]
|
Lecture 24 - March 18 |
Graphs traversals in Java
hashCode() and equals() in Java
Slides: [Lecture24.zip]
|
Lecture 23 - March 17 |
A* algorithm
Tips for the project
Coding Graphs in Java
Slides: [Lecture23.zip]
|
Lecture 22 - March 15 |
Graphs
Breadth First Search
Depth First Search
Slides: [Lecture22.zip]
|
No class - March 12 |
Midterm
|
Practice problems - March 10 |
Slides: [PracticeMidterm.zip]
|
Lecture Cancelled - March 8 | |
Lecture 21 - March 5 |
Binary Search Trees
Slides: [Lecture21.zip]
|
Lecture 20 - March 3 |
Binary Search Trees
Slides: [Lecture20.zip]
|
Lecture 19 - March 1 |
Heaps
Slides: [Lecture19.zip]
|
Lecture 18 - February 26 |
Priority queues
Heaps
Slides: [Lecture18.zip]
|
Lecture 17 - February 24 |
Arithmetic expressions:
- Infix/Prefix/Postfix notations - Representation using binary trees Slides: [Lecture17.zip]
|
Lecture 16 - February 22 |
Arithmetic expressions:
- Infix/Prefix/Postfix notations Slides: [Lecture16.zip]
|
Lecture 15 - February 12 |
Binary tree traversals
Slides: [Lecture15.zip]
|
Lecture 14 - February 10 |
Trees
Binary trees
Slides: [Lecture14.zip]
|
Lecture 13 - February 8 |
Master Theorem
Faster Integer Multiplication
Megre Sort - iterative implementation
Slides: [Lecture13.zip]
|
Lecture 12 - February 5 |
Big-O notation
Master Theorem
Slides: [Lecture12.zip]
|
Lecture 11 - February 3 |
Big-O notation
Master Theorem
Slides: [Lecture11.zip]
|
Lecture 10 - February 1 |
Queues
Execution stack
A comment on recursion
Slides: [Lecture10.zip]
|
Lecture 9 - January 29 |
Doubly Linked Lists
Stacks
Slides: [Lecture09.zip]
|
Lecture 8 - January 27 |
Linked Lists
Slides: [Lecture08.zip]
|
Lecture 7 - January 25 |
Two more design patterns:
- Factory - Builder Streams in Java
Slides: [Lecture07.zip]
|
Lecture 6 - January 22 |
Comparable interface
Singleton design pattern
Slides: [Lecture06.zip]
|
Lecture 5 - January 20 |
Basic Java:
- Static variables and methods - getClass() and instanceof - Using Generics - .equals() method - .equals() vs '==' operator - .clone() method Coding style conventions
Slides: [Lecture05.zip]
|
Lecture 4 - January 18 |
File I/O
Using command line arguments
Exceptions
Slides: [Lecture04.zip]
|
Lecture 3 - January 15 |
Basic OOP continued:
- Abstract Classes - Access modifiers: public, protected, no modifier, private Objects vs Reference Variables
Slides: [Lecture03.zip]
|
Lecture 2 - January 13-15 |
Introduction to Java
Variables and strong typing
Basic OOP:
- Classes - Inheritance - Interfaces Slides: [Lecture02.zip]
|
Lecture 1 - January 11 |
General Information
Slides: [Lecture01.zip]
|