Common Course Outline
Course discipline/number/title
COMP 2247: Algorithms and Data Structures
Catalog Description
| Credits | 4 |
|---|---|
| Hours/Week | 4 |
| Prerequisites (Course discipline/number) | COMP 1150, COMP 2243, and READ 0900 |
| Other requirements | Prerequisites may be satisfied by equivalent Math and/or Reading placement scores. |
| MnTC Goals (if any) | NA |
Course Description
This course covers the principles of complexity of algorithms and problem-solving techniques with data structures. Topics include analysis of algorithm, array lists, linked lists, stacks, queues, binary search trees, sorting searching, and recursive algorithms. In-depth study of object-oriented programming concepts is covered. Additional topics may include iterators, heaps and priority queues, balanced binary search trees, dictionary, hashing and graph algorithms. Programming languages such as Java, Python, or C++ will be used.
Date Last Revised (Month, year)
March, 2023
Outline of Major Content Areas
- Object-Oriented Programming concepts including inheritance, polymorphism, abstract method/class, and interface
- Analysis of complexity of algorithms
- Linked lists
- Stacks
- Queues
- Sorting algorithms
- Searching algorithms
- Recursion
- Binary search trees
Learning Outcomes (General)
The student will be able to:
- Analyze complexity of algorithms.
- Design and write programs using object-oriented concepts including inheritance, polymorphism, abstract method/class, and interface.
- Design and implement data structures including array lists, linked lists, stacks and queues.
- Use sorting and search algorithms in programs.
- Solve problems using recursive algorithms.
- Design and implement binary search trees.
- Implement a dictionary data type incorporating hashing algorithms and collision avoidance.
Learning Outcomes (MnTC)
NA
Methods for Evaluation of Student Learning
Methods may include but are not limited to:
- Tests
- Lab Exercises
- Programming Assignments
- Comprehensive Final Exam
RCTC Core Outcome(s)
This course contributes to meeting the following RCTC Core Outcome(s):
- Critical Thinking
- Students will think systematically and explore information thoroughly before accepting or formulating a position or conclusion.
Special Information (if any)
None