CS344 Fall 2009
01-198-344: Design and
Analysis of Computer Algorithms (4 Cr).
Latest Admin Announcements
ABOVE ALL, ABOUT YOUR HEALTH
-- and the H1N1 influenza virus!
(Quick link to Info for
students.)
Instructor: Michael D. Grigoriadis,
Department of
Computer Science, CoRE
308; (732) 445-2001 Ext 2898;
Off.Hrs: Wed 1:30-3:30 pm (tentative)
and by appointment. Email:
TA (Section 1): Devendra Desai
1-732-445-2001, Ext. 9542;
E-mail: devdesai [at] cs [dot] rutgers [dot] edu.
Office: Hill 268. OffHrs: M&Thu 11-12 (tentaive) and by appointment.
TA (Section 2): Rodrigo Franco Toso
1-732-445-2001, Ext 9708;
email: rtoso (at) cs (dot) rutgers (dot) edu; Office: CoRE 346;
OffHrs: T&F 2-3pm (tentative) and by appointment.
Lectures and
Recitations. (Attendance is mandatory.
No electronic devices.)
Lectures: MW 6:40-8:00 pm
at
SEC-210.
Recitations: Sec01-M 8:25-9:20pm at
SEC-210.
Sec02-T 6:55-7:50pm at
ARC-203.
Course Objectives:
Fundamental techniques for designing efficient combinatorial
algorithms. Mathematical methods for analyzing their correctness and
complexity. Applications.
Prerequisites:
198-112,
198-206
(or 640-477), (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, binary search, recursion, hashing, priority queues, graph
algorithms, sorting.
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 (also see Class Calendar in the
Latest
Admin Announcements):
1st Lecture: Wed Sept 2. 2nd Lecture: Tue Sept 8. 3rd Lecture: Wed Sept 9.
1st Recitaton for Section 2: Tue Sept 1 has been cancelled. Next one is on Tue Sept 15 !
1st Recitaton for Section 1: Tue Sept 8. Next one is on Tue Sept 14.
That is, there is NO CLASS OR SECTION 1 RECITATION on
Mon Sept 7 (Labor Day) BUT BOTH will be HELD ON TUE SEPT 8 instead.
Midterm I: Oct 7 (tentative) ==>
Monday, OCT 12 (firm). No make-ups (1).
Thanksgiving recess:
Wed Nov 25 through Sun Nov 29.
Midterm II (incremental) Monday, Nov 23: No make-ups.
Last lecture: Wed Dec 9.
Final
(cumulative): 8-11 PM, Wed, Dec 16
(fixed, per University schedule),
at our regular classroom, but stay tuned for last minute changes.
No make-ups! (2,3).
(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.)
(3)
Resolution of final exam scheduling conflicts
Grading guideline:
0.15 (HW & Quizzes) + max { 0.20 MT1 + 0.20
MT2 + 0.45
FIN, 0.25 MT2 + 0.60 FIN }.
(Class and recitation attendance and class participation will also be taken
into account in assessing your grade in this course.)
On Academic Integrity
Required
reading!
On handling
emails
Partial list of links mentioned above:
ON ACADEMIC INTEGRITY:
Required reading!!.
(And what is meant by
individual work
for HWs.)
Final exam date&time (8-11 pm, Wed Dec 16) is
FIXED. Rules for
Resolution of Scheduling Conflicts
Stay engaged with classwork -- cramming for exams is a
losing strategy!
How to make sure your
CS344-related emails are not overlooked.
Latest Admin Announcements.
The H1N1 influenza and us :)
Make sure to get the errata for
DPV.
Those for CLRS, 2nd edition are
here.
Other Useful links:
Rutgers Health Services, general page.
RU (most)
Academics
links
RU Academic
Calendar, and a (standard year 2009 U.S. calendar).
RU NB
Registrar's Office
links
The SAS
page on Add-Drop rules and deadlines
Registrar's page
Campus status info (weather,
cancelletion of
classes, etc.)
University-wide
Fall 2009 Final Exam Schedules.
Online schedule of classes.
CS
Undergraduate program information.
Undergraduate LCSR Web Page,
accounts,
etc.