# NVCC College-Wide Course Content Summary

## CSC 202 - Computer Science II (4 CR.)

COURSE DESCRIPTION
Examines fundamental data structures and analyzes algorithms. Covers abstract data types and essential data structures such as arrays, stacks, queues, linked lists, and trees; introduces searching and sorting algorithms and algorithm analysis. Prerequisites are CSC 201, Computer Science I, and MTH 173, Calculus with Analytic Geometry I; corequisite is MTH 174, Calculus with Analytic Geometry II. Lecture 4 hours per week.

ENTRY LEVEL COMPETENCIES
Prerequisites are CSC 201, Computer Science I, and MTH 173, Calculus with Analytic Geometry I. Corequisite is MTH 174, Calculus with Analytic Geometry II.

GENERAL COURSE PURPOSE
This course is the third course for the student majoring in Computer Science. There are four major purposes of the course. Here we begin a detailed study of data structures and data abstraction. We continue algorithmic analysis by examining various searching and sorting algorithms. Students study object-oriented programming in greater depth. Finally, we continue the development of discipline in program design, in style and expression, and in testing and debugging. The student writes programs larger than those in the previous course. A high-level computer language is used for the students to implement their solutions on a computer.

COURSE OBJECTIVES
Upon completion of this course, the student will be able to:

• Write a program which makes use of elementary features of object-oriented programming.
• Design and implement recursive solutions to selected problems.
• Write a program to implement and apply an Abstract Data Type (ADT), such as a linked list, stack, queue, or simple tree, and done with the static or dynamic use of memory.
• Implement common algorithms for searching and sorting and compare their efficiencies.

MAJOR TOPICS TO BE INCLUDED
• Data Abstraction and Object-Oriented Programming
• Dynamic Allocation
• Constructors and Destructors
• Recursion
• Analysis
• Applications
• ADT Implementations (static and dynamic) and Applications
• Linked Lists (singly, doubly, circular)
• Stacks
• Queues
• Trees and Tree Traversal
• Searching
• Analyzing and Comparing Searching Methods
• Relationships between Methods and Data Structures
• Sorting
• Examples of Order n^2 and Order n*log(n) Sorts
• Analyzing and Comparing Sorting Methods
• Other Topics (optional)
• Hashing
• Tables
• File Structures
• Sets
• Templates

Suggested Time Allocation per Topic

In order to standardize the core topics of CSC 202 so that a course taught at one campus is equivalent to the same course taught at another campus, the following student-contact-hours per topic are recommended. There are normally 64 student-contact-hours per semester for a four-unit course. The last category, Other/Enhance, leaves ample time for an instructor to tailor the course to special needs or resources.
Ref  Topic  Hours  Percent
Data Abstraction and Object-Oriented Programming  10  16
II  Recursion