CPSC 478 Analysis of Algorithms
Spring 2006

Instructor: Dr. Whitfield Voice Mail/ Phone: (724) 738-2935
Office Hours: MWF 10:00 - 11:40 E-Mail: deborah.whitfield@sru.edu
Office: Maltby 106A WWW: http://granite.sru.edu/~whit

Text: Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein

An advanced study of algorithms and data structures. Analysis of algorithms, space and time complexity, and the NP classes will be considered. Significant illustrative individual or group programming projects are required. Examples may be drawn from heuristic programming, encipherment, natural language processing, object code generation, combinatorial analysis, graphics, robotics, relational databases, or other algorithmic issues of current importance.

The departmental learning outcomes that a student will acquire from this course are Problem Solving and Critical Thinking.

    By the end of the semester, the student will be able to:
  1. identify and use advanced methods for mathematically analyzing the complexity of computer programs
  2. identify and use advanced methods for implementing searching algorithms
  3. identify and use advanced methods for implementing string processing
  4. identify and use advanced methods for implementing complex internal sorting routines and external sorting routines
  5. write structured and object- oriented programs that run to normal termination and which meet written specifications; each program is to apply one or more of the concepts listed above

Course Grade
The course grade will be based upon the grades from 2 exams, assignments, and class participation. The following is a tentative point assignment for the course.
Midterm: 100
Final (5/10, 8am-10am): 100
Assignments: 250
Class Participation: 100
   
Total: 550

The final grade is calculated by adding the number of points that the student earned divided by the total number of possible points. The final grade will be based on the scale:
100 to 90% -- A
89 to 80% -- B
79 to 70% -- C
69 to 60% -- D
59% and below -- F
The instructor may change this scale to benefit the students.

Homework problems
Problems will be given that range from easy to extremely difficult. There will be two types of problems: individual and group.

Individual problems are to be solved by you. This means that things such as working with other people, web searching, etc are considered cheating and dealt with accordingly.

Group problems will be solved by your assigned group. In this case, you can only talk with members of your group about the problems.

Class participation
Proper group participation and contributions to classroom discussions are mandatory.

Late Work
Assignments are due at the BEGINNING of class on the due day.

Academic Integrity
All work in this class will be the sole effort of the individual student. Cheating in any form will automatically result in a 0 and may result in failure of the course.