Faculty Syllabus
COSC-2436 Programming Fundamentals III: Data Structures
Gregory MacDonald
Credit Spring 2026
Section(s)
COSC-2436-009 (28656)
LAB COH ONL DIL
LEC TuTh 2:45pm - 4:15pm COH
Course Subjects
Course Description: Further applications of programming techniques, introducing the fundamental concepts of data structure and algorithms. Topics include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), and algorithmic analysis.
Prerequisite: COSC 1337 or instructional program approval. Course Type: T.
Course Rationale: This course is designed to teach students the fundamental data structures and the algorithms used to manipulate them. The data structures and algorithms will be implemented in a modern object-oriented programming language (C++). Since this course is designed to transfer into a bachelor degree program, check with the college to which you plan to transfer to be sure that they will accept this course.
|
Week |
Class |
Topics |
7th Revision Readings |
8th Revision Readings |
Assignments * |
|
1 |
01-20 |
CPU Memory Caches |
|
|
|
|
|
01-22 |
Heap vs. Stack Memory |
|
|
|
|
2 |
01-27 |
Winter Storm – No Class
|
|
|
|
|
|
01-29 |
Walls & Abstraction C++ Review C++ Classes |
Ch 1 Appendix A Int 1 |
Ch 1, Ch 2.1 Appendix A Int 1 |
Quiz 1
|
|
3 |
02-03 |
Mirrors & Recursion Pointers & Memory |
Ch 2 Int 2 |
Ch 5 Int 2 |
Quiz 2 |
|
|
02-05 |
Array Implementations |
Ch 3 |
Ch 3 |
Quiz 3 |
|
4 |
02-10 |
Linked-Chain Implementations |
Ch 4 |
Ch 4 |
Quiz 4 |
|
|
02-12 |
Recursion & Problem Solving |
Ch 5 |
Ch 6 |
Quiz 5 Lab 1: Recursion |
|
5 |
02-17 |
Stacks |
Ch 6 |
Ch 8 |
Quiz 6 Lab 2: Stacks |
|
|
02-19 |
Stack Implementations |
Ch 7 |
Ch 9 |
Quiz 7 |
|
6 |
02-24 |
Exam 1 Review |
Ch 1 – Ch 7 |
Ch 1, 2.1, 3-6, 8-9 |
Exam 1 |
|
|
02-26 |
Class Cancelled |
|
|
|
|
7 |
03-03 |
Lists |
Ch 8 |
Ch 12 |
Quiz 8 Lab 3: Lists |
|
|
03-05 |
List Implementations |
Ch 9 |
Ch 13 |
Quiz 9 |
|
8 |
03-10 |
Algorithm Efficiency |
Ch 10 |
Ch 7 |
Quiz 10 |
|
|
03-12 |
Smart Pointers |
Int 4 |
Int 4 |
|
|
|
03-17 |
SPRING BREAK |
|
|
|
|
9 |
03-24 |
Sorting Algorithms |
Ch 11 |
Ch 14 |
Quiz 11 |
|
|
03-26 |
Class Relationships |
Int 6 |
Int 5 |
|
|
10 |
03-31 |
Sorted Lists & Implementations |
Ch 12 |
Ch 16 |
Quiz 12 |
|
|
04-02 |
Iterators |
Int 7 |
Int 7 |
|
|
11 |
04-07 |
Exam 2 Review |
Ch 8 – Ch 12 |
Ch 7, 12-14, 16 |
Exam 2 |
|
|
04-09 |
Class Cancelled |
|
|
|
|
12 |
04-14 |
Queues |
Ch 13 |
Ch 10 |
Quiz 13 Lab 4: Queues |
|
|
04-16 |
Queue Implementations |
Ch 14 |
Ch 11 |
Quiz 14 |
|
13 |
04-21 |
Trees |
Ch 15 |
Ch 17 |
Quiz 15 |
|
|
04-23 |
Tree Implementations |
Ch 16 |
Ch 18 |
|
|
14 |
04-28 |
Tree Implementations (cont.) |
Ch 16 |
Ch 18 |
Quiz 16 Lab 5: Trees (Bonus) |
|
|
04-30 |
Heaps |
Ch 17 |
Ch 22 |
Quiz 17 |
|
15 |
05-05 |
Dictionaries & Implementations |
Ch 18 |
Ch 23 & 24 |
Quiz 18 |
|
|
05-07 |
C++ Standard Template Library |
Int 8 |
Int 8 |
|
|
16 |
05-12 |
Exam 3 Review |
Ch 13 – Ch 18 |
Ch 10, 11, 17, 18, 22, 23 |
Exam 3 |
|
|
05-14 |
Class Cancelled |
|
|
|
Student Learning Outcomes/Learning Objectives
Course Objectives / Learning Outcomes:
- Demonstrate a thorough understanding of the behavior of basic data structures: lists, stacks, queues and trees by developing programs that implement or apply these data structures.
- Demonstrate a thorough understanding of how data structures impact the performance of algorithms.
- Demonstrate a thorough understanding of the object-oriented concepts of data abstraction and encapsulation by designing and implementing data structures using classes.
- Demonstrate a thorough understanding of template classes by developing programs that use them.
- Demonstrate an understanding of recursion by applying recursive techniques to solve problems including list and tree processing.
- Demonstrate a thorough understanding of searching and sorting algorithms including recursive techniques.
- Demonstrate proficiency in implementing data validation code and performing unit and integration testing by developing robust solutions to the assignments in this course.
- Demonstrate good documentation style in all of the programs written in this course.
SCANS (Secretary’s Commission on Achieving Necessary Skills):
The following list summarizes the SCANS competencies addressed in this particular course:
|
RESOURCES 1.1 Manages Time |
INTERPERSONAL 2.1 Participates as a member of a team 2.6 Works with Cultural Diversity |
INFORMATION 3.1 Acquires and Evaluates Information 3.2 Organizes and Maintains Information 3.3 Uses Computers to Process Information |
SYSTEMS 4.1 Understands Systems 4.2 Monitor and Corrects Performance 4.3 Improve and Designs Systems |
|
TECHNOLOGY 5.1 Selects Technology 5.2 Applies Technology to Task 5.3 Maintains and Troubleshoots Technology
|
BASIC SKILLS 6.1 Reading 6.2 Writing 6.3 Arithmetic 6.4 Mathematics 6.5 Listening |
THINKING SKILLS 7.2 Decision Making 7.3 Problem Solving 7.4 Mental Visualization 7.5 Knowing How to Learn 7.6 Reasoning |
PERSONAL SKILLS 8.1 Responsibility 8.2 Self-Esteem 8.3 Sociability 8.4 Self-Management 8.5 Integrity/Honesty |
Office Hours
M W 5:00 PM - 7:00 PM Online
NOTEPublished: 02/01/2026 19:54:37