Department of Computer Science
CSCI 311
Syllabus/Course Requirements
![]()
Course Number: CSCI 311
Course Title: Algorithms
and Data Structures in C++
Prerequisite: A grade of C- or better
in CSCI 112 - Programming and Algorithms II or equivalent
Course Times and Locations:
·
Lecture 1 - TuTh 12:30PM-1:45PM
in OCNL 254
·
Section 2
- Wednesday 12-12:50 pm in OCNL 340
·
Section
3 - Tuesday 2-2:50 pm in OCNL 340
·
Section 4
- Thursday 2-2:50 pm in OCNL 340
Instructor: Dr. Melody
Stapleton
Instructor's Office Hours: TuTh 11- noon and 2 - 3 pm, Wed 3 - 4 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 is one of the most
challenging in our undergraduate curriculum. You will want to keep a steady, intense and
dedicated pace of work in this course if you expect to succeed especially in
regard to the large and challenging programming assignments. Your instructor and TA will give you milestones
on a weekly basis and you will want to meet these weekly goals to ensure
success. Regular attendance at BOTH the
labs and lectures is absolutely necessary to succeed in this course. Attendance is mandatory and will be taken at
both the lecture and the lab and your grade will be docked by one letter grade
for every 3 unexcused absences. If you
are going to be absent, email Dr. Stapleton in advance. Only illness or other serious criteria will
be excused absences. Be too busy with workload
or trying to meet a deadline in this or another course is an example of an
unexcused absence. You must learn to
balance your workload to succeed in this class.
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/
Plagiarism/Cheating
Policy: Due to recent incidents I have developed a “NO TOLERANCE” policy
towards any form of academic dishonesty, plagiarism or cheating. 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 will receive
a grade of "F" for the course. Anyone who submits work that is not
their own work and does not fully credit their source will receive a grade of “F”
for the course. Anyone who cheats in
this course will be reported to Student Judicial Affairs with the goal of
removal from this University and will not be accepted in any of my courses from
that point on.
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 : Attendance is mandatory and your grade
will be docked by one letter grade for every 3 unexcused absences. Absences must be reported in advance via
email or phone call. Students will be graded based on their performance in the
following course components -
Students need to receive at least 50% 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.