CSE 431/531 Analysis of Algorithms

Syllabus

Professor-in-charge: Dr. Jinhui Xu

    Office: 315 Davis Hall
    Regular office hours: Fri. 11:00 - 11:50am
    Phone: (716) 645-4734
    E-mail:   jinhui@buffalo.edu


Teaching Assistants :

    Minghua Wang
      Office hours: Mon.  Wed. 11:00 - 11:50am
      E-mail:   minghuaw@buffalo.edu



Lecture: MWF, 9:10-10:00pm,  online
Course web site:   http://www.cse.buffalo.edu/~jinhui/courses/cse531
Course forum:   piazza

Required Texts:

Recommended Texts:
 
Prerequisites: CSE 250, Caculus II,  a course that requires formal proofs.

Course Description:

     This course introduces basic elements of the design and analysis of computer algorithms. Topics include
      asymptotic notations and analysis, divide and conquer, greedy methods and
      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.

Main Objective:

At the end of this course, each student should be able to: Note: Each component will receive a numerical score. The course grade will be based on the weighted total of all components and the class curve.
Class participation includes attendance, participation in class discussions, and general interest towards the course material.

The exams will be closed-book, and closed-notes.

Academic Integrity Policy:

No collaboration, cheating, and plagiarism is allowed in homeworks, and exams. Those found violating academic integrity will get an immediate F in the course, and further actions, consistent with the Department's Academic Integrity Policy (page 35 of the graduate handbook) will be taken against them.