California State University, Chico
Department of Computer Science
Syllabus/Course Requirements
Course Number: CSCI 151
Course Title: Object-Oriented Data Structures with C++
Instructor's Office Hours: MW 10-11 am, TuTh 2-3 pm
Instructor: Dr. Melody Callan
Faculty Phone: (530) 898-5617 Faculty Email: melody@ecst.csuchico.edu
Teaching Assistants:
Course Text: Data Structures and Program Design in C++, by Robert Kruse and Alexander Ryba, Prentice Hall, 1999, ISBN# 0-13-768995-0
FTP site for Kruse's book:
Course Description: This course provides instruction on object-oriented design and representation of data structures and their use in practical programming applications. Object-oriented concepts such as encapsulation, inheritance, polymorphism and reusability are covered. The data structures of stack, list, and queues and the concept of recursion are reviewed briefly. (It is expected that the student has had comprehensive coverage of these elementary data structures in a course analogous to Chico's CSCI 15B.) The course the focuses on a variety of advanced data structures including hash structures, various tree structures, graphs, heaps and finite state machines. Analysis of algorithms is also discussed.
Course Goals: To provide a practical background of object-oriented development and the use of various data structures.
Course Notes: To be provided on the web.
Web Page: www.ecst.csuchico.edu/~melody/ (watch for Fall 1999 CSCI 151 Live Course stuff)
Programming Assignments: There will be three large programming assignments for the course. The topics for these three assignments will be:
The grading components on each programming assignment break down as follows:
Your TA will provide details on programming assignments in the lab. The TA is the primary provider of information regarding what your programs are to look like and what they are to do.
Policy on Turning in Programs, Program Components, and Homework Assignments: Due dates are firm. No late programs or program components will be accepted. Turn in what you have with a cover page that states which components are fully working, which components partially work and in what cases they work and what cases they fail. Also state which components fail altogether, if any.
Grade Evaluation Procedures: Grades will be evaluated as follows:
Mandatory Attendance Policy: It is mandatory that you attend both the lectures and labs for this course. You will be dropped from the course for non-attendance. If you are ill, you must notify Dr. Callan via email right away. If you are ill for more than one class in a row, you must provide a Doctor's excuse. You may be excused for family emergencies. Non-attendance due to workload in this course or other courses is not acceptable as an excuse. A seating chart will be made and your attendance will be noted daily. There are more than 30 students that were trying to add this course and were turned away, so your seat in this course is quite valuable.
Note: Are you sure you are taking the right course? This course assumes some maturity in programming and elementary data structures. If you are a graduate student coming from another discipline than Computer Science who has not had 15B - it is highly recommended that you switch to 15B. I know many excellent graduate students who took this route (going back to 15B) and they went on to great success in their coursework and their careers! At least, attend both classes for a couple of weeks until you can gauge which class you should be in. Undergraduates, no exceptions, you need have completed the equivalent of 15B to be in this course.
Plagiarism/Cheating Policy: Anyone who as determined by the Instructor/TA has copied any part of a program of another will automatically receive a grade of "F" for the course. Anyone cheating on an exam will receive a grade of "F" for the course.
First Programming Assignment: Go to this link
First Reading/Email Assignment: Review elementary object-oriented concepts and data structures (material from CSCI 15B) by quickly reviewing Chapters 1-6 of your text. Send email to melody@ecst.csuchico.edu right away with your full name, the courses you have taken including whether or not you have had the equivalent of our CSCI 15A and 15B, the languages and applications you know, your interest in this class and in computer science in general.