CS344 Spring 2009
01-198-344: Design and Analysis of Computer Algorithms (4 Cr).

REMINDER: FINAL EXAM 8 - 11 AM, TUESDAY MAY 12, HILL 116

SERU: AN IMPORTANT SURVEY TO COMPLETE.

Instructor:   Michael D. Grigoriadis, Department of Computer ScienceCoRE 308; (732) 445-2001 Ext 2898;  OHrs:   W 4:45-5:45 pm; Th. 3:15-4:15 pm, and by appointment. Email:

  • TA (Section 1): Sergio de Biasi   Hill 416.   732-445-2001, Ext 9691; sdebiasi (at) cs (dot) rutgers (dot) edu; OffHrs: M 2-3pm and T 4-5pm and by appointment.
  • TA (Section 2): Imdad Khan   Hill 405;   1-732-445-2001, Ext. 9558; imdadk (at) rci (dot) rutgers (dot) edu; OffHrs: Th 4:45-5:45 pm and F: 2:30-3:30 pm. and by appointment.

    Lectures and Recitations. (Attendance is mandatory. No electronic devices.)
       Lectures: TTh 1:40-3:00 pm at HILL-116.
       Recitations:  Sec01-T 5:15-6:10pm at ARC-105.    Sec02-Th 3:35-4:30pm at ARC-108.

    Course Objectives: Fundamental techniques for designing efficient combinatorial algorithms. Mathematical methods for analyzing their correctness and complexity.

    Prerequisites: 198:112,  198:206 (and thus Calc II).    We also assume knowledge of basic mathematics, such as  logarithms, proof by induction, series and sums, permutations, asymptotics (big-Oh, big-Omega notation), basics of solving recurrences, as well as concepts of programming and data structures, e.g., linked lists, stacks, queues, trees.

    Topics:  We will cover a large subset of the following and possibly some new algorithmic topics and applications, as time permits:
  • Mathematical tools.  Review of mathematical background, basic concepts of algorithm design, complexity, asymptotics, induction.
  • Graph search.  Graph classes and representations; depth first search in undirected and directed graphs; topological search; strongly connected components. Breadth first search and layered DAGs.
  • Shortest Paths (SPs) in digraphs. Single-source SPs for nonnegative edge weights; priority queues and Dijkstra; SPs in DAGs; single-source SPs for general edge weights.
  • Greedy algorithms.  Spanning trees and cuts, union-find and path compression; MST algorithms; a randomized algorithm for minimum cuts; approximate set cover.
  • Network flows.  Max flow min cut theorem; fast algorithms; bipartite matching; Menger's theorem and disjoint dipaths. Global minimum cuts.
  • Divide and conquer. Fast integer multiplication; recurrences; the master theorem; mergesort; randomized median and selection algorithms; quicksort; fast matrix multiplication.
  • Sorting.    Lower bounds for comparison-based sorting; binsort and radix sort.
  • Dynamic programming; Paradigm of SPs in DAGs; longest increasing subsequence; approximate string matching; integer and (0,1) knapsack problems; chain matrix multiplication; single-pair reliable SPs, all-pairs SPs; independent sets.
  • Elements of NP-completeness & problem reductions.
  • NP-hard problems. Search and selected approximation algorithms.

    Textbook:   Algorithms,  Dasgupta, Papadimitriou & Vazirani, McGraw Hill, 1st Edn, 2008 (paperback), ISBN-10: 0073523402; ISBN-13: 978-0073523408, presently available at the RU bookstore. In the meanwhile read the Prologue! Get the errata here).
    Reference: Introduction to Algorithms, Cormen, Leiserson, Rivest & Stein, McGraw Hill, 2nd Edn, 2001, ISBN-10:0-262-03293-7; ISBN-13:978-0-262-03293-3. Get errata here). (Will be placed on reserve at SERC.)

    Required work:  Assigned reading(1); working on handouts and suggested exercises; keeping your own class notes; weekly or biweekly homework problem sets(2), and pop quizzes. HW sets require individual work. HW assignments are mathematically oriented and involve derivations of mathematical equations, proofs, and running time analyses of combinatorial algorithms. Come to lectures prepared to pose and respond to questions when you're called upon.

    N.B.: Experience shows that staying engaged with the course, keeping up with the suggested or assigned reading and practice problems, as well as doing the homework diligently, is essential to doing well in this course. Cramming for exams is a losing strategy!

    Notes: (1) Source material, reading assignments and practice exercises will be announced in lectures and on-line: Frequently check the class communications page!!   (2) Submit your homework within the first 5 minutes of the lecture on the due date. Late homework is not accepted.

    Dates:
        First Lecture: 1:40-3:00 pm., Tuesday 1/20, at Hill-116.
        Midterm I: 1:40-3:00 pm., March 10, 2009, at Hill-116.   No make-ups (1).  
        Spring recess: Sat March 14 through Sunday March 22.
        Midterm II (incremental): 1:40 pm., Tuesday, April 14, at Hill-116.   No make-ups.  
        Last lecture:   Thursday April 30.
       
        Final (cumulative):  8-11 AM, Tuesday, May 12 (per University schedule),
        at Hill 116, but stay tuned for last minute changes.   No make-ups!
    (2).
     

    (1) Do not miss the early HW and Midterm 1 so that you may gauge your progress versus the norm early on, assess how you might improve your standing in class, or, even consider taking a "W" for the course in order to concentrate on your other commitments;  see The Registrar's links below.
    (2) A missed HW, quizz or midterm draws zero credit. A missed final exam draws an F grade for the course.   (Medical emergencies will be considered upon submitting a University-issued written verification to the Instructor; for assistance contact your Dean's Office.)


    Grading guideline:   0.15 (HW & Quizzes) + max {   0.20 MT1 + 0.20 MT2 + 0.45 FIN,   0.25 MT2 + 0.60 FIN }.

    On Academic Integrity Required reading!    On handling emails

    Useful links:
  • RU (most) Academics links
  • RU Academic Calendar, and a (standard year 2009 U.S. calendar).
  • RU NB Registrar's Office links
  • The RU Registrar's Add-Drop rules (BE SURE TO CHECK THE APPLICABLE 2009 DEADLINES!)
  • Registrar's page
  • Campus status info (weather, cancelletion of classes, etc.)
  • University-wide Spring 2009 Final Exam Schedules.
  • Online schedule of classes.
  • Undergraduate LCSR Web Page, accounts, etc.
  • CS Undergraduate Student Information.