ROCHESTER COMMUNITY & TECHNICAL COLLEGE
COMP 2247 Algorithms and Data Structures

Common Course Outline

A. CATALOG DESCRIPTION
Course Discipline/Number: COMP 2247
Course Title: Algorithms and Data Structures
Credits: 4 credits
Hours/Week: 4 hours per week

Prerequisites: Successful completion of Introduction to COMP 1150 Computer Science. Successful completion of COMP 2243 Structured COBOL Programming. College-level reading skills: Appropriate score on RCTC placement test or completion of appropriate developmental course with grade of C or better.

Course Description: Problem-solving techniques with data structures such as records, dynamic structures, and pointer variables. Introduction to object-oriented concepts. Use of linked lists, stacks, queues, and binary search trees. Sorting and searching algorithms. Complexity of algorithms. (4 C/4 hrs classroom per wk)

B. DATE LAST REVISED: 3/31/1997

C. RECOMMENDED ENTRY SKILLS/KNOWLEDGE:
Successful completion of Introduction to COMP 1150 Computer Science. Successful completion of COMP 2243 Structured COBOL Programming. College-level reading skills: Appropriate score on RCTC placement test or completion of appropriate developmental course with grade of C or better.

Ability to:
a) Design algorithms using stepwise refinement
b) Document algorithms using flowcharts or pseudocode
c) Write and document programs using:
d) Compile, link, and run a program
e) Test and debug a program
f) Understand the rudiments of data storage within a digital computer
g) Define the activities of a computer’s CPU
h) Understand the concept of an algorithm and its importance within the discipline of computer science
i) Understand the benefits of modular design
j) Understand the concept of abstraction and elementary abstract data types
k) Distinguish the difference between conceptual and actual file organization
Understand the concept of computability.

D. OUTLINE OF MAJOR CONTENT AREAS:
Records
Pointer variables
Dynamic structures
Classes
Linked lists
Sorting algorithms
Search algorithms
Complexity of algorithms
Stacks
Queues
Binary search trees

E. LEARNING OUTCOMES (GENERAL):
Students will be able to:
1. analyze and compare complexities of algorithms
2. design, write, document, and test programs using object-oriented concepts including class types and objects, encapsulation, and information hiding
3. design, write, document, and test programs using linked lists, sorting algorithms, search algorithms, queues, and binary search trees.

F. LEARNING OUTCOMES (MNTC)
Critical Thinking for Minnesota Transfer Curriculum. Students will be able to:
1. gather factual information and apply it to a given problem in a manner that is relevant, clear, comprehensive, and conscious of possible bias in the information selected
2. imagine and seek out a variety of possible goals, assumptions, interpretations, or perspectives which can give alternative meanings or solutions to given situations or problems
3. analyze the logical connections among the facts, goals, and implicit assumptions relevant to a problem or claim; generate and evaluate implications that follow from them
4. recognize and articulate the value assumptions which underlie and affect decisions, interpretations, analyses, and evaluations made by ourselves and others.

G. METHODS FOR EVALUATION OF STUDENT LEARNING:
Tests
Programming assignments
Comprehensive final test (written)

H. SPECIAL INFORMATION: none