CSci 433: Algorithm and Data Structure Analysis
Spring Semester 1999
Syllabus


Locations

The spring semester 1999 class meets in 351 Weir Hall at 11:00 a.m. to 12:15 p.m. on Tuesdays and Thursdays.

The class is taught by Prof. Conrad Cunningham, whose office is in 312 Weir Hall. The official office hours for this class are 10:00 a.m. until Noon on Mondays and Wednesdays and by appointment at other times.

Prof. Cunningham's voice telephone number is (601) 232-5358 and fax number is (601) 232-5623. His WWW home page is http://www.cs.olemiss.edu/~hcc/ and his email address is cunningham@cs.olemiss.edu.

The WWW home page for this class is http://www.cs.olemiss.edu/~hcc/csci433/ and the anonymous FTP site is http://ftp.cs.olemiss.edu/pub/cunningham/csci433/99spr/.

The final examination for this class is scheduled for 8:00 a.m. on Thursday, 6 May 1999.


Course Goals

The goals of this course are to extend and deepen the student's knowledge and understanding of algorithms and data structures and the associated design and analysis techniques. It examines previously studied algorithms and data structures more rigorously and introduces the student to "new" algorithms and data structures. It focuses the student's attention on the design of program structures that are correct, efficient in both time and space utilization, and defined in terms of appropriate abstractions.


New Course Description for 1999 Catalog

Study of the design and analysis of algorithms and data structures. The topics include analysis techniques, sorting, searching, advanced data structures, graphs, string matching, and NP-completeness.


New Prerequisites for 1999 Catalog

Successful completion of CSci 211 and Math 301. (CSci 112 is a prerequisite for CSci 211.)


Source Materials

Required textbook:
Michael T. Goodrich and Roberto Tamassia. Data Structures and Algorithms in Java. Wiley, 1998. ISBN: 0-471-19308-9.

Optional textbook:
Any good introductory book on Java programming.
Judy Bishop. Java Gently: Programming Principles Explained, Second Edition, Addison-Wesley, 1998. ISBN: 0-201-34297-9.

Readings:
Various journal, conference, or WWW materials as appropriate.

Software:
Sun's Java Development Kit (JDK) and other software defined later

Course Topics

  1. Design principles
  2. Analysis tools
  3. Sequence ADT
  4. Priority queue ADT (used, but not covered in class)
  5. Dictionary ADT
  6. Sorting, sets, and selection
  7. Graphs
  8. Strings (not covered in class)
  9. Fundamental techniques
  10. NP-completeness


Graduate Students

Several students in the class are computer science graduate students who taking this class as a condition for full admission. In accordance with current departmental policy, such students will be assigned work beyond that assigned to undergraduate students.

Graduate students in other fields should not be enrolled in this class without the explicit permission of their home department. Any students in this category are expected to provide the instructor with a note from their advisor or department chair indicating such permission.


Professional Conduct

As a student in CSci 433, you are expected to conduct yourself in a professional manner according to the Honor Code of the School of Engineering, the Information Technology Appropriate Use Policy, the M Book, and any other relevant policies.

Limited Collaboration Policy. Unless otherwise indicated, any homework assignment or programming exercise given in this class will be an individual assignment. The work you submit is to reflect the knowledge, understanding, and skill that you have attained as an individual. However, the instructor does want to encourage the development of a community of scholars who are actively engaged in discussion of the ideas related to this course. With this in mind, you are allowed to discuss solutions of the homework and programming problems with other students if done so according to the following guidelines:


Grading

Credit toward the semester grade will be allocated to each of the components as indicated in the following table.

Homeworks 25%
Programs (3 or 4) 15%
Exams (2) 40%
Final Exam 20%

Note: During the semester I changed the number of required programs to two for students taking the course for credit toward an undergraduate degree and three for students taking the course as a condition for admission into the graduate program.


Assignments


Examinations


[ CSci 433 Home ]
[ Cunningham's Home | Teaching ]
[ Department's Home | Courses | Undergraduate Courses | Graduate Courses ]


Send any comments or suggestions to Prof. Conrad Cunningham, cunningham@cs.olemiss.edu.
Copyright © 1999, H. Conrad Cunningham
Last modified: Sat Aug 14 15:46:09 CDT 1999