California
State University, Chico
Department of Computer Science
CSCI 311 - Data Structures and Algorithm in C++
Syllabus/Course Requirements
![]()
Course Number: CSCI 311
Course Title: Data Structures and Algorithms in C++
Prerequisite: A grade of C- or better in CSCI 112- Programming and Algorithms II or equivalent
Course Times and Locations:
· LECTURE: TuTh 12:30M-1:45PM in OCNL 254
· SECTION 2 LAB:Tu 200PM- 250PM OCNL 340
· SECTION 3 LAB:Th 200PM -250PM OCNL 340
Instructor: Dr. Melody Stapleton
Instructor's Office Hours: TuTh 2-3:30 and Wed. 3-5 pm in OCNL 208
Faculty Phone: (530) 898-5617 , message 898-6442, fax 898-5995
Email: mjstapleton@csuchico.edu or melodystapleton@digitalpath.net (use this address if you have large attachments or zip files to send me)
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.
Dr. Stapleton’s Main Web Page: www.ecst.csuchico.edu/~melody/
. Look for the current semester’s CSCI 311 link.
COURSE POLICIES: Dr. Stapleton views this course as being the
most important course you will take to gain employment in your field. It is to be viewed as a job/employment in all
aspects. This includes maintaining an
attitude of respect and consideration for your fellow employees and your
supervisors/employers. All interactions
in the course need to reflect this attitude.
Policies that will be strictly adhered to include:
· Attendance is mandatory – just as with employment. If you are ill or there is some other emergency
you need to contact Dr. Stapleton via email prior to missing the class. Very few exceptions would merit failing to do
so. Your course grade will be
decremented should you have unexcused absences and you may be dropped from the course.
· Turn off all cell phones/PDAs prior to walking in the classroom. Laptop computers are allowed only for the
purpose of accessing/generating notes and other related course materials. No messaging or contact of fellow students is
allowed. Any disruption to the class
will result in loss of the “laptop privilege”.
· Homework due dates are firm.
Since attendance is mandatory, you will always be aware of when an
assignment is due as it will be announced in class. Homework is to be photocopied by the student
prior to turning it in. The instructor
will go over the solution to the homework in class. Take notes while the solution is being developed. The process of writing has been demonstrated
pedagogically to enhance learning. From
time to time, solutions will be posted on the web at the instructor’s
discretion.
· Plagiarism/Cheating
Policy: Programming assignments and homework assignments are to be an *individual*
effort. You are not to share your code with your fellow students in any
version of that code. 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 will receive a grade of "F" for the course. Dr. Stapleton will also pursue your removal
from the University. Please note: From time to time, your TA and Dr. Stapleton
may share partial solutions to programming problems with you or you may be
asked to use pre-existing code in your text or on the web. You are allowed to use this code provided it
has been approved by Dr. Stapleton and the TA.
You may be asked to use some code as a base for modification and this is
allowable. You are to cite in your
documentation whenever you use the code from another source.
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, Patricia Trees, 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 : 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.