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)