CPSC 231
Computing and Data Structures
CR41107•4 Credits •Fall 2018
Mark M Bowman
CPSC 231 / 6:10pm - 8:00pm / A&S 3315 / MWOffice Hours / 8:00pm - 8:30pm or by appt / A&S / MW
LCC Department / 483-1073
LCC Email /
MSU Contact / 355-4723 •
Text and Materials:Data Structures and Other Objects Using C++, Main & Savitch, 4th Edition.
Prerequisites: CPSC 230 (2.0 minimum) Reading 5, Writing 4, Math7 (or MATH 121, 126, 130, 141).
This class assumes the student understands basic programming techniques. Lecture subjects will include data abstraction and related theory for representation and access of information using C++. Algorithms and abstract data structures such as the stack, queue, binary search tree, heap and priority queue will be studied. A working knowledge of algebra, geometry, and pre-calculus math is neccessary to understand lecture examples and programs.
The course grade will be determined by a combination of computer lab exercises, homework, quizzes, tests, and attendance. All quizzes and tests will be comprehensive, although emphasis will be placed on material most recently covered.
Tests and quizzes may not be made up. This is a department policy. If you have to miss a test day, see me in advance, so we can arrange another testing time. All other assignments will be due at the beginning of class on the date specified. Late exercises turned in by the next class period will earn half the possible points.
Every two weeks an individual homework project will be assigned. Typically, days with labs will have a short lecture followed by lab time. Each lab day we will do group exercises that are to be completed by the end of the period. If there is time left after finishing an in-class exercise, the instructor is available to help with homework or projects.
Students with disabilities who believe that they may need accommodations in this class are encouraged to contact the Center for Student Access, Gannon Building, Star Zone - Campus Resources ( or by calling (517) 483-1924] as soon as possible to better ensure that such accommodations are implemented in a timely fashion.
Cheating and plagiarism will not be tolerated. Unless an exercise is specifically designated as a group assignment, students are to work individually. Any assignment found to be copied will receive zero points. Any student who is caught cheating more than once will fail the course.
Class Website:
Handouts, assignments, and data files will be posted on this site as the semester progresses. This site is maintained by your instructor at his MSU office, and it may be unavailable from time to time.
Official course syllabus:
Student code of conduct and general rules and guidelines:
Grading Scale
Percent / Grade94 - 100 / 4.0
88 -93 / 3.5
82 - 87 / 3.0
77 - 81 / 2.5
71 - 76 / 2.0
65 - 70 / 1.5
60 - 64 / 1.0
Evaluation
Assignments / 0-10%Tests / 50-60%
Final Exam / 15-25%
Projects / 10-25%
Quizzes / 0-10%
Reports / Presentations / 10-20%
Important Dates
Aug 27 / First day of classAug 29 / End 100% full tuition refund
Sep 3 / Labor Day – no class
Sep 5 / Last day to drop with no grade, 50% refund
Dec 3 / Last day to drop with W grade if passing
Dec 17 / Final Exam
Semester Schedule (Tentative)
Date / Chap / Topics / Lab / Project / TestingAug 25 / 1 / Introduction, Software Development / Evaluation
29 / Classes, Constructors, Header Files / 1
Sep 3 / Labor Day
5 / 2 / Class Parameters, Operator Overloading / 2
10 / 3 / Container Class, Friends
12 / 01 Person / Quiz
17 / 4 & 14 / Pointers, Inheritance
19 / 4 / Dynamic Memory, Arrays / 3
24 / 4 / Copy Constructor, Resize
26 / 02 Family / Quiz
Oct 1 / 9 / Recursion / 4
3 / 5 / Linked List / 5
8 / 5 / Doubly Linked List, List Container
10 / 6 / Templates - Node/Item / 6 / 03 List
15 / 7 & 8 / Stack & Queue / 7
17 / Quiz
22 / 12 / Linear and Binary Search / 08
24 / 12 / Hash Table / 09 / 04 Q/S
29 / 10 / Binary Tree
31 / 10 / Binary Search Tree / 10
Nov 5 / 11 / Balanced Tree / 11
7 / 05 Tree / Quiz
12 / 13 / Sorting - Bubble, Selection, Insertion
14 / 13 / Sorting - Merge, Quick / 12
19 / 11 / Heap, Sorting / 13 / 06 Tree
21 / 15 / Graphs - Array, Node
26 / 15 / Graphs -Depth, Breadth / 14
28 / Test
Dec 3 / 15 / Graphs - Shortest Distance / 15
5 / 15 / Graphs - Paths / 07 Graph
10 / First-Fit, Best-Fit, Worst-Fit / 16
12 / 08 Project / Final
17 / Final
This schedule may change, depending on the pace of the class. Test dates will be announced at least one day in advance. The final exam date will not be changed.