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
NOTEW 4:00 PM - 6:00 PM Highland Campus, building 4000, office 2310.14
NOTEPublished: 08/22/2024 14:48:06