Main.Schedule History
Hide minor edits - Show changes to markup
Lecture: Review of dynamic programming
Lecture: Review of dynamic programming
Week 16:
Monday, 12/3
Lecture: Go over the NP-completeness assignment and solved a few additional problems
Wednesday, 12/5
Lecture: Review of dynamic programming
Friday, 12/7
Lecture: Go over the local search assignment, and do a general review for the exam''
Friday, 11/30
Lecture: Local search, continued.
Reading: Chapter 12 in Kleinberg and Tardos.
Written homework #8 is available.
Wednesday, 11/28
Lecture: Local search, continued.
Reading: Chapter 12 in Kleinberg and Tardos.
Week 15:
Monday, 11/26
Lecture: Coping with NP-completeness: local search [ slides ].
Reading: Chapter 12 in Kleinberg and Tardos.
Wednesday, 11/13
Lecture: More NP-complete problems [ slides ].
Reading: Chapter 8.5 in Kleinberg and Tardos.
Friday, 11/15
Lecture: quiz and review of NP and NP-completeness
Week 13:
Monday, 11/12
Lecture: P, NP, and NP-completeness - continued.
Reading: Chapter 8.3,8.4 in Kleinberg and Tardos.
Friday, 11/8
Lecture: P, NP, and NP-completeness [ slides ].
Reading: Chapter 8.3,8.4 in Kleinberg and Tardos.
Lecture: Reductions as a tool for showing problem hardness [ slides ].
Lecture: Reductions as a tool for showing problem hardness [ slides ].
Week 12:
Monday, 11/4
Lecture: Continue the applications of maximum network flow.
Reading: Chapter 7.5,7.7 in Kleinberg and Tardos.
Wednesday, 11/6
Lecture: Reductions as a tool for showing problem hardness [ slides ].
Reading: Chapter 8.1,8.2 in Kleinberg and Tardos.
Reading: Chapter 7.5-7.7 in Kleinberg and Tardos.
Reading: Chapter 7.5-7.7 in Kleinberg and Tardos.
Assignments: The next written assignment is [[Path:../../pdfs/hw6.pdf| available].
Assignments: The next written assignment is available.
Assignments: The next written assignment is [[Path:../../pdfs/hw6.pdf| available].
Friday, 11/2
Lecture: Applications of maximum network flow [ slides ].
Reading: Chapter 7.5-7.7 in Kleinberg and Tardos.
Reading: Chapter 7.1,7.2 in Kleinberg and Tardos.
Wednesday, 10/31
Lecture: Maximum network flow - continued.
Week 11:
Monday, 10/29
Lecture: Maximum network flow [ slides ].
Reading: Chapter 7.1,7.2 in Kleinberg and Tardos.
Friday, 10/26
Lecture: Dynamic programming - the Bellman-Ford algorithm for shortest paths [ slides ].
Reading: Chapter 6.8 in Kleinberg and Tardos.
Reading: Chapter 6.6 in Kleinberg and Tardos.
Wednesday, 10/24
Lecture: Dynamic programming - linear-space sequence alignment using a hybrid dynamic programming/divide and conquer approach .
Week 10:
Monday, 10/22
Lecture: Dynamic programming - we'll continue the discussion of sequence alignment.
Reading: Chapter 6.7 in Kleinberg and Tardos.
Friday, 10/19
Lecture: Dynamic programming - sequence alignment [ slides ].
Reading: Chapter 6.6 in Kleinberg and Tardos.
Wednesday, 10/17
Lecture: Dynamic programming - the knapsack problem (monday slides continued).
Reading: Chapter 6.4 in Kleinberg and Tardos.
Lecture: Dynamic programming - weighted interval scheduling [ slides ].
Lecture: Dynamic programming - weighted interval scheduling [ slides ].
Monday, 10/15
Lecture: Dynamic programming - weighted interval scheduling [ slides ].
Reading: Chapter 6.1 in Kleinberg and Tardos.
Week 8:
Friday, 10/12
Lecture: Divide and conquer algorithms - integer multiplication [ slides ].
Reading: Chapter 5.5 in Kleinberg and Tardos.
Reading: Chapter 5.4 in Kleinberg and Tardos.
Reading: Chapter 5.4 in Kleinberg and Tardos.
Wednesday, 10/10
Lecture: Divide and conquer algorithms - closest pair problem [ slides ].
Reading: Chapter 5.4 in Kleinberg and Tardos.
Week 8:
Monday, 10/8
Lecture: Divide and conquer algorithms [ slides ].
Reading: Chapter 5.1,5.2 in Kleinberg and Tardos.
Lecture: Greedy algorithms - continue minimum spanning trees and Huffman encoding [ slides ].
Reading: Chapter 4.7,4.8 in Kleinberg and Tardos.
Lecture: Greedy algorithms - continue minimum spanning trees.
Reading: Chapter 4.5 - 4.7 in Kleinberg and Tardos.
Lecture: Huffman encoding - cont.
Lecture: Greedy algorithms - Huffman encoding [ slides ].
Week 7:
Monday, 10/1
Lecture: Greedy algorithms - continue minimum spanning trees and Huffman encoding [ slides ].
Reading: Chapter 4.7,4.8 in Kleinberg and Tardos.
Wednesday, 10/3
Lecture: Huffman encoding - cont.
Reading: Chapter 4.8 in Kleinberg and Tardos.
Friday, 10/5
Lecture: midterm.
Lecture: Greedy algorithms - minimum spanning trees [ slides ].
Here's the [ demo ] of Dijkstra's algorithm.
Lecture: Greedy algorithms - minimum spanning trees [ slides ]. Here's the [ demo ] of Dijkstra's algorithm.
Lecture: Greedy algorithms [ slides ].
Lecture: Greedy algorithms - interval scheduling [ slides ].
Lecture: Greedy algorithms [ slides ].
Lecture: Greedy algorithms - Dijkstra's algorithm [ slides ].
Reading: Chapter 3 in Kleinberg and Tardos.
Reading: Chapter 4.1 in Kleinberg and Tardos.
Wednesday, 9/26
Lecture: Greedy algorithms [ slides ].
Reading: Chapter 4.4 in Kleinberg and Tardos.
Lecture: Greedy algorithms [ Path:../../pdfs/04_greedy.pdf ].
Lecture: Greedy algorithms [ slides ].
Week 6:
Monday, 9/24
Lecture: Greedy algorithms [ Path:../../pdfs/04_greedy.pdf ].
Reading: Chapter 3 in Kleinberg and Tardos.
Lecture: Graphs - bipartite graphs, strongly connected components
.
Lecture: Graphs - bipartite graphs, strongly connected components.
Friday, 9/21
Lecture: Graphs - DAGs.
Reading: Chapter 3 in Kleinberg and Tardos.
Lecture: Graphs - DFS, bipartite graphs.
Lecture: Graphs - DFS.
Wednesday, 9/19
Lecture: Graphs - bipartite graphs, strongly connected components
.
Reading: Chapter 3 in Kleinberg and Tardos.
Week 5:
Monday, 9/17
Lecture: Graphs - DFS, bipartite graphs.
Reading: Chapter 3 in Kleinberg and Tardos.
Lecture: Graphs and graph traversal [ slides ].
Lecture: Graphs [ slides ].
Lecture: Graphs - traversal and bipartite graphs (continuing graph slide set).
Lecture: Graphs - graph traversal using BFS (continuing graph slide set).
Wednesday, 9/12
Lecture: Graphs and graph traversal [ slides ].
Reading: Chapter 3 in Kleinberg and Tardos.
Friday, 9/14
Lecture: Graphs - traversal and bipartite graphs (continuing graph slide set).
Reading: Chapter 3 in Kleinberg and Tardos.
Reading: Chapter 2 in Kleinberg and Tardos.
Reading: Chapter 2 in Kleinberg and Tardos.
Assignments: written assignment 2 is posted.
Assignments: Written assignment 1 is available.
Assignments: Written assignment 1 is available.
Lecture: Finish Big-O analysis.
Lecture: Finish Big-O analysis.
Week 2:
Monday, 9/10
Lecture: Finish Big-O analysis.
Reading: Chapter 2 in Kleinberg and Tardos.
Friday, 9/7
Lecture: More Big-O.
Reading: Chapter 2 in Kleinberg and Tardos.
Reading: Chapter 2 in Kleinberg and Tardos.
Reading: Chapter 2 in Kleinberg and Tardos.
Week 3:
Wednesday, 9/5
Lecture: On friday we just started on Big O analysis. We will continue this topic.
Reading: Chapter 2 in Kleinberg and Tardos.
Assignments: written assignment 1 is due in class on Wednesday, and programming assignment 1 is due thursday at 5pm.
Lecture: Big O analysis slides ]. quiz on big O.
Lecture: Big O analysis [ slides ]. quiz on big O.
Lecture: Big O analysis. There will be a quiz.
Lecture: Big O analysis slides ]. quiz on big O.
Lecture: Crash course in Python. Here's the set code I showed.
Lecture: Crash course in Python. Here's the set code I showed.
Python intro sessions: The material covered in this week's intro sessions is here.
Lecture: We will be in a labs (215 and 225) to help you with your assignments.
Lecture: We will be in a labs (215 and 225) to help you with your assignments.
Lecture: Big-O analysis. Reading: Chapter 2 in Kleinberg and Tardos.
Lecture: We will be in a labs (215 and 225) to help you with your assignments.
Friday, 9/31
Lecture: Big O analysis. There will be a quiz.
Reading: Chapter 2 in Kleinberg and Tardos.
Week 2:
Monday, 8/27
Lecture: Finish discussion of the stable matching problem. Representative problems.
Reading: Chapter 1 in Kleinberg and Tardos.
Wednesday, 8/29'
Lecture: Big-O analysis.
Reading: Chapter 2 in Kleinberg and Tardos.
Assignments: Written assignment 1 is available.
Assignments: Written assignment 1 is available.
Assignments: Written assignment 1 is available.
Assignments: Written assignment 1 is available.
Reading: Chapter 1 in Kleinberg and Tardos.
Reading: Chapter 1 in Kleinberg and Tardos.
Assignments: Written assignment 1 is available.
Python intro sessions: The material covered in this week's intro sessions is here.
Python intro sessions: The material covered in this week's intro sessions is here.
Friday, 8/24
Lecture: The Gale Shapely algorithm for the stable matching problem (continuing monday's slide set).
Reading: Chapter 1 in Kleinberg and Tardos.
Lecture: Crash course in Python, and continuation of the stable matching slide set.
Reading: Chapter 1 in Kleinberg and Tardos.
Lecture: Crash course in Python. Here's the set code I showed.
Python intro sessions: The material covered in this week's intro sessions is here.
Links:: Here's a nice demo and explanation of the stable matching problem. The NRMP explains their matching algorithm, which is a variant of the Gale Shapley algorithm.
Links: Here's a nice demo and explanation of the stable matching problem. The NRMP explains their matching algorithm, which is a variant of the Gale Shapley algorithm.
Links:: Here's a nice demo and explanation of the stable matching problem. The NRMP explains their matching algorithm, which is a variant of the Gale Shapley algorithm.
Wed, 8/22
Lecture: Crash course in Python, and continuation of the stable matching slide set.
Reading: Chapter 1 in Kleinberg and Tardos.
Lecture: Course introduction and the stable matching problem [ slides ].
Lecture: Course introduction and the stable matching problem [ slides ].
Lecture: Course introduction
The stable matching problem.
Lecture: Course introduction and the stable matching problem [ slides ].
Tuesday, 1/17
Monday, 8/20
A crash course in Python. Here's an example Python class: set.
Week 16:
Tuesday, 5/1
Lecture: Coping with NP-completeness [ slides ].
Reading: Chapters 10-13 in Kleinberg and Tardos
Thursday, 5/3
Lecture: Review for final - please prepare questions!
Week 15:
Tuesday, 4/24
Lecture: NP-completeness [ slides ].
Reading: Chapter 8.3,8.4 in Kleinberg and Tardos
Thursday, 4/26
Lecture: More NP-complete problems [ slides ].
Reading: Chapter 8.5 in Kleinberg and Tardos
Week 14:
Tuesday, 4/17
Lecture: Applications of the Maxflow problem (continue with Thursday's slide set)
Reading: Chapter 7.6,7.7,7.10 in Kleinberg and Tardos
Thursday, 4/19
Lecture: Reductions as a tool for showing problem hardness [ slides ].
Reading: Chapter 8.1,8.2 in Kleinberg and Tardos
Week 13:
Tuesday, 4/10
Lecture: The Maxflow problem and the Ford-Fulckerson algorithm (slides continued from Thursday).
Reading: Chapter 7.1,7.2 in Kleinberg and Tardos
Thursday, 4/12
Lecture: Applications of the Maxflow problem [ slides ]. And here's the maxflow demo I showed.
Reading: Chapter 7.5 in Kleinberg and Tardos
Week 12:
Tuesday, 4/3
Lecture: Shortest paths using dynamic programming - [ slides ].
Reading: Chapter 6.8 in Kleinberg and Tardos
Thursday, 4/5
Lecture: We'll continue the Bellman-Ford algorithm and start on the Maxflow problem [ slides ].
Reading: Chapter 7.1,7.2 in Kleinberg and Tardos
Week 11:
Tuesday, 3/27
Lecture: Dynamic programming - subset sums and knapsack problems [ slides ].
Reading: Chapter 6.4 in Kleinberg and Tardos
Thursday, 3/29
Lecture: Dynamic programming - sequence alignment [ slides ].
Reading: Chapter 6.6, 6.7 in Kleinberg and Tardos
Week 10:
Tuesday, 3/20
Lecture: Divide and conquer - finding closest pair of points [ slides ], integer multiplication [ slides ].
Reading: Chapter 5.4,5.5 in Kleinberg and Tardos.
Thursday, 3/22
Lecture: Dynamic programming - weighted interval scheduling [ slides ].
Reading: Chapter 6.1,6.2 in Kleinberg and Tardos
Week 9:
Spring break
Week 8:
Tuesday, 3/6
Lecture: Divide and conquer and preparation for midterm.
Thursday, 3/8
Midterm.
Week 7:
Tuesday, 2/28
Lecture: Huffman encoding [ slides ].
Reading: Chapter 4.8 in Kleinberg and Tardos.
Thursday, 3/1
Lecture: Divide and conquer [ slides ].
Reading: Chapter 5.1,5.2 in Kleinberg and Tardos.
Here's a cute youtube video on divide and conquer.
Week 6:
Tuesday, 2/21
Lecture: More MST algorithms (cont).
Reading: Chapter 4.5 in Kleinberg and Tardos.
Thursday, 2/23
Lecture: Data clustering, Dijkstra's algorithm [ slides ].
Reading: Chapter 4.4, 4.7 in Kleinberg and Tardos.
Week 5:
Tuesday, 2/14
Lecture: Introduction to greedy algorithms [ slides ].
Reading: Chapter 4.1 in Kleinberg and Tardos.
Thursday, 2/16
Lecture: Greedy algorithms for the minimum spanning tree problem [ slides ].
Reading: Chapter 4.5, 4.7 in Kleinberg and Tardos.
Week 4:
Tuesday, 2/7
Lecture: Graphs - Analysis of BFS, connected components, bipartite graphs.
Reading: Chapter 3.2-3.4 in Kleinberg and Tardos.
Programming assignment #2 is available.
Thursday, 2/9
Lecture: Graphs - Analysis of BFS, connected components, bipartite graphs.
Reading: Chapter 3.5-3.6 in Kleinberg and Tardos.
Written assignment #3 is due.
Week 3:
Tuesday, 1/31
Lecture: Finish the discussion of big O.
Thursday, 2/2
Lecture: Graphs (representations of graphs and BFS) [ slides ]. Written homework 2 is due.
Reading: Chapter 3 in Kleinberg and Tardos.
Week 2:
Tuesday, 1/24
Lecture: Big O [ slides ].
Reading: Chapter 2 in Kleinberg and Tardos.
Thursday, 1/26
Lecture: Big O continued. There will be quiz on big O. Written homework is due.
Reading: Chapter 2 in Kleinberg and Tardos.
A crash course in Python. Here's the set Python class I showed.
The stable matching problem [ slides ] (slides updated on 1/19 to include the example shown in class)
A crash course in Python. Here's an example Python class: set.
The stable matching problem.
Thursday, 1/19
Lecture: We continued with the stable matching problem, and talked about representative problems that will be discussed in the course (almost finished the slides I posted on Tuesday).
Week 16:
Tuesday, 5/1
Lecture: Coping with NP-completeness [ slides ].
Reading: Chapters 10-13 in Kleinberg and Tardos
Thursday, 5/3
Lecture: Review for final - please prepare questions!
Thursday, 4/26
Lecture: More NP-complete problems [ slides ].
Reading: Chapter 8.5 in Kleinberg and Tardos
Week 15:
Tuesday, 4/24
Lecture: NP-completeness [ slides ].
Reading: Chapter 8.3,8.4 in Kleinberg and Tardos
Lecture: Reductions as a tool for showing problem hardness [ slides ].
Lecture: Reductions as a tool for showing problem hardness [ slides ].
Thursday, 4/19
Lecture: Reductions as a tool for showing problem hardness [ slides ].
Reading: Chapter 8.1,8.2 in Kleinberg and Tardos
Week 13:
Tuesday, 4/17
Lecture: Applications of the Maxflow problem (continue with Thursday's slide set)
Reading: Chapter 7.6,7.7,7.10 in Kleinberg and Tardos
Lecture: Applications of the Maxflow problem [ slides ].
Reading: Chapter 7.5,7.6 in Kleinberg and Tardos
Lecture: Applications of the Maxflow problem [ slides ]. And here's the maxflow demo I showed.
Reading: Chapter 7.5 in Kleinberg and Tardos
Lecture: We continued with the stable matching problem, and talked about representative problems that will be discussed in the course (almost finished the slides I posted on Tuesday).
Lecture: We continued with the stable matching problem, and talked about representative problems that will be discussed in the course (almost finished the slides I posted on Tuesday).
Week 12:
Tuesday, 4/10
Lecture: The Maxflow problem and the Ford-Fulckerson algorithm (slides continued from Thursday).
Reading: Chapter 7.1,7.2 in Kleinberg and Tardos
Thursday, 4/12
Lecture: Applications of the Maxflow problem [ slides ].
Reading: Chapter 7.5,7.6 in Kleinberg and Tardos
Tuesday, 3/27
Tuesday, 4/3
Thursday, 4/5
Lecture: We'll continue the Bellman-Ford algorithm and start on the Maxflow problem [ slides ].
Reading: Chapter 7.1,7.2 in Kleinberg and Tardos
Week 12:
Tuesday, 3/27
Lecture: Shortest paths using dynamic programming - [ slides ].
Reading: Chapter 6.8 in Kleinberg and Tardos
Lecture: Dynamic programming - subset sums and knapsack problems.
Lecture: Dynamic programming - subset sums and knapsack problems [ slides ].
Lecture: Dynamic programming - subset sums and knapsack problems.
Lecture: Dynamic programming - subset sums and knapsack problems.
Lecture: Dynamic programming - subset sums and knapsack problem.
Lecture: Dynamic programming - subset sums and knapsack problems.
Thursday, 3/29
Lecture: Dynamic programming - sequence alignment [ slides ].
Reading: Chapter 6.6, 6.7 in Kleinberg and Tardos
Lecture: Dynamic programming [ slides ].
Reading: Chapter 6.4 in Kleinberg and Tardos
Lecture: Dynamic programming - weighted interval scheduling [ slides ].
Reading: Chapter 6.1,6.2 in Kleinberg and Tardos
Week 11:
Tuesday, 3/27
Lecture: Dynamic programming - subset sums and knapsack problem.
Reading: Chapter 6.4 in Kleinberg and Tardos
Reading: Chapter 6.1,6.2,6.4 in Kleinberg and Tardos
Reading: Chapter 6.4 in Kleinberg and Tardos
Lecture: Dynamic programming [ slides ].
Lecture: Dynamic programming [ slides ].
Lecture: Dynamic programming Reading: Chapter 6 in Kleinberg and Tardos
Lecture: Dynamic programming [ slides ].
Reading: Chapter 6.1,6.2,6.4 in Kleinberg and Tardos
Lecture: Divide and conquer - finding closest pair of points [ slides ].
Reading: Chapter 5.4 in Kleinberg and Tardos.
Lecture: Divide and conquer - finding closest pair of points [ slides ], integer multiplication [ slides ].
Reading: Chapter 5.4,5.5 in Kleinberg and Tardos.
Lecture: Divide and conquer - integer multiplication [ slides ].
Reading: Chapter 5.5 in Kleinberg and Tardos.
Lecture: Dynamic programming Reading: Chapter 6 in Kleinberg and Tardos
Lecture: Divide and conquer - integer multiplication [ slides ].
Lecture: Divide and conquer - integer multiplication [ slides ].
Week 8:
Tuesday, 3/6
Week 10:
Tuesday, 3/20
Thursday, 3/22
Lecture: Divide and conquer - integer multiplication [ slides ].
Reading: Chapter 5.5 in Kleinberg and Tardos.
Week 9:
Spring break
Week 8:
Tuesday, 3/6
Lecture: Divide and conquer and preparation for midterm.
Week 7:
Tuesday, 3/6
Lecture: Divide and conquer - finding closest pair of points [ slides ].
Reading: Chapter 5.4 in Kleinberg and Tardos.
Thursday, 3/8
Midterm.
Fun: Here's a cute youtube video on divide and conquer.
Here's a cute youtube video on divide and conquer.
Fun: Here's a cute youtube video on divide and conquer.
Thursday, 3/1
Lecture: Divide and conquer [ slides ].
Reading: Chapter 5.1,5.2 in Kleinberg and Tardos.
Week 7:
Tuesday, 2/28
Lecture: Huffman encoding [ slides ].
Reading: Chapter 4.8 in Kleinberg and Tardos.
Lecture: Data clustering, Dijkstra's algorithm [ slides ]. Huffman encoding [ slides ].
Reading: Chapter 4.4, 4.7,4.8 in Kleinberg and Tardos.
Lecture: Data clustering, Dijkstra's algorithm [ slides ].
Reading: Chapter 4.4, 4.7 in Kleinberg and Tardos.
Lecture: More MST algorithms (cont).
Lecture: More MST algorithms (cont).
Lecture: More MST algorithms, data clustering.
Reading: Chapter 4.5, 4.7 in Kleinberg and Tardos.
Lecture: More MST algorithms (cont).
Reading: Chapter 4.5 in Kleinberg and Tardos.
Lecture: Dijkstra's algorithm [ slides ]. Huffman encoding [ slides ].
Reading: Chapter 4.4, 4.8 in Kleinberg and Tardos.
Lecture: More MST algorithms, data clustering. Dijkstra's algorithm [ slides ]
Reading: Chapter 4.4, 4.5, 4.7 in Kleinberg and Tardos.
Lecture: More MST algorithms, data clustering.
Reading: Chapter 4.5, 4.7 in Kleinberg and Tardos.
Lecture: Dijkstra's algorithm (cont). Huffman encoding [ slides ] .
Lecture: Dijkstra's algorithm (cont). Huffman encoding.
Lecture: Dijkstra's algorithm (cont). Huffman encoding [ slides ] .
Lecture: More MST algorithms, data clustering. Dijkstra's algorithm [ slides
Lecture: More MST algorithms, data clustering. Dijkstra's algorithm [ slides ]
Lecture: More MST algorithms, data clustering.
Reading: Chapter 4.5, 4.7 in Kleinberg and Tardos.
Lecture: More MST algorithms, data clustering. Dijkstra's algorithm [ slides
Reading: Chapter 4.4, 4.5, 4.7 in Kleinberg and Tardos.
Thursday, 2/23
Lecture: Dijkstra's algorithm (cont). Huffman encoding.
Reading: Chapter 4.4, 4.8 in Kleinberg and Tardos.
Week 6:
Tuesday, 2/21
Lecture: More MST algorithms, data clustering.
Reading: Chapter 4.5, 4.7 in Kleinberg and Tardos.
Thursday, 2/16
Lecture: Greedy algorithms for the minimum spanning tree problem [ slides ].
Reading: Chapter 4.5, 4.7 in Kleinberg and Tardos.
Week 5:
Tuesday, 2/14
Lecture: Introduction to greedy algorithms [ slides ].
Reading: Chapter 4.1 in Kleinberg and Tardos.
Thursday, 2/9
Lecture: Graphs - Analysis of BFS, connected components, bipartite graphs.
Reading: Chapter 3.5-3.6 in Kleinberg and Tardos.
Written assignment #3 is due.
Week 4:
Tuesday, 2/7
Lecture: Graphs - Analysis of BFS, connected components, bipartite graphs.
Reading: Chapter 3.2-3.4 in Kleinberg and Tardos.
Programming assignment #2 is available.
Lecture: Graphs [ slides ]. Written homework 2 is due.
Lecture: Graphs (representations of graphs and BFS) [ slides ]. Written homework 2 is due.
Lecture: Finish the discussion of big O, and start on graphs [ slides ].
Reading: Chapter 3 in Kleinberg and Tardos.
Lecture: Finish the discussion of big O.
Lecture: More graphs - continuing tuesday's slide set. Written homework 2 is due.
Lecture: Graphs [ slides ]. Written homework 2 is due.
Week 3:
Tuesday, 1/31
Lecture: Finish the discussion of big O, and start on graphs [ slides ].
Reading: Chapter 3 in Kleinberg and Tardos.
Thursday, 2/2
Lecture: More graphs - continuing tuesday's slide set. Written homework 2 is due.
Reading: Chapter 3 in Kleinberg and Tardos.
Week 1:
Tuesday, 1/24
Lecture: Big O [ slides ].
Reading: Chapter 2 in Kleinberg and Tardos.
Tuesday, 1/26
Lecture: Big O continued. There will be quiz on big O. Written homework is due.
Reading: Chapter 2 in Kleinberg and Tardos.
Lecture: Course introduction - the stable marriage problem [ slides ]
Lecture: Course introduction
A crash course in Python. Here's the set Python class I showed.
The stable matching problem [ slides ] (slides updated on 1/19 to include the example shown in class)
Lecture: We will continue with the stable marriage problem. Here is the set python class.
Lecture: We continued with the stable matching problem, and talked about representative problems that will be discussed in the course (almost finished the slides I posted on Tuesday).
Tuesday, 1/18
Tuesday, 1/17
Thursday, 1/20
Thursday, 1/19
Week 16:
Tuesday, 5/3
Lecture: No class
Thursday, 4/28
Lecture: Review for final
Week 15:
Tuesday, 4/26
Lecture: Local search algorithms [ slides ].
Reading: Sections 12.1 - 12.5 in Kleinberg and Tardos
Thursday, 4/28
Lecture: Local search (continued).
Week 14:
Tuesday, 4/19
Lecture: NP, NP-completeness and the class co-NP.
Reading: Section 8.4 and 8.9 in Kleinberg and Tardos. Papadimitriou has a nice retrospective on the importance of NP-completeness [ pdf ]
Thursday, 4/21
Lecture: NP-complete problems.
Reading: Sections 8.5,8.7 in Kleinberg and Tardos [ slides ] .
Week 13:
Tuesday, 4/12
Lecture: NP and computational intractability - polynomial reductions [ slides ].
Reading: Section 8.1 and 8.2 in Kleinberg and Tardos.
Thursday, 4/14
Lecture: NP and NP-completeness [ slides ]
Reading: Sections 8.3 and 8.4 in Kleinberg and Tardos.
Week 12:
Tuesday, 4/5
Lecture: Sequence alignment in linear space using dynamic programming and divide and conquer.
Reading: Section 6.6 in Kleinberg and Tardos.
Thursday, 4/7
Lecture: Shortest paths using dynamic programming [ slides ].
Reading: Section 6.8 in Kleinberg and Tardos.
Week 11:
Tuesday, 3/29
Lecture: Dynamic programming [ slides ]
Reading: Sections 6.1, 6.2,6.4 in Kleinberg and Tardos.
Thursday, 3/31
Lecture: Dynamic programming [ slides ]
Reading: Sections 6.6 in Kleinberg and Tardos.
Week 10:
Tuesday, 3/22
Lecture: Recurrence relations, counting inversions [ slides ]
Reading: Sections 5.2, 5.3 in Kleinberg and Tardos.
Thursday, 3/24
Lecture: Closest pair of points [ slides ]
Reading: Sections 5.5 in Kleinberg and Tardos.
Week 9:
Spring break!
Week 8:
Tuesday, 3/8
Lecture: Exam prep, Divide and conquer algorithms [ slides ]
Reading: Sections 5.1,5.2 in Kleinberg and Tardos.
Thursday, 3/10
Lecture: Midterm exam.
Week 7:
Tuesday, 3/1
Lecture: Greedy algorithms for the minimum spanning tree problem [ slides ]
Reading: Sections 4.5,4.7 in Kleinberg and Tardos.
Thursday, 3/3
Lecture: More on the minimum spanning tree problem.
Week 6:
Tuesday, 2/22
Lecture: Greedy scheduling algorithms
Reading: Sections 4.1,4.2 in Kleinberg and Tardos.
Thursday, 2/24
Lecture: Shortest paths and Dijkstra's algorithm [ slides ]
Reading: Sections 4.4 in Kleinberg and Tardos.
Week 5:
Tuesday, 2/15
Lecture: Finish graph algorithms - DAGs and topological ordering. Greedy algorithms [ slides ]
Reading: Sections 4.1,4.2 in Kleinberg and Tardos.
Written assignment 2 has been posted.
Thursday, 2/17
Lecture: Greedy algorithms - interval scheduling
Reading: Sections 4.1,4.2 in Kleinberg and Tardos.
Week 4:
Tuesday, 2/8
Lecture: Graph algorithms. Analysis of BFS and DFS. Bipartite graphs.
Reading: Chapter 3 in Kleinberg and Tardos.
Thursday, 2/10
Lecture: Graph algorithms. Connectivity in directed graphs
Reading: Chapter 3 in Kleinberg and Tardos.
Week 3:
Tuesday, 2/1
Lecture: Continued discussion of big-O
Reading: Chapter 2 in Kleinberg and Tardos.
Thursday, 2/3
Lecture: Graphs. Graph traversal with BFS [ slides ]
Reading: Chapter 3 in Kleinberg and Tardos.
Week 2:
Tuesday, 1/25
Lecture: Representative problems
Reading: Section 1.2 in Kleinberg and Tardos.
Thursday, 1/27
Lecture: Measuring algorithm efficiency [ slides ]
Reading: Chapter 2 in Kleinberg and Tardos.
Lecture: We will continue with the stable marriage problem. Here is the set python class that I showed.
Lecture: We will continue with the stable marriage problem. Here is the set python class.
Lecture: Local search algorithms [ slides ].
Lecture: Local search algorithms [ slides ].
Week 16:
Tuesday, 5/3
Lecture: No class
Thursday, 4/28
Lecture: Review for final
Thursday, 4/28
Lecture: Local search (continued).
Week 15:
Tuesday, 4/26
Lecture: Local search algorithms [ slides ].
Reading: Sections 12.1 - 12.5 in Kleinberg and Tardos
Reading: Sections 8.5,8.7 in Kleinberg and Tardos [ slides ] .
Reading: Sections 8.5,8.7 in Kleinberg and Tardos [ slides ] .
Lecture: NP and NP-completeness [ slides ]
Lecture: NP and NP-completeness [ slides ]
Reading: Sections 8.5-8.8 in Kleinberg and Tardos.
Reading: Sections 8.5,8.7 in Kleinberg and Tardos [ slides ] .
Reading: Section 8.4 and 8.9 in Kleinberg and Tardos.
Reading: Section 8.4 and 8.9 in Kleinberg and Tardos. Papadimitriou has a nice retrospective on the importance of NP-completeness [ pdf ]
Week 14:
Tuesday, 4/19
Lecture: NP, NP-completeness and the class co-NP.
Reading: Section 8.4 and 8.9 in Kleinberg and Tardos.
Thursday, 4/21
Lecture: NP-complete problems.
Reading: Sections 8.5-8.8 in Kleinberg and Tardos.
Reading: Section 8.1,8.2 in Kleinberg and Tardos.
Reading: Section 8.1 and 8.2 in Kleinberg and Tardos.
Thursday, 4/14
Lecture: NP and NP-completeness [ slides ]
Reading: Sections 8.3 and 8.4 in Kleinberg and Tardos.
Tuesday, 4/7
Thursday, 4/7
Week 13:
Tuesday, 4/12
Lecture: NP and computational intractability - polynomial reductions [ slides ].
Reading: Section 8.1,8.2 in Kleinberg and Tardos.
Lecture: Shortest paths using dynamic programming [ slides ].
Lecture: Shortest paths using dynamic programming [ slides ].
Week 10:
Week 12:
Tuesday, 4/5
Lecture: Sequence alignment in linear space using dynamic programming and divide and conquer.
Reading: Section 6.6 in Kleinberg and Tardos.
Tuesday, 4/7
Lecture: Shortest paths using dynamic programming [ slides ].
Reading: Section 6.8 in Kleinberg and Tardos.
Week 11:
Reading: Sections 6.6, 6.7 in Kleinberg and Tardos.
Reading: Sections 6.6 in Kleinberg and Tardos.
Reading: Sections 6.1, 6.2 in Kleinberg and Tardos.
Reading: Sections 6.1, 6.2,6.4 in Kleinberg and Tardos.
Thursday, 3/31
Lecture: Dynamic programming [ slides ]
Reading: Sections 6.6, 6.7 in Kleinberg and Tardos.
Tuesday, 3/29
Lecture: Dynamic programming [ slides ]
Reading: Sections 6.1, 6.2 in Kleinberg and Tardos.
Week 10:
Tuesday, 3/24
Thursday, 3/24
Tuesday, 3/24
Lecture: Closest pair of points [ slides ]
Reading: Sections 5.5 in Kleinberg and Tardos.
Lecture: Divide and conquer algorithms and Counting Inversions [ slides ]
Lecture: Recurrence relations, counting inversions [ slides ]
Week 10:
Tuesday, 3/22
Lecture: Divide and conquer algorithms and Counting Inversions [ slides ]
Reading: Sections 5.2, 5.3 in Kleinberg and Tardos.
Week 9:
Spring break!
Week 8:
Tuesday, 3/8
Lecture: Exam prep, Divide and conquer algorithms [ slides ]
Reading: Sections 5.1,5.2 in Kleinberg and Tardos.
Thursday, 3/10
Lecture: Midterm exam.
Thursday, 3/3
Lecture: More on the minimum spanning tree problem.
Week 7:
Tuesday, 3/1
Lecture: Greedy algorithms for the minimum spanning tree problem [ slides ]
Reading: Sections 4.5,4.7 in Kleinberg and Tardos.
Week 6:
Tuesday, 2/22
Lecture: Greedy scheduling algorithms
Reading: Sections 4.1,4.2 in Kleinberg and Tardos.
Thursday, 2/24
Lecture: Shortest paths and Dijkstra's algorithm [ slides ]
Reading: Sections 4.4 in Kleinberg and Tardos.
Written assignment 2 has been posted.
Written assignment 2 has been posted.
Lecture: Finish graph algorithms - DAGs and topological ordering. Greedy algorithms - interval scheduling [ slides ]
Lecture: Finish graph algorithms - DAGs and topological ordering. Greedy algorithms [ slides ]
Thursday, 2/17
Lecture: Greedy algorithms - interval scheduling
Reading: Sections 4.1,4.2 in Kleinberg and Tardos.
Lecture: DAGs and topological ordering. Greedy algorithms - interval scheduling [ slides ]
Lecture: Finish graph algorithms - DAGs and topological ordering. Greedy algorithms - interval scheduling [ slides ]
Lecture: DAGs and topological ordering. Greedy algorithms - interval scheduling slides ]
Lecture: DAGs and topological ordering. Greedy algorithms - interval scheduling [ slides ]
Week 5:
Tuesday, 2/15
Lecture: DAGs and topological ordering. Greedy algorithms - interval scheduling slides ]
Reading: Sections 4.1,4.2 in Kleinberg and Tardos.
Written assignment 2 has been posted.
Lecture: Graph algorithms. Connectivity in directed graphs, DAGs and topological ordering.
Lecture: Graph algorithms. Connectivity in directed graphs
Reading: Chapter 3 in Kleinberg and Tardos.
Thursday, 2/10
Lecture: Graph algorithms. Connectivity in directed graphs, DAGs and topological ordering.
Lecture: We will continue the discussion of big-O
Lecture: Continued discussion of big-O
Lecture: Graphs. We started the discussion of BFS [ slides ]
Lecture: Graphs. Graph traversal with BFS [ slides ]
Week 4:
Tuesday, 2/8
Lecture: Graph algorithms. Analysis of BFS and DFS. Bipartite graphs.
Reading: Chapter 3 in Kleinberg and Tardos.
Lecture: Graph algorithms [ slides ]
Lecture: Graphs. We started the discussion of BFS [ slides ]
Thursday, 2/3
Lecture: Graph algorithms [ slides ]
Reading: Chapter 3 in Kleinberg and Tardos.
Week 3:
Tuesday, 2/1
Lecture: We will continue the discussion of big-O
Reading: Chapter 2 in Kleinberg and Tardos.
Week 2:
Tuesday, 1/25
Lecture: Representative problems
Reading: Section 1.2 in Kleinberg and Tardos.
Thursday, 1/27
Lecture: Measuring algorithm efficiency [ slides ]
Reading: Chapter 2 in Kleinberg and Tardos.
Lecture: We will continue with the stable marriage problem.
Lecture: We will continue with the stable marriage problem. Here is the set python class that I showed.
Lecture: Course introduction [ slides ]
Lecture: Course introduction - the stable marriage problem [ slides ]
Thursday, 1/20
Lecture: We will continue with the stable marriage problem.
Wednesday, 1/20
Lecture: Course introduction; why programming? [ slides ]
Reading: Chapter 1 in How to think like a computer scientist.
Friday, 1/22
Lecture: Our first program?, programming errors?, Python types?, variables?
Reading: Chapter 2.
Tuesday, 1/18
Lecture: Course introduction [ slides ]
Reading: Chapter 1 in Kleinberg and Tardos.
Week 15:
Monday, 4/26
Lecture: Plotting with matplotlib. Here's code for a simple plot?.
Reading: The matplotlib tutorial.
Lab: lab 14?
Wednesday, 4/28
Lecture: Plotting: Generating subplots?, histograms?, legends?.
Friday, 4/30
Lecture: Review for exam.
Week 14:
Monday, 4/26
Lecture: Using biopython for DNA sequence motifs motifs?. Example data: the E2F1 motif and human promoter sequences.
Lab: lab 13?
Wednesday, 4/28
Lecture: More about motif finding.
Friday, 4/30
Lecture: Finish motif finding with biopython.
Week 13:
Monday, 4/19
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions.
Lab: lab 12?
Wednesday, 4/21
Lecture: We will start playing with biopython sequence objects?.
Reading: Chapter 3 in the biopython tutorial.
Friday, 4/23
Lecture: We will use biopython to parse? sequence files.
Here's the data for these examples: Calmodulin sequences in fasta, uniprot, and genbank formats.
Reading: Chapter 2 in the biopython tutorial.
Week 12:
Monday, 4/12
Lecture: Inheritance in python the shapes example?.
Lab: lab 11?
Assignment: Assignment 11?
Wednesday, 4/14
Lecture: interfaces? in Python. New style classes example?. See also the
python documentation.
Friday, 4/16
Lecture: Methods for solving assignment 9?.
Week 11:
Monday, 4/5
Lecture: Python classes - representing shapes?; digression: random numbers?
Lab: lab 10?
Assignment: Assignment 10?
Wednesday, 4/7
Lecture: Operator overloading example?; the cards? example.
Reading: Chapter 15.
Friday, 4/9
Lecture: Python classes (cont)
Week 10:
Monday, 3/29
Lecture: Using Python object - continued.
Lab: lab 9?
Assignments: Assignment 9?
Wednesday, 3/31
Lecture: Introduction to Python classes. code examples?.
Reading: chapter 13 and chapter 15
Friday, 4/2
Lecture: No lecture today due to future visions.
Week 9:
Monday, 3/22
Lecture: dictionaries. code examples?.
Lab: lab 8?
Assignments: Assignment 8?
Reading: chapter 12
Wednesday, 3/24
Lecture: tuples (examples?); functions revisited: variable length argument lists using tuples? and dictionaries?.
Friday, 3/26
Lecture: Using python objects - object methods of strings, lists, and dictionaries?.
Week 8:
Monday, 3/8
Lecture: recursion [ slides ]. code examples?.
Lab: lab 7?
Assignments: Assignment 7?
Reading: chapter 11
Wednesday, 3/10
Lecture: recursion - continued. More examples: factorial?, recursive binary search?.
Friday, 3/12
Lecture: midterm
Week 7:
Monday, 3/1
Lecture: binary search code?; measuring the efficiency of algorithms [ slides ]
Lab: lab 6?
Assignments: Assignment 6?
Wednesday, 3/3
Lecture: algorithm efficiency (cont).
Friday, 3/5
Lecture: Exceptions code?; command line arguments example?.
Reading: Exceptions section in chapter 11.
Week 6:
Monday, 2/22
Lecture: Strings and lists (code?), iterators (code?), files (code?).
Lab: lab 5?
Assignments: Assignment 5?
Wednesday, 2/24
Lecture: Sorting algorithms [ slides ]; here's the code?.
Friday, 2/26
Lecture: Sorting algorithms, continued;
Week 5:
Monday, 2/15
Lecture: Strings (continued), string formatting (examples?).
Lab: lab 4?
Assignments: Assignment 4
Wednesday, 2/17
Lecture: Lists (lists?)
Reading: Chapter 9.
Friday, 2/19
Lecture: Lists are mutable (code?), lists as function parameters (code?), nested lists (code?).
Week 4:
Monday, 2/8
Lecture: While loops (cont): printing tables?. Iteration using for loops?.
Lab: Lab 3?
Assignments: Assignment 3
Wednesday, 2/10
Lecture: For loops (cont): nested loops?. Strings (examples?).
Reading: Chapter 7.
Friday, 2/12
Lecture: Strings (continued).
Week 3:
Monday, 2/1
Lecture: Conditionals - the if statement boolean variables?, conditionals?, sort names?, letter grade? calculator, a better version of letter grade?.
Reading: Chapter 4.
Lab: Lab 2?
Assignments: Assignment 2
Wednesday, 2/3
Lecture: Functions that return a value. Examples: area?, divisibility?, absolute value?.
Iteration - the while statement. Here's an example?.
Reading: Chapter 5,
chapter 6
Friday, 2/5
Lecture: While loops: input validation?.
Week 2:
Monday, 1/25
Lecture: Python expressions?, and input?. Putting it together: Celsius to fahreheit converter?
Lab: lab1?
Assignments: Assignment1
Wednesday, 1/27
Lecture: Functions [ slides ]. draw_rectangle?, celsius2fahrenheit?, functions?.
Reading: Chapter 3.
Friday, 1/29
Lecture: Functions - continued local variables?, conditionals - the if statement boolean variables?.
Reading: Chapter 4.
Reading: The matplotlib tutorial.
Reading: The matplotlib tutorial.
Week 14:
Week 15:
Lecture: Plotting with matplotlib. Here's code for a simple plot?. Generating subplots?.
Week 14:
Monday, 4/26
Lecture: Finish motif finding with biopython. Start plotting with matplotlib. Here's code for a simple plot?.
Lecture: Finish motif finding with biopython.
Monday, 4/26
Lecture: Using biopython for DNA sequence motifs motifs?. Example data: the E2F1 motif and human promoter sequences.
Week 13:
Lecture: We will use biopython to parse? sequence files, and to hanld motifs?.
Here's the data for these examples: Calmodulin sequences in fasta, uniprot, and genbank formats. The E2F1 motif and human promoter sequences.
Here's the data for these examples: Calmodulin sequences in fasta, uniprot, and genbank formats. The E2F1 motif and human promoter sequences.
Here's the data for these examples: Calmodulin sequences in fasta, uniprot, and genbank formats. The E2F1 motif and human promoter sequences.
Here's the data for these examples: Calmodulin sequences in fasta, uniprot, and genbank formats. The E2F1 motif and human promoter sequences.
Reading: Chapter 3 in the biopython tutorial.
Reading: Chapter 3 in the biopython tutorial.
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions. We will start playing with biopython sequence objects?.
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions.
Wednesday, 4/21
Lecture: We will start playing with biopython sequence objects?.
Week 13:
Monday, 4/19
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions. We will start playing with biopython sequence objects?.
Reading: Chapter 3 in the biopython tutorial.
Lab: lab 12?
Monday, 4/19
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions. We will start playing with biopython sequence objects?.
Reading: Chapter 3 in the biopython tutorial.
Lecture: Methods for solving assignment 9?.
Monday, 4/19
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions. We will start playing with biopython sequence objects?.//
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions. We will start playing with biopython sequence objects?.
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions. We will start playing with biopython sequence objects?.
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions. We will start playing with biopython sequence objects?.// Reading: Chapter 3 in the biopython tutorial.
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions.
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions. We will start playing with biopython sequence objects?.
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation.
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation. Also see the biopython install instructions.
Lecture: Installing packages?. As an example, we will install the biopython package.
Lecture: Installing packages?. As an example, we will install the biopython package. More info at the python documentation.
Friday, 4/16
Lecture: Installing packages?. As an example, we will install the biopython package.
Lecture: Inheritance in python the shapes example?. New style classes example?. See also the
python documentation.
Lecture: Inheritance in python the shapes example?.
Lecture: Inheritance in python the shapes example?. New style classes example?. See also the
Lecture: Python classes - more examples?; digression: random numbers?
Lecture: Python classes - representing shapes?; digression: random numbers?
python documentation.
python documentation.
Week 12:
Monday, 4/12
Lecture: Inheritance in python example?. New style classes example?. See also the
python documentation.
Lab: lab 11?
Assignment: Assignment 11?
Assignments: Assignment 10?
Assignment: Assignment 10?
Lecture: Python classes (cont)
Reading:: Chapter 15.
Lecture: No lecture today due to .
Lecture: No lecture today due to future visions.
Friday, 4/2
Lecture: No lecture today due to .
Lecture: Python classes - more examples?.
Lecture: Python classes - more examples?; digression: random numbers?
Week 11:
Monday, 4/5
Lecture: Python classes - more examples?.
Lab: lab 10?
Assignments: Assignment 10?
Lecture: Using Python object - continued.
Lecture: tuples (examples?); functions revisited: beyond fixed size argument lists. Using tuples? and dictionaries?.
Lecture: tuples (examples?); functions revisited: variable length argument lists using tuples? and dictionaries?.
Friday, 3/26
Lecture: Using python objects - object methods of strings, lists, and dictionaries?.
Wednesday, 3/10
Lecture: recursion - continued. More examples: factorial?, recursive binary search?.
Assignments: Assignment 7?
Assignments: Assignment 7?
Reading: chapter 11
Lecture: algorithm efficiency (cont).
Lecture: algorithm efficiency (cont).
Lecture: binary search code?;
measuring the efficiency of algorithms [ [[Path:../../pdfs/04_complexity.pdf
Week 7:
Monday, 3/1
Lecture: binary search code?;
measuring the efficiency of algorithms [ lab 6
Assignments: Assignment 6?
Lecture: Sorting algorithms, continued;
Lecture: Sorting algorithms ([ slides ])
Lecture: Sorting algorithms [ slides ]
Wednesday, 2/24
Lecture: Sorting algorithms ([ slides ])
Week 6:
Week 5:
Week 5:
Monday, 2/15
Week 6:
Monday, 2/22
Lab: lab 5?
Assignments: Assignment 5?
Week 6:
Monday, 2/15
Lecture: Strings and lists (code?), iterators (code?), files (code?).
Lecture: Lists are mutable (code?), lists as function parameters (code?), nested lists (code?), strings and lists (code?).
Lecture: Lists are mutable (code?), lists as function parameters (code?), nested lists code?, strings and lists ( code? ).
Lecture: Lists are mutable code?, lists as function parameters code?, nested lists code?, strings and lists code?.
Reading: Chapter 9.
Reading: Chapter 9.
Week 5:
Monday, 2/15
Lecture: String formatting (examples?). Lists (lists?)
Reading: Chapter 9.
Lab: lab 4?
Assignments: Assignment 3
Lecture: Strings (continued).
Reading: Chapter 7.
Reading: Chapter 7.
Lecture: For loops (cont): nested loops?. Strings (examples?.
Lecture: For loops (cont): nested loops?. Strings (examples?).
Lecture: For loops (cont): nested loops?.
Lecture: For loops (cont): nested loops?. Strings (examples?.
Reading: Chapter 7.
Lecture: While loops (cont): printing tables?, nested loops?. Iteration using for loops?.
Lab: Lab 3?
Assignments: Assignment 3
Lecture: While loops: input validation?
.
Lecture: While loops: input validation?.
Week 4:
Monday, 2/8
'Lecture:'' While loops (cont): printing tables?, nested loops?. Iteration using for loops?
.
Lecture: While loops: input validation?, printing tables?, nested loops?. Iteration using for loops?
.
Lecture: While loops: input validation?
.
Friday, 2/5
Lecture: While loops: input validation?, printing tables?, nested loops?. Iteration using for loops?
.
Lecture: Functions that return a value. Examples: area?, divisibility?, absolute value?.
Reading: Chapter 5.
Lecture: Functions that return a value. Examples: area?, divisibility?, absolute value?.
Iteration - the while statement. Here's an example?.
Reading: Chapter 5,
chapter 6
Reading: Chapter 5.
Reading: Chapter 5.
Monday, 2/3
Lecture: Functions that return a value. Examples: area?, divisibility?, absolute value?.
Reading: Chapter 5.
Week 3:
Monday, 2/1
Lecture: Conditionals - the if statement boolean variables?, conditionals?, sort names?, letter grade? calculator, a better version of letter grade?.
Reading: Chapter 4.
Lecture: Functions - continued local variables?, conditionals - the if statement boolean variables?, conditionals?, sort names?, letter grade? calculator, a better version of letter grade?.
Lecture: Functions - continued local variables?, conditionals - the if statement boolean variables?.
Lecture: Functions - continued local variables?, conditionals - the if statement boolean variables?, conditionals?, sort names?, letter grade? calculator, a better version of letter grade?.
Lecture: Functions - continued local variables?, conditionals - the if statement boolean variables?, conditionals?, sort names?, letter grade? calculator, a better version of letter grade?.
Friday, 1/29
Lecture: Functions - continued local variables?, conditionals - the if statement boolean variables?, conditionals?, sort names?, letter grade? calculator, a better version of letter grade?.
Lecture: Functions [ slides ]. draw_rectangle?, celsius2fahrenheit?, functions?.
Lecture: Functions [ slides ]. draw_rectangle?, celsius2fahrenheit?, functions?.
Wednesday, 1/27
Lecture: Functions [ slides ]. draw_rectangle?, celsius2fahrenheit?, functions?.
Reading: Chapter 3.
Wed, 1/20
Wednesday, 1/20
Fri, 1/22
Friday, 1/22
Week 2:
Monday, 1/25
Lecture: Python expressions?, and input?. Putting it together: Celsius to fahreheit converter?
Lab: lab1?
Assignments: Assignment1
Week 2:
Lecture: Python expressions?, and input?.
Lab: lab1?
Assignments: Assignment1
Lecture: Pythonexpressions?, and input?.
Lecture: Python expressions?, and input?.
Lecture: Our first program?, programming errors?, Python types?, variables?, expressions?, and input?.
Lecture: Our first program?, programming errors?, Python types?, variables?
Week 2:
Lecture: Pythonexpressions?, and input?.
Lecture: Our FirstProgram?, programming errors?, Python types?, variables?, expressions?, and input?.
Lecture: Our first program?, programming errors?, Python types?, variables?, expressions?, and input?.
Lectures: Course introduction; why programming? [ slides ]
Lecture: Course introduction; why programming? [ slides ]
Fri, 1/22
Lecture: Our FirstProgram?, programming errors?, Python types?, variables?, expressions?, and input?.
Reading: Chapter 2.
Week 1:
Wed, 1/20
Week 1:
Wed, 1/20
Week 1: 1/20
Week 1:
Wed, 1/20
Assignments: Coming soon
Lectures: Course introduction; why programming?
Lectures: Course introduction; why programming? [ slides ]
Lectures: Course introduction;
Reading:
Lectures: Course introduction; why programming?
Reading: Chapter 1 in How to think like a computer scientist.
Week 1: 8/25
Lectures: Course introduction; cs160 recap
[ slides ] (updated)
Reading: 160 material: chapters 1-4, 7 in the Java book.
Recitation: cs160 recap?
Assignments: First programming assignment is available
Week 2: 9/1
Lectures: Java classes, objects, and object oriented programming
[ slides ]. Here's the code for the Die? class. Quiz on Thu.
Reading: Chapter 5 in the Java book.
Recitation: Getting familiar with Classes?
Assignments: Programming assignment is available
Week 3: 9/8
Lectures: More on Java classes [ slides ] (updated thu). The code for the Account? class. Quiz on Thu.
Reading: Chapters 5-6 in Savitch (5 in Lewis).
Recitation: More on Classes?
Week 4: 9/15
Lectures: Assertions, pre/post conditions [ slides ]. Javadoc commenting of code. Here's an example?. ArrayList [ slides ]. Here's the example? we worked on in class . Quiz on Thu.
Reading: Assertions - chapter 4.2 in Savitch. ArrayList - chapter 12.1 in Savitch;
Recitation: A Break from Classes?
Week 5: 9/22
Lectures: Recursion [ slides ]. Quiz on Thu. More recursion [ slides ]. The maze? example.
Reading: Chapter 11 in Savitch, or Chapter 12 in Lewis, or Chapter 3 in Walls and Mirrors.
Recitation: Recursion?
Week 6: 9/29
Lectures: Counting [ slides ]. Midterm on Thu.
Reading: Chapter 5 in Rosen.
Recitation: Recursion?
Week 7: 10/6
Lectures: Permutations, r-permutation, combinations, and the traveling salesman problem [ slides ] (updated on thursday). Quiz on Thu.
Reading: Chapter 5 in Rosen.
Recitation: Enumeration and Counting?
Week 8: 10/13
Lectures: Induction [ slides ]. Quiz on Thu.
Reading: Chapter 4.1,4.2 in Rosen.
Assignments: A written assignment on induction is available
Week 9: 10/20
Lectures: Inheritance [ slides ]. Inheritance and polymorphism [ slides ] Quiz on Thu.
Reading: Chapter 8 in either of the Java books.
Recitation: Inheritance?
Week 10: 10/27
Lectures: Interfaces [ slides ]. (updated after thursday's class) [ Code ] for the StaffMember/Employee etc. example. Quiz on Thu.
Reading: Chapter 8 in Savitch, chapter 9 in Lewis.
Recitation: Interfaces?
Week 11: 11/3
Lectures: Midterm on Tue. Static again [ slides ]. Linked lists [ slides ]
Reading: Chapter 5 in Walls and Mirrors, 12.1 in Savitch, 14.4 in Lewis.
Recitation: Programming quiz
Week 12: 11/10
Lectures: Linked lists [ slides ] (updated on wed). Linked list code? and doubly linked list code?.
Reading: Chapter 5 in Walls and Mirrors, 12.1 in Savitch, 14.4 in Lewis.
Recitation: Linked Lists?
Week 13: 11/17
Lectures: Sorting [ slides ] (updated on thu) Here's a nice java applet that illustrates the sorting algorithms we looked at. Obama being asked about sorting
Reading: Chapter 13 in Lewis, Chapter 10 in Walls and Mirrors
Recitation: Sorting?
Week 14: 12/1
Lectures: Java packages [ slides ]. JUnit and testing [ slides ]. Graphics, GUI and Applets in Java [ slides ] and [ code ]
Reading: Packages: Chapter 11 in Lewis, 6.7 in Savitch. Lewis covers version 3 of JUnit.
Recitation: JUnit?
Week 15: 12/8
Lectures: Java Graphics, GUI and Applets - continued (tuesday). Review (thursday).
Recitation: Programming final.
Week 1: 1/20
Lectures: Course introduction;
Reading:
Assignments: Coming soon
Week 15: 12/8
Lectures: Java Graphics, GUI and Applets - continued (tuesday). Review (thursday).
Recitation: Programming final.
Lectures: Java packages [ slides ]. JUnit and testing [ slides ]. Graphics, GUI and Applets in Java [ slides ]
Lectures: Sorting [ slides ] (updated on thu) Here's a nice java applet that illustrates the sorting algorithms we looked at
Lectures: Sorting [ slides ] (updated on thu) Here's a nice java applet that illustrates the sorting algorithms we looked at. Obama being asked about sorting
Lectures: Sorting [ slides ] (updated on thu)
Lectures: Sorting [ slides ] (updated on thu) Here's a nice java applet that illustrates the sorting algorithms we looked at
Lectures: Sorting [ slides ]
Lectures: Sorting [ slides ] (updated on thu)
Week 13: 11/17
Lectures: Sorting [ slides ]
Reading: Chapter 13 in Lewis, Chapter 10 in Walls and Mirrors
Recitation:
Lectures: Linked lists [ slides ]
Lectures: Linked lists [ slides ] (updated on wed)
Week 12: 11/10
Lectures: Linked lists [ slides ]
Reading: Chapter 5 in Walls and Mirrors, 12.1 in Savitch, 14.4 in Lewis.
Recitation: Interfaces?
Recitation: Interfaces?
Week 11: 11/3
Lectures: Midterm on Tue. Static again [ slides ]. Linked lists [ slides ]
Reading: Chapter 5 in Walls and Mirrors, 12.1 in Savitch, 14.4 in Lewis.
Recitation: Programming quiz
Week 9: 10/27
Lectures: Interfaces [ slides ]. Quiz on Thu.
Reading: Chapter 8 in Savitch, chapter 9 in Lewis.
Week 9: 10/20
Lectures: Inheritance [ slides ]. Quiz on Thu.
Reading: Chapter 8 in either of the Java books.
Assignments: A written assignment on induction is available
Reading: Chapter 11 in Savitch, or Chapter 12 in Lewis, or Chapter 3 in Walls and Mirrors.
Reading: Chapter 11 in Savitch, or Chapter 12 in Lewis, or Chapter 3 in Walls and Mirrors.
Reading: Chapter 5 in Rosen.
Reading: Chapter 5 in Rosen.
Reading: Chapter 5 in Rosen.
Reading: Chapter 5 in Rosen.
Week 8: 10/13
Lectures: Induction [ slides ]. Quiz on Thu.
Reading: Chapter 4.1,4.2 in Rosen.
Lectures: Permutations, r-permutation, combinations, and the traveling salesman problem [ slides ]. Quiz on Thu.
Lectures: Permutations, r-permutation, combinations, and the traveling salesman problem [ slides ] (updated on thursday). Quiz on Thu.
Lectures: Permutations, r-permutation, combinations, and the traveling salesman problem [ slides ]. Midterm on Thu.
Lectures: Permutations, r-permutation, combinations, and the traveling salesman problem [ slides ]. Quiz on Thu.
Week 7: 10/6
Lectures: Permutations, r-permutation, combinations, and the traveling salesman problem [ slides ]. Midterm on Thu.
Reading: Chapter 5 in Rosen.
Week 6: 9/29
Lectures: Counting [ slides ]. Midterm on Thu.
Reading: Chapter 5 in Rosen.
Week 5: 9/22
Lectures: Recursion [ slides ]. Quiz on Thu.
Reading: Chapter 11 in Savitch, or Chapter 12 in Lewis, or Chapter 3 in Walls and Mirrors.
Lectures: Assertions, pre/post conditions [ slides ]. Javadoc commenting of code. Here's an example?. ArrayList [ slides ]. Quiz on Thu.
Lectures: Assertions, pre/post conditions [ slides ]. Javadoc commenting of code. Here's an example?. Quiz on Thu.
Reading: Assertions - chapter 4.2 in Savitch.
Week 4: 9/8
Week 3: 9/8
Week 3: 9/15
Week 4: 9/15
Week 3: 9/15
Lectures: More on Java classes [ slides ]. Quiz on Thu.
Reading: Assertions - chapter 4.2 in Savitch.
Recitation:
Recitation: Getting familiar with Classes?
Recitation: Getting familiar with Classes?
Assignments: Programming assignment is available
Week 3: 9/8
Lectures: More on Java classes [ slides ]. Quiz on Thu.
Reading: Chapters 5-6 in Savitch (5 in Lewis).
Recitation:
Week 1: 8/25
Lectures: Java classes, objects, and object oriented programming
[ slides ] (updated)
Reading: Chapter 5 in the Java book.
[ slides ]
Reading: 160 material: chapters 1-4, 7 in the Java book.
Recitation: cs160 recap?
Lectures: Course introduction; cs160 recap [ slides ]
Reading: Chapter 1 in Walls and Mirrors.
Lectures: Course introduction; cs160 recap
Reading: Chapter 4 in Walls and Mirrors.
Reading: Chapter 1 in Walls and Mirrors.
Week 1: 1/21 - 1/23
Lectures: Course introduction; abstract data types (ADTs) [ slides ]
Week 1: 8/25
Lectures: Course introduction; cs160 recap [ slides ]
Recitation: No recitations this week
Recitation:
Week 2: 1/26 - 1/30
Lectures: Measuring the efficiency of algorithms [ slides ]
Reading: Sections 3.2,3.3 in Rosen, Section 10.1 in Walls and Mirrors.
Recitation: Using checkin, review of linked lists, help on programming assignment
Week 3: 2/2 - 2/6
Lectures: Stacks and Queues [ slides ]
Reading: chapters 7 and 8 in Walls and Mirrors
Recitation: Review of big-O analysis, generics, stacks
Assignments: Second programming assignment is available
Week 4: 2/9 - 2/13
Lectures: Queues (cont). Advanced sorting algorithms using divide and conquer strategies; evaluating complexity of recursive algorithms [ slides ]
Reading: Walls and Mirrors 10.2, Rosen 7.1, 7.3
Recitation: Programming a queue; work on programming assignment
Week 5: 2/16 - 2/20
Lectures: Sorting algorithms using divide and conquer strategies (cont)
Reading: Walls and Mirrors 10.2, Rosen 7.1, 7.3
Recitation: recursion
Assignments: Second written assignment is available
Week 6: 2/23 - 2/27
Lectures: Wednesday: Midterm. Mon, Fri: Trees, binary search trees
[ slides ]
Reading: Walls and Mirrors ch. 11
Recitation: Review for midterm, recursion
Week 7: 3/2 - 3/6
Lectures: Trees, binary search trees (cont)
Reading: Walls and Mirrors ch. 11
Recitation: Iterators, recursion
Week 8: 3/9 - 3/13
Lectures: Priority queues and heaps [ slides ]
Reading: Walls and Mirrors ch. 12.2
Recitation: More iterators
Week 9: 3/23 - 3/27
Lectures: Monday: grammars [ slides ] Wednesday: Working in teams - a talk by Debbie Bartlett. Friday: Balanced search trees [ slides ]
Reading: Walls and Mirrors ch. 6.2, ch. 12,13
Recitation: implementing a heap
Week 10: 3/30 - 4/3
Lectures: Balanced search trees (cont). Friday: graphs [ slides ]
Reading: Walls and Mirrors ch. 13; ch. 14.1-14.2
Recitation: programming quiz. You will use the binary tree and tree node classes.
Week 11: 4/6 - 4/10
Lectures: Monday: graphs (cont). Wednesday: midterm. Friday: more graphs [ slides ]
Reading: Walls and Mirrors ch. 14
Recitation: help with programming assignment, go over written hw, command-line arguments, review for midterm
Week 12: 4/13 - 4/17
Lectures: graphs - directed acyclic graphs and topological sorting of graphs; graph algorithms [ slides ], relations [ slides ]
Reading: Walls and Mirrors ch. 14, Rosen 8.1-8.5 (relations)
Recitation: Implementing graphs.
Week 14: 4/27 - 5/1
Lectures: Dijkstra's algorithm (slides in the graph algorithms set), more problems on graphs [ slides ]
hash tables [ slides ]
Reading: Walls and Mirrors ch. 14 (graphs), 13 (hash tables)
Recitation: Review of relations and grammars.
Week 15: 5/4 - 5/8
Lectures: hash tables (cont); discussion of final [ slides ]
Reading: Walls and Mirrors ch. 13
Recitation: Programming part of final.
Week 16:
Wed -- special review session 1-3pm at CSB130. Thu -- final exam at 7am.
Week 16:
Wed -- special review session 1-3pm at CSB130. Thu -- final exam at 7am.
Week 15: 5/4 - 5/8
Lectures: hash tables (cont); discussion of final [ slides ]
Reading: Walls and Mirrors ch. 13
Recitation: Programming part of final.
Reading: Walls and Mirrors ch. 14
hash tables [ slides ]
Reading: Walls and Mirrors ch. 14 (graphs), 13 (hash tables)
Lectures: Dijkstra's algorithm (slides in the graph algorithms set), more problems on graphs [ slides ]
Lectures: Dijkstra's algorithm (slides in the graph algorithms set), more problems on graphs [ slides ]
Lectures: Dijkstra's algorithm, more problems on graphs [ slides ]
Lectures: Dijkstra's algorithm (slides in the graph algorithms set), more problems on graphs [ slides ]
Lectures: Relations, Dijkstra's algorithm, more problems on graphs [ slides ]
Reading: Walls and Mirrors ch. 14, Rosen 8.1-8.5 (relations)
Lectures: Dijkstra's algorithm, more problems on graphs [ slides ]
Reading: Walls and Mirrors ch. 14
Week 13: 4/27 - 5/1
Week 14: 4/27 - 5/1
Week 13: 4/27 - 5/1
Lectures: Relations, Dijkstra's algorithm, more problems on graphs [ slides ]
Reading: Walls and Mirrors ch. 14, Rosen 8.1-8.5 (relations)
Recitation: Review of relations and grammars.
Lectures: graphs - directed acyclic graphs and topological sorting of graphs; graph algorithms [ slides ]
Reading: Walls and Mirrors ch. 14
Lectures: graphs - directed acyclic graphs and topological sorting of graphs
Lectures: graphs - directed acyclic graphs and topological sorting of graphs; graph algorithms [ slides ]
Week 12: 4/13 - 4/17
Lectures: graphs - directed acyclic graphs and topological sorting of graphs
Reading: Walls and Mirrors ch. 14
Recitation: Implementing graphs.
Lectures: Monday: graphs (cont). Wednesday: midterm. Friday: more graphs
Lectures: Monday: graphs (cont). Wednesday: midterm. Friday: more graphs [ slides ]
Reading: Walls and Mirrors ch. 13; beginning ch. 14
Reading: Walls and Mirrors ch. 13; ch. 14.1-14.2
Lectures: Balanced search trees (cont). Friday: graphs
Lectures: Balanced search trees (cont). Friday: graphs [ slides ]
Lectures: Balanced search trees (cont)
Reading: Walls and Mirrors ch. 13
Lectures: Balanced search trees (cont). Friday: graphs
Reading: Walls and Mirrors ch. 13; beginning ch. 14
Week 11: 4/6 - 4/10
Lectures: Monday: graphs (cont). Wednesday: midterm. Friday: more graphs
Reading: Walls and Mirrors ch. 14
Recitation: help with programming assignment, go over written hw, command-line arguments, review for midterm
Reading: Walls and Mirrors ch. 6.2
Reading: Walls and Mirrors ch. 6.2, ch. 12,13
Week 10: 3/30 - 4/3
Lectures: Balanced search trees (cont)
Reading: Walls and Mirrors ch. 13
Recitation: programming quiz. You will use the binary tree and tree node classes.
Lectures: Monday: grammars [ slides ] Wednesday: Working in teams - a talk by Debbie Bartlett Friday: Balanced search trees [ slides ]
Lectures: Monday: grammars [ slides ] Wednesday: Working in teams - a talk by Debbie Bartlett
Recitation:
Recitation: implementing a heap
Lectures: Priority queues and heaps [ slides ] grammars [ slides ]
Reading: Walls and Mirrors ch. 12.2, ch. 6.2
Lectures: Priority queues and heaps [ slides ]
Reading: Walls and Mirrors ch. 12.2
Week 9: 3/23 - 3/27
Lectures: Monday: grammars [ slides ] Wednesday: Working in teams - a talk by Debbie Bartlett
Reading: Walls and Mirrors ch. 6.2
Recitation:
Lectures: Priority queues and heaps [ slides ]
Reading: Walls and Mirrors ch. 12.2
Lectures: Priority queues and heaps slides ]
Lectures: Priority queues and heaps [ slides ]
Recitation: recursion
Recitation: recursion
Week 8: 3/9 - 3/13
Lectures: Priority queues and heaps slides ]
Reading: Walls and Mirrors ch. 12.2
Recitation: More iterators
Reading: Walls and Mirrors ch. 11
Reading: Walls and Mirrors ch. 11
Week 7: 3/2 - 3/6
Lectures: Trees, binary search trees (cont)
Reading: Walls and Mirrors ch. 11
Recitation: Iterators, recursion
Lectures: Wednesday: Midterm. Mon, Fri: Trees, binary search trees ]
Lectures: Wednesday: Midterm. Mon, Fri: Trees, binary search trees
[ slides ]
Lectures: Wednesday: Midterm. Mon, Fri: Trees, binary search trees [ slides ]
Lectures: Wednesday: Midterm. Mon, Fri: Trees, binary search trees ]
Week 5: 2/23 - 2/27
Week 6: 2/23 - 2/27
Lectures: Wednesday: Midterm. Mon, Fri: Trees, binary search trees slides ]
Lectures: Wednesday: Midterm. Mon, Fri: Trees, binary search trees [ slides ]
Week 5: 2/23 - 2/27
Lectures: Wednesday: Midterm. Mon, Fri: Trees, binary search trees slides ]
Reading: Walls and Mirrors ch. 11
Recitation: Review for midterm, recursion
Recitation:
Recitation: recursion Assignments: Second written assignment is available
Week 5: 2/16 - 2/20
Lectures: Sorting algorithms using divide and conquer strategies (cont)
Reading: Walls and Mirrors 10.2, Rosen 7.1, 7.3
Recitation:
Lectures: Queues (cont). Advanced sorting algorithms using divide and conquor strategies; evaluating complexity of recursive algorithms [ slides ]
Lectures: Queues (cont). Advanced sorting algorithms using divide and conquer strategies; evaluating complexity of recursive algorithms [ slides ]
Lectures: Queues (cont). Advanced sorting algorithms using divide and conquor strategies; evaluating complexity of recursive algorithms
Lectures: Queues (cont). Advanced sorting algorithms using divide and conquor strategies; evaluating complexity of recursive algorithms [ slides ]
Week 4: 2/2 - 2/6
Lecture: [ slides ] Reading: Walls and Mirrors 10.2, Rosen 7.1, 7.3
Week 4: 2/9 - 2/13
Recitation: Review of big-O analysis, generics, stacks
Recitation: Programming a queue; work on programming assignment
Week 4: 2/2 - 2/6
Lecture: [ slides ] Reading: Walls and Mirrors 10.2, Rosen 7.1, 7.3
Lectures: Queues (cont). Advanced sorting algorithms using divide and conquor strategies; evaluating complexity of recursive algorithms
Reading: Walls and Mirrors 10.2, Rosen 7.1, 7.3
Recitation: Review of big-O analysis, generics, stacks
Recitation: Review of big-O analysis, generics, stacks
Recitation: Review of big-O analysis, generics, stacks
Assignments: Second programming assignment is available
Recitation: Review of big-O analysis, generics
Recitation: Review of big-O analysis, generics, stacks
Lectures: Course introduction; abstract data types (ADTs) [ slides ]
Lectures: Course introduction; abstract data types (ADTs) [ slides ]
Lectures: Measuring the efficiency of algorithms [ slides ]
Lectures: Measuring the efficiency of algorithms [ slides ]
Week 3: 2/2 - 2/6
Lectures: Stacks and Queues [ slides ]
Reading: chapters 7 and 8 in Walls and Mirrors
Recitation: Review of big-O analysis, generics
Recitation: Using checkin, review of linked lists, file IO, help on programming assignment
Recitation: Using checkin, review of linked lists, help on programming assignment
Recitation: Using checkin, review of linked lists and file IO
Recitation: Using checkin, review of linked lists, file IO, help on programming assignment
Week 1: 1/26 - 1/30
Week 2: 1/26 - 1/30
Recitation:
Recitation: Using checkin, review of linked lists and file IO
Reading: Sections 3.2,3.3 in Rose, Section 10.1 in Walls and Mirrors.
Reading: Sections 3.2,3.3 in Rosen, Section 10.1 in Walls and Mirrors.
Week 1: 1/26 - 1/30
Reading: Sections 3.2,3.3 in Rose, Section 10.1 in Walls and Mirrors.
Lectures: Measuring the efficiency of algorithms [ slides ]
Recitation:
Lectures: Course introduction; abstract data types (ADTs) slides
Lectures: Course introduction; abstract data types (ADTs) [ slides ]
Lectures: Course introduction; abstract data types (ADTs)
Lectures: Course introduction; abstract data types (ADTs) slides
Reading: Chapter 4 in Walls and Mirrors.
Reading: Chapter 4 in Walls and Mirrors.
Recitation: No recitations this week
Recitation: No recitations this week
Lectures: Course introduction; abstract data types (ADTs)
Lectures: Course introduction; abstract data types (ADTs)
Reading: Chapter 4 in Walls and Mirrors. Lectures: Course introduction; abstract data types (ADTs) Recitation: No recitations this week Assignments: First programming assignment is available
Week 1: 1/21 - 8/23
Week 1: 1/21 - 1/23
Week 1: 8/25 - 8/29
Week 1: 1/21 - 8/23
Coming soon!
