CSE 431/531: Algorithms Analysis and Design
Time: T&R 2:00 pm - 3:20 pm, Place: 322 Clemen
Instructor: Dr. Hung Q. Ngo
Office: 238 Bell Hall
Office Hours: Thursdays 10:00-12:00am
Phone: 645-3180 x 160
Teaching Assistants: (in random order)
Mr. Guang Xu
Office: 329 Bell
Office Hours: Wednesday 1:00pm-3:00pm
Recitations: A2, Wednesday 3:00pm-3:50pm, 220 Clemen
Mr. Zhiyong Lin
Office: 329 Bell
Office Hours: Friday 1:00pm-3:00pm
Recitations: A1, Friday 11:00am-11:50am, 213 Obrian
The TAs will teach recitation (A3, Tuesday 4:00pm-4:50pm, 101 Baldy) alternatively.
This course introduces basic elements of the design and analysis
of computer algorithms. Topics include asymptotic notations and
analysis, parallel sorting networks, divide and conquer, greedy methods
and matroids, dynamic programming, basic graph algorithms,
NP-completeness, approximation algorithms, and network flows analysis.
For each topic, beside in-depth coverage, one or more representative
problems and their algorithms shall be discussed.
In addition to the design and analysis of algorithms, students are
expected to gain substantial discrete mathematics problem solving
skills essential for computer engineers.
- Grasp the essential ideas of algorithm analysis and design
- asymptotic notations analysis
- basic parallel sorting network design
- typical algorithm design methods: divide and conquer, greedy,
dynamic programming, network flow analysis
- basic graph algorithms: BFS, DFS, MST, ...
- the notions of NP-completeness and approximation algorithms
- Gain substantial problem solving skills in designing algorithms
and discrete mathematics
Data Structures (CSE250), Calculus II, and a course that requires
The desire and ability to learn new ideas quickly.
At the end of this course, each student should be able to:
- Have a good overall picture of algorithm analysis and design
- Solve simple to moderately difficult algorithmic problems arising
from practical programming situations
- Understand the notions of NP-completeness and approximation
- Be able to demonstrate simple NP-complete problems
- Love designing and analyzing algorithms
- Required Textbook:
- Introduction to Algorithms (2e),
1180pp, Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, and
Clifford Stein, ISBN: 0262032937, MIT Press, September 2001.
- Other recommended references:
- Donald Knuth, The Art of Computer Programming Volumes 1, 2,
3, Addison Wesley.
- Gilles Brassard, Paul Bratley, Fundamentals of Algorithmics,
- Alfred V. Aho John E. Hopcroft Jeffrey Ullman, Data
Structures and Algorithms, 427pp. ISBN: 0201000237, Addison Wesley,
- Plus other reading material specified on the class homepage
- Heavy! So, start early!!
- Approx. 30 pages of fairly dense reading per week
- 5 written homework assignments (to be done individually)
- 1 midterm exams
- 1 final exam
- 5 written assignments: 8% each (I reserve my right to add or
reduce the number of assignments)
- Midterm: 25%
- Final: 35%
- Assignments due at the end of the lecture on the due date
- 1 day (up to 24 hours) late: 10% reduction
- Each extra (24 hours) day late: 30% reduction (which means
that after 4 days, you'd get 0)
- Incomplete/make-up exams: NOT GIVEN, except in provably
- No tolerance on plagiarism:
- 0 on the particular assignment/exam for first attempt
- Fail the course on the second
- Consult the University Code of Conduct for details on
consequences of academic misconduct
- See also Prof. Shapiro's page on Academic Integrity of the
- Group study/discussion is encouraged, but the submission must be
your own work
- I will take cheating VERY VERY seriously. Don't waste your
time begging !!
- Students are encouraged to discuss homework problems with
classmates, but the version submitted must be written on your
own, in your own words.
- Absolutely no lame excuses please, such as "I have
to go home early, allow me to take the test on Dec 1", or "I had a
fight with my girlfriend, which effects my performance", blah blah
blah. Even when they are true, they are still lame.
- No extra work in the next semester given to improve your grade.