Syllabus
Programming Fundamentals II

Programming Fundamentals II

COSC-1337

Credit Summer 2020
06/01/2020 - 08/02/2020

Course Information

Section 002
Distance Learning
TTh 09:10 - 11:25
ONL DIL
Rudy Martinez

Section 002
Laboratory
TTh 11:25 - 12:10
ONL DIL
Rudy Martinez

Office Hours

  • --- - ---
    Email Professor to Confirm Appointment.
  • M T W Th F
    8am - 9am
    Use WebEx audio.

COSC 1337

*** Schedule ***

Course Description & Rationale

Course Description:  This course is an introduction to the C++ programming language and its subset, the C programming language.  Program structure, block, 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.  The differences between C++ and C will also be discussed. 

Prerequisite:  COSC 1336 or departmental approval

Instructional Methodology:  This course will have both lecture and lab each week. Students will likely require substantially more time to complete assignments than the amount allocated to lab times. It is recommended that students install and configure Visual Studio on their own PCs. PCs are also available in CIS open labs. 

Course Rationale:  This course is designed to teach 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) and COSC 2315 (Data Structures) 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

  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.

Readings

Required Textbook: 

Starting Out with C++, Early Objects, 10th Ed., Gaddis, et.al., AW, 2020.  (ISBN-13: 9780135235003)

The textbook is the only purchase required. Purchase of additional software or learning resource is NOT required.

 

Course Requirements

Program Assignments:

  1. Submit the project files (e.g. .cpp, .h, .exe, .svg, .png ) in one .zip file to the appropriate Blackboard Assignments folder. To receive credit assignments must be submitted to Blackboard.
  2. Must be submitted in Blackboard by 11:59pmCT of the due date indicated in the course schedule.
  3. Note: Assignment links are automatically/programmatically removed from Blackboard at 11:59pmCT of the due date. Therefore, it is not possible to submit assignments after the due date. 
  4. To receive credit, programs must completely meet requirements exactly as specified.
  5. Partial credit is not awarded for programs that do not meet all requirements.
  6. Up to two Replacement Programs may be submitted to replace up to two Program Assignments. Submit a correct version of the original program missed and identify the program in the Blackboard comments. Replacement programs are due the last day of class at 11:59pmCT.

Supplemental Course Information (e.g. using Visual Studio, Flowcharts)

Tutoring Services

 

Grade Rubric:

Course Subjects

 

Chapter

Topics

4-5

Review of C++ Fundamentals

6

Functions

7

Intro. to Classes and Objects

8

Arrays

9

Searching and Sorting

10

Pointers

11

Advanced Classes and Objects

12

Chars, C Strings, & Strings

13

Advanced File and I/O

 14

Recursion

hey

Blackboard Access

Blackboard (Bb) course access 1st week of class:

Students must access the course in Bb during the 1st week of class to be counted as "Attending".  If a student does not access the course in Bb during the 1st week of class s/he will be classified as "Never Attended" and will be ineligible for financial aid and automatically dropped from the course.