Design and Analysis of Algorithms Maria-Florina (Nina) Balcan Lecture 1, Jan. 14 th 2011
Introductions and Admin
Introductions Course web page : Instructor: Maria Florina (Nina) Balcan Office hours: Mon and Wed, 12:00 – 1:00, Klaus TA: Jacob Robertson Office hours: Fri, 12:00 – 1:00. Grader: Nishant Kothari Office hours: TBA Course Staff: Meeting Time: Mon, Wed, Fri, 11:00 – 12:00
Additional Resources Sections on Tue/Wed for all Algos courses. –Starting next week Tas: Jacob Robertson, Chris Bowen, Michael Qin [Location and Time: TBA]
Prerequisites Constructing Proofs CS 1050 (Min Grade of C)CS 1050 Intro-Object Orient Prog CS 1331 (Min Grade of C)CS 1331 Applied Combinatorics MATH 3012 (Min Grade of D)MATH 3012
References Official Text Book: “CLRS” Introduction to Algorithms [Cormen, Leiserson, Rivest, Stein] Algorithm Design [Kleinberg, Tardos] Algorithms [Dasgupta, Papadimitriou, Vazirani] Other Useful Resources
Lectures in general On the board Ocasionally, will use slides
Goals of the Course Course is about the design and analysis of algos How to design correct, efficient algos, and how to think clearly about analyzing correctness and running time. What is an algorithm? A method for solving a computational problem (e.g. sorting or shortest paths). Main goal: provide intellectual tools for designing and analyzing your own algorithms for problems you need to solve in the future.
Why care about algorithms Driving directions
10 Why care about algorithms Goal: use s seen so far to produce good prediction rule for future data. Not spam spam Decide which s are spam and which are important. Supervised classification
Why care about algorithms Google searches
Structure of the Class Greedy Algorithms, Dynamic Programming. Divide and conquer algorithms; Randomized algorithms Graph Algorithms NP-completeness, Reductions. Approximation Algorithms DFS, topological sorting, strongly connected components, BFS, Shortest paths and Dijkstra's Algorithm, Minimum spanning trees, Min-Heaps, Union Find Examples, recurrences, the master theorem, probabilistic analysis, Quicksort, Median selection Longest common subsequence, Knapsack, The Bellman Ford Algorithm, All pairs shortest paths [Floyd-Warshall].
Structure of the Class Greedy Algorithms, Dynamic Programming. Divide and conquer algorithms; Randomized algorithms Graph Algorithms NP-completeness, Reductions. Approximation Algorithms Exam 1: February 11 Exam 2: March 9th Exam 3: April 8th Exam 4: April 22nd
Grading Scheme Exercises/problems (pencil-and-paper problem-solving variety). 4 Exams: 50% Final: 25% Homeworks: 25% Class participation to adjust borderline scores
Homework 8-9 weekly homeworks Collaboration generally allowed –Work in groups of size at most 3 –Write up your own solutions –Acknowledge your collaborators –Breaking these rules will be considered as cheating NO late submission Lowest two (2) homework scores will be dropped
Important to Attend the Class