COSC-1337 Programming Fundamentals II


Alexander Katrompas

Credit Fall 2024


Section(s)

COSC-1337-003 (89625)
LEC TuTh 10:30am - 11:25am DIL DLS DIL

LAB TuTh 11:35am - 12:30pm DIL DLS DIL

Course Requirements

Course Description

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.
Includes basic analysis of algorithms, searching and sorting techniques, and an introduction to 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).

Prerequisite: ​ COSC 1336 or instructional program approval.


Readings

Required Textbook : Starting Out with C++, Early Objects, 10th Ed., Gaddis, et.al., AW, 2017. (ISBN-13: 9780135235003) The textbook is the only purchase required. Purchase of additional software or learning resources is NOT required.

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.


Course Subjects

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.
Includes basic analysis of algorithms, searching and sorting techniques, and an introduction to 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).


Student Learning Outcomes/Learning Objectives

Demonstrate a thorough understanding of modular programming by designing
programs that require the use of programmer-defined functions.

Demonstrate a thorough understanding of arrays by designing and implementing programs that search and sort arrays.

Demonstrate a thorough understanding of the object-oriented programming concepts of encapsulation, data abstraction and composition by designing and implementing classes including the use of overloaded functions and constructors.

Demonstrate a thorough understanding of the concept of pointers and dynamic memory allocation by designing and implementing programs using pointers and dynamic memory allocation.

Demonstrate a thorough understanding of the implementation of programmer-defined functions and classes by writing code, performing unit testing and debugging of multiple complex programs.

Demonstrate good documentation style in all of the programs written in this course.

Demonstrate a thorough understanding of stream input/output for both console and files.

Demonstrate an understanding of 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.


Office Hours

T Th 12:30 PM - 2:30 PM Online via Zoom

NOTE

W 4:00 PM - 6:00 PM Highland Campus, building 4000, office 2310.14

NOTE

Published: 08/22/2024 14:48:06