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

 

 

 


Readings

Approved Text and Teaching Materials:

Starting out with C++: Early Objects (10th edition). Gaddis, Walters, Muganda, Pearson, 2020. (ISBN- 9780135235003).   

 


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:

  1. Demonstrate a thorough understanding of modular programming by designing programs that require the use of programmer-defined functions.
  2. Demonstrate a thorough understanding of arrays by designing and implementing programs that search and sort arrays.
  3. 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.
  4. Demonstrate a thorough understanding of the concept of pointers and dynamic memory allocation by designing and implementing programs using pointers and dynamic memory allocation.
  5. 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.                                                                
  6. Demonstrate good documentation style in all of the programs written in this course.
  7. Demonstrate proficiency in implementing data validation code, performing unit testing, and developing test plans while implementing robust solutions to the assignments in this course.
  8. Demonstrate a thorough understanding of stream input/output for both console and files.
  9. 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

NOTE

Published: 03/17/2024 05:32:51