Regularly updated with information about lectures, labs, assignments, and reading.
Week 1 : Jan. 18 | |
Lectures | L1: Introduction and Course Info |
L2: Basics of grammars and parsing | |
Reading | Prichard Ch. 6.2; Rosen Ch. 13.1 |
Recitations | No recits this week |
Week 2 : Jan. 25 | |
Lectures | Grammars; Arithmetic Expressions; Parse code |
L3:Stacks; LLStack.jar a linked list based implementation | |
Recitations | R2: scanning and grammars |
Reading | Prichard Ch. 7 |
Week 3 : Feb. 1 | |
Lectures | Stacks and Queues |
L4: Queues | |
L5: Recursion and Induction: Quick refresh | |
Assignments | hw1: Grammars and expressions ( due Feb. 3 in class; late Feb. 5 ) |
Recitations | R3: Stacks and Recursion |
Reading | Prichard Ch. 6.1 & 6.3 |
Week 4 : Feb. 8 | |
Lectures | L6:Algorithm efficiency. Computational Complexity; Big-O analysis. |
Assignments | P1: Postfix expressions and stacks ( due Feb. 11 23:59; late Feb. 13 17:00 ) |
Recitations | R4: Recursion and Induction |
Reading | Prichard Ch. 8 and 10.1 |
Rosen Ch. 3.2-3.3 | |
Week 5 : Feb. 15 | |
Lectures | L7:trees |
Parsing infix expressions | |
TreeNode.java; Tree.java; ParseExpr.java; ParseDriver.java; ParseException.java; ParseTreeDriver.java; ParseTreeExpr.java | |
BSTNode.java; BST.java; BSTException.java | |
Reading | Prichard Ch. 11; Rosen Ch. 11.1; 11.2; 11.3 |
Assignments | hw2: Complexity ( due Feb. 19 in class; late Feb. 24 ) |
Recitations | R5: Orders of Magnitude and Complexity |
Week 6 : Feb. 22 | |
Lectures | Trees continued |
Reading | Prichard Ch. 11; Rosen Ch. 11.1; 11.2; 11.3 |
Assignments | P2: Infix to Postfix expressions ( due Feb. 25 23:59; late Feb. 27 17:00 ) |
Recitations | R6: Parsing Infix Expressions. |
Week 7 : Mar. 1 | |
Lectures | Advanced Object Oriented programming concepts |
Recitations | R7: Binary Search Trees |
Week 8 : Mar. 8 | MID TERM EXAM | Tuesday March 10: Mid Term Exam: All material up to and including trees. | Thursday March 12: Mid term discussion. |
Recitations | No recitations |
Week 9 : Mar. 15 | Spring Break |
Week 10 : Mar. 22 | Lectures | Finish advanced OO; sorting | L8: advOO extended with Generics; Thing.java | L9: Advanced Sorting: Mergesort and Quicksort; Cool Sorting Demos |
Reading | Prichard chapter 10 |
Recitations | help with P3 |
Week 11 : Mar. 29 | |
Lectures | Finish sorting; divide and conquer complexity |
L10: Recurrence Relations and Divide & Conquer | |
Reading | Rosen Ch. 8.1;8.3 |
Recitations | R8: Generic Binary Search Trees |
Assignments | P3 due; hw3 recurrence relations; due April 9 in class; late April 14 in class. |
Week 12 : Apr. 5 | |
Lectures | Finish Recurrences and Divide and conquer complexity; Priority Queues; IntegerMinHeap.java |
L11: Priority Queues | |
Reading | Rosen Ch. 8.1;8.3 |
Recitations | R9: Recurrence Relations; |
Assignments | P4: Parsing and evaluating equations; due April 17 5 pm; late April 22 23:59 pm. |
Week 13 : Apr. 12 | |
Lectures | L12: Graphs Part 1 |
Reading | Rosen Ch. 10; Prichard Ch. 14 |
Recitations | R10: In place heap sort; |
Week 14 : Apr. 19 | |
Lectures | L13 Graphs Part 2 |
Reading | Rosen Ch. 10; Prichard Ch. 14 |
Recitations | R11: Implementing graph adjacency lists |
Week 15 : Apr. 26 | |
Lectures | L14 Hash Tables |
Reading | Prichard Ch. 13.2 |
Recitations | R12: Dependence graphs and Topological sort |
Assignments | P5: Dependencs graphs and Topological sort; due May 6 5 pm; late May 8 23:59 pm. |
Week 16 : May 3 | |
Lectures | L15 Fun and games with graphs |
Reading | Prichard Ch. 14 |
Recitations | R13: Hash tables |
Week 17 : May 13 | FINAL EXAM | Wednesday May 13 6:20-8:20 pm: All material from trees to the end. |