Syllabus :
PDF
Instructor :
Tao Jiang (jiangATcs.ucr.edu)
Office hours: M 5-6pm and W 2-3pm. Office:
EBU II 336.
Teaching Assistants and Office Hours:
Monik Khare (mkhareATcs.ucr.edu),
Office hour: Th 1-2pm.
Sima Lotfi (lotfisATcs.ucr.edu),
Office hours: Fr 10-11am.
Office hours are held in
EBU II 110.
Lecture:
TuTh 2:10-3:30pm, SPR 2365.
Labs:
Sec 21, M, 11:10-2pm, EBU II 226, Monik Khare
Sec 22, M, 2:10-5pm, EBU II 226, Sima Lotfi
Academic Excellence Workshop (AEW):
Tu 3:40-4:30pm, EBU II 103, Robert Halstead
Text Book:
Introduction to the Design and Analysis of
Algorithms, 2nd edition, 2007 by
A. Levitin.
Lecture Notes:
The following slides provided by the author of the textbook (with some
extensions and updates by Prof. Jiang) will be used in class:
Introduction to algorithms and review of data structures
Asymptotic notations and analysis of algorithms
Morr recurrence relations and analysis of recursive algorithms (from CLRS)
Bruce force algorithms
The divide-and-conquer method
Decrease-and-conquer algorithms
Transform-and-conquer algorithms
Dynamic programming
Greedy and graph algorithms
Space-and-time tradeoffs and string matching
More on string matching, the KMP algorithm (from CLRS)
Lower bound for sorting
You may find a short tutorial on recurrence
relations and
a tutorial
on C++ programming style useful.
Approximate Time Requirements:
This is a four-unit CS course. As such, you should expect to spend the
following approximate amount of time:
3 hours/week in lecture
3 hours/week in lab
6 to 10 hours/week doing individual study (readings, homeworks, programming assignments,
preparation for lectures, etc).
Please don't underestimate the time you will need to spend on this course.
These are real time amounts spent by average successful past students. Computer
Science and Engineering are challenging disciplines requiring extensive time to
master.