COSC-2436 Programming Fundamentals III: Data Structures
Alexander Katrompas
Credit Summer 2024
Section(s)
COSC-2436-003 (79924)
LEC DIL ONL DIL
LAB DIL ONL DIL
Course Requirements
Further applications of programming techniques, introducing the fundamental concepts
of data structures and algorithms. Topics include recursion, fundamental data structures
(possibly including, but limited to, stacks, queues, linked lists, hash tables, trees, and
graphs), and algorithmic analysis.
Review of control structures and data types with emphasis on structured data types.
Applies the object-oriented programming paradigm, focusing on the definition and use
of classes along with the fundamentals of object-oriented design, and a continuing
instruction in software engineering.
The language of instruction is C/C++ but an emphasis will be placed on general
computer science, algorithms, and software architecture. An emphasis will also be
placed on industry coding practices, practical application, and production code (i.e. ‘real
world’ code).
Readings
General: Readings may be assigned as needed to supplement class notes or the
textbook. These will be online and provided in class. Any readings assigned are
required and may be tested.
Optional Textbook: Data Abstraction and Problem Solving with C++ "Walls and
Mirrors" 7th edition, Frank Carrano and Timothy Henry, Pearson Publishing. ISBN-13:
978-0-13-446397-1. The textbook is the only purchase required. Purchase of additional
software or learning resources is NOT required.
Student Learning Outcomes/Learning Objectives
Demonstrate a thorough understanding of...
Modular programming by designing programs that require the use of
programmer-defined functions.
The object-oriented programming concepts of encapsulation, data abstraction
and composition by designing and implementing classes including the use of
overloaded functions and constructors.
The concept of pointers and dynamic memory allocation by designing and
implementing programs using pointers and dynamic memory allocation.
The implementation of programmer-defined functions and classes by writing
code, performing unit testing and debugging of multiple complex programs.
Good documentation style in all of the programs written in this course.
The differences between C and C++ in the areas of strings, pass by
reference/passing pointers, and structs by designing and implementing programs
that use C strings, C++ strings, C language structs and classes.
Abstract Data Types.
Advanced control structures and algorithms.
Data structures and their appropriate applications.
Office Hours
M Th 9:00 AM - 11:00 AM Zoom
NOTEPublished: 05/23/2024 15:14:29