Course

Credit Type:
Course
ACE ID:
OOSL-0069
Version:
3
Organization's ID:
CS101
Organization:
Location:
Online
Length:
90 hours
Minimum Passing Score:
70
ACE Credit Recommendation Period:
Credit Recommendation & Competencies
Level Credits (SH) Subject
Lower-Division Baccalaureate 3 Introduction to Programming
Description

Objective:

The course objective is to introduce programming concepts to students using the language of their choice: C++, Python, or Java while following a consistent course sequence, structure, and schedule of assessments. The course teaches the core computer science concepts of variables, branching, loops, arrays/lists, and functions/methods. It also introduces object-oriented programming with classes and inheritance. The course covers use pointers and streams and teaches a variety of good coding practices, including iterative development, code formatting, and variable naming schemes.

Learning Outcomes:

  • Use a variety of integer data types and the concept of overflow
  • Use floating-point, character, and string data types
  • Use multiple branches for more complex programs
  • Use the Boolean data type to store results of conditional statements
  • Understand memory usage for single and multi-dimensional arrays/lists
  • Combine loops and arrays/lists
  • Develop programs with multiple arrays/lists
  • Write a first function/method, then return from a function/method and parameterize a function
  • Learn reasons to use a function/method
  • Introduce abstract data types
  • Creating, copying, and deleting objects
  • Manipulate text and floating-points during output
  • Read input from a string
  • Explain the basics of how a computer works, then write a first program, use standard input and output, and understand common syntax errors
  • Declare and initialize variables with valid identifiers
  • Cast between data types
  • Develop programs that branch based on user input
  • Write expressions with relational and equality operators and develop expressions with logical operators
  • Access elements in arrays/lists
  • Combine functions/methods with branches and loops and use incremental development with functions/methods
  • Send and use arguments passed to program
  • Write classes that group functions/methods and data
  • Initialize class variables with class constructor
  • Understand standard input and output implementation
  • Input and output to a file

General Topics:

  • Introduction
  • Variables/assignments
  • Branching
  • Loops
  • Arrays/lists
  • User-defined functions/methods
  • Classes
  • Streams
  • Other topics as assigned
Instruction & Assessment

Instructional Strategies:

  • Audio Visual Materials
  • Computer Based Training
  • Laboratory
  • Practical Exercises

Methods of Assessment:

  • Examinations
Supplemental Materials
Equivalencies