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

Instructor:   Michael D. Grigoriadis, Department of Computer ScienceCoRE 308; (732) 445-2001 Ext 2898;  OHrs:   Tue 11:45-1:45 pm and by appointment. Email:

  • TA (Section 1): Reid Howard   Hill 205, 1-732-445-2001, X9549; reidh@cs.rutgers.edu; O-Hrs: Th & F 12-1:30pm
  • TA (Section 3): Andre Madeirs   Hill 414; 1-732-445-2001, X9507; amadeira@cs.rutgers.edu; O-Hrs: M 9:30-11am and W 1:30-3pm

    Lectures and Recitations. (Attendance required in both. No electronic devices.)
       Lectures: MW 6:40-8:00 pm at Hill-116.
       Recitations:  Sec01-M 8:25-9:20pm at SEC-211;   Sec03-W 5:15-6:10pm at SEC-207.

    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 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; randomized algorithm for minimum cuts; approximate set cover.
  • Network flows.  Maximum flows & minimum cuts in digraphs; fast algorithms; bipartite matching; Menger's theorem and disjoint dipaths.
  • 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; knapsack problems; chain matrix multiplicatio; single-pair reliable SPs, all-pairs SPs; independent sets.
  • Elements of NP-completeness. NP-complete problems & reductions. Search and selected approximation algorithms.

    Textbook:   Algorithms,  Dasgupta, Papadimitriou & Vazirani, McGraw Hill, 1st Edn, 2008 (paperback). Get errata here).
       Reference: Introduction to Algorithms, Cormen, Leiserson, Rivest & Stein, McGraw Hill, 2nd Edn, 2001. Get errata here). (On reserve at SERC.)

    Required work:  Assigned reading(1); working on handouts; keeping your own class notes; weekly homework problem sets(2), and pop quizzes. HW sets require individual work. The HW assignments are mathematically oriented and involve derivations of mathematical equations, proofs of combinatorial theorems and running time analyses of combinatorial algorithms. Experience shows that keeping up with the assigned reading and doing the homework diligently is essential to doing well in this course.

    Notes: (1) Source material and reading assignments will be announced in lectures. Refer to the class communications page for additional information.   (2) Submit your homework within the first 5 minutes of our class on the due date. Late homework is not accepted, i.e., a missed homework draws zero credit.  

    Dates:
        First Lecture: 6:40-8:00 pm., Wednesday 1/23, at Hill-116.
        Midterm I: 6:40 pm., Wednesday 2/27, at Hill-116.   No make-ups (1).  
        Spring recess: Tue March 15 through Sunday March 23.
        Midterm II (incremental): 6:40 pm., Monday 4/7, at Hill-116.   No make-ups.  
        Last lecture:   Monday, May 5.
       
    Final (cumulative):  8-11 pm, May 12 (per University schedule).
    EXAM IS AT THE SEC building, ROOM 111.   No make-ups!
    (2).
     

    (1) Do not miss Midterm 1 so that you may gauge your progress versus the norm early on, assess how you might improve your standing or, perhaps, to even consider taking a "W" for the course in order to concentrate on your other commitments;  see Registrar links below.
    (2) A missed final examination draws an F grade for the course.   (Medical emergencies will be considered upon submitting University-authorized verification of such emergency 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.26 MT2 + 0.59 FIN }.

    On Academic Integrity Required reading!

    Useful links:
  • RU (most) Academics links
  • RU Academic Calendar
  • RU NB Registrar's Office links
  • Undergraduate Registrar's Spring 2008 Calendar
  • Cancelletion of classes and status.
  • University-wide Spring 2008 Final Exam Schedules.
  • Online schedule of classes.
  • Undergraduate LCSR Web Page, accounts, etc.
  • CS Undergraduate Student Information.