Department of Computer Science & Engineering

CS477/677 Analysis of Algorithms (Fall 2007)

  • Meets: TR 2:30 pm - 3:45 pm (SEM 347)

  • Instructor: Dr. George Bebis

  • Grader:TBD
  • E-mail: TBD
  • Text: Cormen, Leiserson, and Rivest Introduction to Algorithms McGraw Hill, 2nd edition, 2001.

  • Other Texts:


    CS 365 (Mathematics of Computer Science). Also, good working knowledge of data structures such as linked lists, trees, and dynamically allocated structures is required. If you do not meet the prerequisite requirements for this course, you should see me immediately.


    The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want to (a) find an algorithm to solve the problem, (b) prove that the algorithm solves the problem correctly, (c) prove that we cannot solve the problem any faster, and (d) implement the algorithm. Designing an algorithm for a computational problem involves knowledge of the problem domain, a thorough knowledge of the data structures that are available and suitable and no small measure of creativity. This course concentrates on the above problems, studying useful algorithmic design techniques, and methods for analyzing algorithms.

    Course Outline (tentative)

    Exams and Assignments

    Grading will be based on two exams, quizzes, homework, a course project, and a short presentation. Specifically, there will be several quizzes in class which will be announced at least one class period in advance. Homework problems will be assigned and collected for grading on a regular basis. Each homework assignment will contain 5-8 problems. Undergraduate students will be required to solve only those problems designated as "U-required"; graduate students will be required to solve all of them. Homework solutions will be made available within a week of the due date for the assignment. There will be two exams, a midterm and a final. The material covered by the exams will be drawn from the lectures, the quizzes, and the homework. Undergraduate students will be required to solve only those exam problems designated as "U-required"; graduate students will be required to solve all of them. The course project will have both individual and team components. Specifics and due dates will be announced in class. Graduate students will be required to do extra work. Also, there will be a short presentation (15-20 minutes) on a contemporary issue related to algorithms. Presentations will be done in groups of two and topics will be decided in coordination with the instructor. The presentations should be professional as if it was presented in a formal conference (i.e., slides/projector).

    Course Policies

    Lecture slides, homework assignments, and other useful information will be posted on the course web page. Regular attendance is highly recommended. If you miss a class, you are responsible for all material covered or assigned in class. You should carefully read the section on Academic Dishonesty found in the UNR Student Handbook (copies of this section are available on-line). Your continued enrollment in this course implies that you have read it, and that you subscribe to the principles stated therein. Discussion of the assignments is allowed and encouraged between students. However, each student would be expected to do his/her own work. Assignments which are too similar will receive a zero. No late homework or project report will be accepted. If you are unable to hand in your homework or project report by the designated deadline, you must notify me before the deadline. No incomplete grades (INC) will be given in this course and a missed quiz/exam may be made up only if it was missed due to an extreme emergency.

    Disability Statement

    Any student with a disability needing academic accomodations is requested to speak with me or contact the Disability Resource Center (Thompson Building, Suite 101), as soon as possible to arrange for appropriate accomodations.

    Useful Information

  • Syllabus

  • Helpful Material

  • Lectures

  • Homework Assignments

  • Presentation Topics

  • Presentations

  • Presentation Guidelines

  • Course Project

  • Department of Computer Science & Engineering, University of Nevada, Reno, NV 89557