COSC-1337 Programming Fundamentals II
Amr Elchouemi
Credit Spring 2024
Section(s)
COSC-1337-010 (74607)
LEC DIL ONL DIL
Course Requirements
Orientation: Orientation is required. The Orientation instructions are on the Blackboard site for this class. Students who do not complete orientation during the first week of class will be dropped from the class.
Class progress: Students are expected to understand they have enrolled in an online distance learning course and must manage their time to keep up with the schedule and pace of the class. In this course, each new concept builds on previous concepts so that regular progress through the material is crucial to success on tests and assignments. Students should check grades in Blackboard regularly to ensure that they are not getting behind.
Assignments: Grade will be assigned based both on concepts and practical application. Exams, exercises, and programming assignments will be a part of the grade. Lab assignments have a grace period of two days after they are due for a penalty of 20%. After that, the lab assignment will no longer be available on Blackboard.
Exams. Exams will be taken during the dates assigned in the course schedule. Exams will be taken on the students’ home computer. Exams must be taken by the due date posted in the Course Schedule.
Grading Percentages: The following represents the breakout of assignments by percentage:
# |
Item |
points per one item |
total points |
percent of grade |
4) |
10 Quizzes Ch 1 – 10 |
10 points per quiz |
100 |
10.0% |
5) |
(6) Labs Ch 1 – 6 |
20 points per lab |
120 |
12.0% |
6) |
(4) Labs Ch 7 – 10 |
40 points per lab |
160 |
16.0% |
7) |
Exam 1 (Ch 1 – 6) |
140 points |
140 |
14.0% |
8) |
Exam 2 (Ch 1 – 9) |
200 points |
200 |
20.0% |
9) |
Exam 3 (Ch 1 – 11) |
280 points |
280 |
28.0% |
|
TOTAL |
|
1000 |
100.0 |
Course Subjects
Course Description: This is an introduction to the C++ programming language and its subset, the C programming language. Program structure, blocks, storage types, console and file I/O, functions, arrays, strings, pointers, call-by-reference, call-by-value, and dynamic memory allocation will be discussed. The concept and use of classes will be covered in some detail. Differences between C, C++, and Python will be discussed. Some new features in C++ 2011/2014/2017 will be introduced.
Prerequisite: COSC 1336 or instructional program approval. Course Type: T.
Course Rationale: This course is designed to teach students the C++ programming language and introductory and intermediate programming concepts with examples and applications using the C++ language. The course builds and extends topics covered in the prerequisite course, COSC 1336 and prepares students for more advanced programming courses such as ITSE 2331 (Advanced C++ Programming) as well as for entry level programming employment. The course is required for an Associate Degree in several Computer Information Systems and Computer Science degree areas.
Student Learning Outcomes/Learning Objectives
Course Objectives/Learning Outcomes:
- 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 proficiency in implementing data validation code, performing unit testing, and developing test plans while implementing robust solutions to the assignments 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
M 1:00 PM - 2:00 PM online
NOTEPublished: 03/17/2024 05:32:51