Riverside Community College District
Integrated Course Outline of Record
Computer Information Systems 17C
|
COURSE DESCRIPTION
|
|
17C C++ Programming: Data Structures
|
Units: 3.00
|
|
|
Prerequisite(s): None.
Advisory: CIS 17A Previous programming experience in C++ and object-oriented programming
|
|
This course offers a thorough presentation of the essential principles and practices of data structures using the C++ programming language. The course emphasizes abstract data types, software engineering principles, lists, stacks, queues, trees, graphs, and the comparative analysis of algorithms. 54 hours lecture and 18 hours laboratory.
|
|
|
SHORT DESCRIPTION FOR CLASS SCHEDULE
|
|
This course presents the essential principles of data structures for the development of computer programs using C++.
|
|
|
ADVISORY ENTRY SKILLS
Before entering the course, students will be able to:
|
-
Compose, compile and run C++ Object oriented code
-
analyze and understand the Object-Oriented C++ environment.
-
demonstrate the use of specialized terminology, directives, and features of the C++ language.
-
apply theoretical gaming, business, scientific, and mathematical concepts in writing and executing programs in the C++ language using Object-Oriented programming methodology.
-
demonstrate specified problem-solving and software design skills using the C++ language
-
CIS-96/97 are self-paced, competency-based, skill development computer labs. They provide the computer practice times to master the skills taught in the lecture classes. There is one-on-one instructor assistance available with additional help provided by student aides. Basically, the skills that are presented in the lecture classes have to be practiced to be mastered and that is the purpose of CIS-96/97.
|
STUDENT LEARNING OUTCOMES
Upon successful completion of the course, students should be able to:
|
|
1. Analyze and understand the use of data structures in the development of algorithms.
2. Design and create C++ programs using stacks, trees, queues, lists and trees.
3. Apply theoretical business, scientific, and mathematical concepts to write and execute computer programs in the C++ language using data structures.
4. Analyze application requirements to identify data structures with matching capabilities.
|
|
|
COURSE CONTENT
|
|
|
TOPICS
|
|
|
- Software Engineering
- Introduction to Data Structures and Abstract Data Types
- Stacks
- Queues
- Templates and Standard Containers
- Recursion
- Algorithm Analysis
- Lists
- Trees
- Sorting
- Searching
- Graphs and Digraphs
- Storage Management
|
|
|
|
METHODS OF INSTRUCTION
Methods of instruction used to achieve student learning outcomes may include, but are not limited to:
|
- Class lectures/discussions/demonstrations in order to understand the use of data structures in the development of algorithms
- Pair and small group activities/discussion in order to apply concepts to write and execute computer programs in the C++ language using data structures
- Class exercises to analyze application requirements to identify data structures
- Reports and papers
- Handouts to document the various C++ library functions and built-in template data structures
- Individual programming exercises resulting in an in-class critique of the program to highlight student progress in programming data structures
- Guest lecturers to call attention to the real world application of data structures in the C++ language
- Distance Education: Online, Hybrid, and Web Enhanced
|
|
|
METHODS OF EVALUATION
Students will be evaluated for progress in and/or mastery of learning outcomes by methods of evaluation which may include, but are not limited to:
|
- Programming exercises with in class oral reports to demonstrate program performance
- Written reports/presentations of programming exercises
- Quizzes/examinations to assess student progress in the understanding of C++ data structures
- Computer programming assignments as homework and in class exercises to demonstrate development of understanding of class structures and usage
- In-class programming exercises to demonstrate team programming dynamics
- Final examination designed to assess students’ mastery of the essential concepts of data structures and how to use them effectively in C++ programs
|
|
ASSIGNMENTS
|
Required Reading Assignments
Required Writing Assignments
Other Outside-of-Class Assignments
|
|
|
COURSE MATERIALS
All materials used in this course will be periodically reviewed to ensure that they are appropriate for college level instruction. Possible texts include:
|
-
Malik, D. S.. Data Structures Using C ++.
Boston, Mass: Thompson Course Technology, 2002.
|
| 08/07 |
| 517 |