California State University, Chico
Department of Computer Science

CSCI 151 Internet Course 

Syllabus/Course Requirements

Course Number: CSCI 151

Course Title: Algorithms and Data Structures

Prerequisite: A grade of C- or better in CSCI 15B - Programming and Algorithms II or equivalent

Instructor: Dr. Melody Stapleton

Faculty Phone: (530) 898-5617 , message 898-6442, fax 898-5995

Email: mjstapleton@csuchico.edu

Textbooks:

Course Description: This course focuses  on object-oriented methodologies in designing and implementing a variety of data structures and algorithms.  Coverage includes recursion, trees, search structures, hashing, heaps, sorting algorithms, and graph algorithms.  Data structure and algorithm combinations will be studied and analyzed along with their relative merits using both mathematical and empirical measurements.  The course includes a number of large programming assignments focusing on object-oriented software engineering and algorithm development.  Students will be required to design, implement, test, and analyze their programs.   The language of focus for this incarnation of the course is C++. 

Course Goals: Students will be able to understand the role of several advanced data structures in programming object-oriented solutions to practical problems.  Students will be able to successfully design, code, analyze and test several large programming projects, covering a variety of data structures.  Students will understand time and space complexity issues as they relate to various algorithms and data structures.

Course Notes: To be posted on the web as the course develops.

Web Page: www.ecst.csuchico.edu/~melody/ 

The web page for this course is at : http://www.ecst.csuchico.edu/~melody/courses/Spring2003CSCI151/Default.htm

Plagiarism/Cheating Policy:  Programming assignments and homework assignments are to be an *individual* effort.  Anyone who as determined by the Instructor/TA has copied any part of another students work will automatically receive a grade of "F" for the course.  Anyone cheating on an exam will receive a grade of "F" for the course.  Anyone who alters their exam answers after receiving the exam back with receive a grade of "F" for the course.

Course Assignments:

There will be three large programming assignments for the course as well as some smaller homework assignments.  The topics of the programming problems will be selected from: Trees, Graphs, Heaps, Hashing, Data Compression, Memory Management

Policy on Turning in Programs and Homework Assignments:   Due dates are firm.  No late assignments will be accepted unless serious illness or other excused absences merit allowances in the judgment of the instructor.

Grade Evaluation Procedures (Note these are for the Internet Students since they do not have to turn in homework and there were no quizzes):  Students will be graded based on their performance in the following course components -

Students need to receive at least 60% credit in *each* component of the course in order to pass the course.  Exams are the property of the instructor and may be reviewed by the students after completed and graded, but will be kept by the instructor.