180 likes | 366 Views
Design and Analysis of Algorithms. Lecture 1, Jan. 14 th 2011. Maria-Florina (Nina) Balcan. Introductions and Admin. Introductions. Meeting Time: Mon, Wed , Fri, 11:00 – 12:00. Course web page :. Course Staff:. Instructor: Maria Florina (Nina) Balcan
E N D
Design and Analysis of Algorithms Lecture 1, Jan. 14th 2011 Maria-Florina (Nina) Balcan
Introductions • Meeting Time: Mon, Wed, Fri, 11:00 – 12:00 • Course web page: • Course Staff: • Instructor: Maria Florina (Nina) Balcan Office hours: Mon and Wed, 12:00 – 1:00, Klaus 2144. • TA: Jacob Robertson Office hours: Fri, 12:00 – 1:00. • Grader: Nishant Kothari Office hours: TBA http://www.cc.gatech.edu/~ninamf/Algos11/
Additional Resources • Sections on Tue/Wed for all Algos courses. • Starting next week [Location and Time: TBA] Tas: Jacob Robertson, Chris Bowen, Michael Qin
Prerequisites • Constructing Proofs CS 1050(Min Grade of C) • Intro-Object Orient ProgCS 1331(Min Grade of C) • Applied CombinatoricsMATH 3012(Min Grade of D)
References • Official Text Book: “CLRS” Introduction to Algorithms [Cormen, Leiserson, Rivest, Stein] • Other Useful Resources • Algorithm Design [Kleinberg, Tardos] • Algorithms [Dasgupta, Papadimitriou, Vazirani]
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
Why care about algorithms Decide which emails are spam and which are important. Supervised classification Not spam spam Goal: use emails seen so far to produce good prediction rule for future data.
Why care about algorithms Google searches
Structure of the Class • Divide and conquer algorithms; Randomized algorithms • Examples, recurrences, the master theorem, probabilistic analysis, Quicksort, Median selection • Graph Algorithms • DFS, topological sorting, strongly connected components, BFS, Shortest paths and Dijkstra's Algorithm, Minimum spanning trees, Min-Heaps, Union Find • Greedy Algorithms, Dynamic Programming. • Longest common subsequence, Knapsack, The Bellman Ford Algorithm, All pairs shortest paths [Floyd-Warshall]. • NP-completeness, Reductions. Approximation Algorithms
Structure of the Class • Divide and conquer algorithms; Randomized algorithms Exam 1: February 11 • Graph Algorithms Exam 2: March 9th • Greedy Algorithms, Dynamic Programming. Exam 3: April 8th • NP-completeness, Reductions. Approximation Algorithms Exam 4: April 22nd
Grading Scheme • 4 Exams: 50% • Final: 25% • Homeworks: 25% • Class participation to adjust borderline scores • Exercises/problems (pencil-and-paper problem-solving variety).
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