C++ Data Structures
I. Course Prefix/Number: CSC 240
Course Name: C++ Data Structures
Credits: 3 (3 lecture; 1 lab)
II. Prerequisite
Recommended: MAT 140, CSC 155 or CSC 171
III. Course (Catalog) Description
Course provides a survey of data structures. Content includes elementary methods of complexity analysis applied to algorithms that manipulate dynamic and static data structures. Object-oriented programming techniques are utilized to implement lists, trees, tables, graphs and other classes using the C++ language. Algorithms focus on sorting and searching methods.
IV. Learning Objectives
A. Continue program development emphasizing modularity and abstract data types.
B. Utilize object-oriented programming skills to design maintainable classes.
C. Analyze algorithms to optimize memory and time complexity.
D. Implement a collection of data structures into a variety of applications.
E. Survey methods of sorting and searching.
B. Utilize object-oriented programming skills to design maintainable classes.
C. Analyze algorithms to optimize memory and time complexity.
D. Implement a collection of data structures into a variety of applications.
E. Survey methods of sorting and searching.
V. Academic Integrity
Students and employees at Oakton Community College are required to demonstrate academic integrity
and follow Oakton's Code of Academic Conduct. This code prohibits:
• cheating,
• plagiarism (turning in work not written by you, or lacking proper citation),
• falsification and fabrication (lying or distorting the truth),
• helping others to cheat,
• unauthorized changes on official documents,
• pretending to be someone else or having someone else pretend to be you,
• making or accepting bribes, special favors, or threats, and
• any other behavior that violates academic integrity.
There are serious consequences to violations of the academic integrity policy. Oakton's policies and procedures provide students a fair hearing if a complaint is made against you. If you are found to have violated the policy, the minimum penalty is failure on the assignment and, a disciplinary record will be established and kept on file in the office of the Vice President for Student Affairs for a period of 3 years.
Details of the Code of Academic Conduct can be found in the Student Handbook.
• cheating,
• plagiarism (turning in work not written by you, or lacking proper citation),
• falsification and fabrication (lying or distorting the truth),
• helping others to cheat,
• unauthorized changes on official documents,
• pretending to be someone else or having someone else pretend to be you,
• making or accepting bribes, special favors, or threats, and
• any other behavior that violates academic integrity.
There are serious consequences to violations of the academic integrity policy. Oakton's policies and procedures provide students a fair hearing if a complaint is made against you. If you are found to have violated the policy, the minimum penalty is failure on the assignment and, a disciplinary record will be established and kept on file in the office of the Vice President for Student Affairs for a period of 3 years.
Details of the Code of Academic Conduct can be found in the Student Handbook.
VI. Sequence of Topics
A. Program Development
1. Complexity analysis of efficiency
a. Big-O notation
2. Design strategies
a. Modularity & recursion
b. Object-oriented class relationships
i. inheritance and encapsulation
ii. late binding and virtual functions
iii. templates
3. Program verification
a. correctness proofs by induction
B. Abstract data design
1. Lists
a. stacks and queues
b. variations
2. Trees
a. binary search trees
b. heaps
3. Tables
a. priority queues
4. Graphs
C. Algorithms
1. Sorting
a. selection & insertion sorts
b. merge, heap and quick sorts
2. Searching
a. binary and sequential searches
b. hash functions
c. breadth & depth first searches
1. Complexity analysis of efficiency
a. Big-O notation
2. Design strategies
a. Modularity & recursion
b. Object-oriented class relationships
i. inheritance and encapsulation
ii. late binding and virtual functions
iii. templates
3. Program verification
a. correctness proofs by induction
B. Abstract data design
1. Lists
a. stacks and queues
b. variations
2. Trees
a. binary search trees
b. heaps
3. Tables
a. priority queues
4. Graphs
C. Algorithms
1. Sorting
a. selection & insertion sorts
b. merge, heap and quick sorts
2. Searching
a. binary and sequential searches
b. hash functions
c. breadth & depth first searches
VII. Methods of Instruction
Lectures, class discussion, individual and group projects, and use of a computer laboratory.
Course may be taught as face-to-face, media-based, hybrid or online course.
Course may be taught as face-to-face, media-based, hybrid or online course.
VIII. Course Practices Required
Reading of the text is required for understanding the material. Use of a computer laboratory is necessary to learn the design of software.
IX. Instructional Materials
Data Structures Using C++ by Malik, Course Technology, 2nd edition, 2010.
X. Methods of Evaluating Student Progress
Quizzes, written homework, computer assignments, major examinations and a final examination will be used.
XI. Other Course Information
If you have a documented learning, psychological, or physical disability you may be entitled to reasonable academic accommodations or services. To request accommodations or services, contact the ASSIST office in the Learning Center. All students are expected to fulfill essential course requirements. The College will not waive any essential skill or requirement of a course or degree program.















