CCCOnline LogoCourse Snapshot for CSC160 - Computer Science I

The information listed below is subject to change. Please review the course syllabus within your online course at the start of class.

Course Competencies

The competencies you will demonstrate in this course are as follows:

  1. Demonstrate an understanding of the program development process and algorithm development.
  2. Implement programs utilizing analysis and design, testing, coding standards and documentation.
  3. Write programs with correct syntax.
  4. Write programs with input/output using a variety of data types.
  5. Demonstrate the use of different data types.
  6. Show how operators work with different data types.
  7. Identify how data is represented in the system. Use logical expressions in a program.
  8. Show how scope/lifetime rules affect code.
  9. Write programs with multiple decisions and loops.
  10. Explain program flow.
  11. Use both system-defined and programmer-defined functions/methods with value and reference parameters in a program.
  12. Group different data types together in a structure, class or equivalent.
  13. Use pointers/references in a program.
  14. Write a program with arrays.
  15. Demonstrate understanding and use of recursion in a program.
Learning concepts for this course are enchanced using modules, ebooks, and online discussions.

Module Outcomes Mapped to Competencies

Module 1 Learning Outcomes

Mapped to Course Competencies (above)
Review different types of computers and examine the hardware and software components of a computer system. 1
Review the evolution of programming languages and compare high-level programming languages as well as structured design and object-oriented design programming methodologies. 1
Define what a compiler is and describe what it does. 1, 2
Describe what an algorithm is and review problem-solving techniques. 1, 2
Examine the basic components of a C++ program, including functions, special symbols, identifiers, simple data types, and arithmetic operators  and break down how it is processed. 1, 2, 3, 5, 6, 7, 11
Break down what an assignment statement is and demonstrate what it does including how a program evaluates arithmetic expressions, increment and decrement operators. 3, 5, 6
Employ input statements to input data into memory and output  results using output statements. 3, 4, 5
Explain use preprocessor directives and why they are necessary, 3, 9
Create a properly structured C++ program with comments to document the logic. Diagnose and debug syntax errors in the program. 1, 2, 3, 11

Module 2 Learning Outcomes

Mapped to Course Competencies (above)

Use predefined functions in a program. 2, 3, 12
Use the input stream functions get, ignore, putback, and peek  and the string input functions to read from standard input device and open and read from files. 2, 3, 4, 5, 12
Write data and strings to the standard output device and to a file using manipulators to format output and file open/create functions for output files. 1, 2, 4, 5, 7, 12
Detect and debug logic errors . 1, 2, 3
Construct and evaluate relational and logical operators and  (Boolean) expressions. 2, 3, 6, 7, 8
Characterize and use the selection control structures if, if…else, and switch in a program. 2, 3, 8, 10, 11
Use the assert function to terminate a program. 1, 3, 10

Module 3 Learning Outcomes

Mapped to Course Competencies (above)

Compare, construct and use repetition control structures (looping): counter-controlled, sentinel-controlled, flag-controlled, and EOF–controlled repetition structures and demonstrate how to debug loops. 1, 2, 3, 6, 7, 8, 10, 11
Explain break and continue statements. 1, 2, 3, 6, 7, 8, 10, 11
Create and use nested control structures. 1, 2, 3, 6, 7, 8, 10, 11
Use standard (predefined) functions in a program. 1, 2, 3, 12
Contrast and use value and reference parameters and in both value-returning user-defined functions, as well as void functions. 1, 2, 3, 14, 12
Explain the scope of an identifier and compare local and global identifiers. 1, 2, 3, 7, 9
Employ static variables. 1, 2, 3, 5, 7, 9
Implement function overloading. 1, 2, 3, 12
Discuss recurrency. 15

Module 4 Learning Outcomes

Mapped to Course Competencies (above)

Create and manipulate a simple data type called the enumeration type and employ the typedef statement. 1, 2, 3, 5, 6, 7, 12, 13
Employ the namespace mechanism. 1, 2, 3, 7, 9
Employ C-strings and use string functions to manipulate and process them, including input data into – and output data from – a C-string. 1, 2, 3, 4, 5, 6, 7, 12
Declare and manipulate data into arrays. 1, 2, 3, 4, 5, 6, 7, 12, 14, 15
Describe “array index out of bounds”. 1, 2, 3, 5, 7, 11, 12, 14, 15
Demonstrate how to pass an array as a parameter to a function. 1, 2, 3, 5, 7, 12, 14, 15
Search and sort an array. 1, 2, 3, 5, 7, 12, 14, 15
Employ parallel array. 1, 2, 3, 5, 7, 12, 14, 15
Manipulate data in a two-dimensional array and describe multidimensional arrays. 1, 2, 3, 5, 7, 12, 14, 15

Module 5 Learning Outcomes

Mapped to Course Competencies (above)

Manipulate data using a struct and operations on a struct. 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14
Describe the relationship between a struct and functions. 1, 2, 3, 5, 6, 7, 8, 11, 12, 13, 14
Create an array of struct items and an array in a struct. 1, 2, 3, 5, 6, 7, 11, 12, 13, 14, 15
Examine classes and characterize and implement private, protected, and public members of a class to demonstrate how to implement information hiding. 1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14
Explain constructors and destructors. 1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14
Explain the abstract data type (ADT) and use classes to implement ADTs. 1, 2, 3, 5, 6, 7, 9, 11, 13, 14
Construct static members of a class. 1, 2, 3, 5, 6, 7, 9, 11, 13, 14

Course Time Commitment and Expectations

For every credit hour, students should plan to spend an average of 2-3 hours per week for course-related activities in a 15-week course. For example, a 3 credit hour course would average an average 6-9 hours per week to read/listen to the online content, participate in discussion forums, complete assignments, and study the course material. For 10  and 6-week courses, the amount of time per week will be higher so all course competencies, module outcomes, and assignments will be covered.

Aside from typical reading assignments, this course has the following (Please Note: This list is subject to change based on the discretion of the instructor facilitating this course.):

Assignment

Points

Discussions (10 @ 20 points each) 200
Exams (5 @ 50 points each) 250
Homework Assignments (10 @ 15 points each) 150
Programs (10 @ 30 points each) 300
TOTAL 900

 

CCCOnline Course Quality Commitment

CCCOnline goes to great lengths to assure the quality of your online learning experience. You can expect the following from our courses: