Introduction to Computer Programming CS 115

Covers the basics of solving problems by computers. Emphasis is placed on how to design computer solutions, and then implement these designs using the C++ programming language. Important programming concepts such as data structures, control structures, top-down program design, program debugging, and program testing are covered.

Correlated Learning Outcomes

  • AL-05 Apply an appropriate algorithmic approach to a given problem. [Applying]
  • AL-07 Implement basic numerical algorithms. [Applying]
  • AL-12 Investigate factors other than computational efficiency that influence the choice of algorithms. [Applying]
  • AL-13 Compare various data structures for a given problem. [Analyzing]
  • AR-02 Analyze alternative formats to represent numerical data. [Analyzing]
  • AR-03 Illustrate how fixed-length number representations could affect accuracy and precision, causing vulnerabilities. [Applying]
  • AR-04 Examine the internal representation of non-numeric data. [Analyzing]
  • AR-05 Compare different methods for converting numerical data from one format to another. [Analyzing]
  • CYB-15 Construct input validation and data sanitization in applications, considering adversarial control of the input channel. [Creating] See also SDF-06.
  • CYB-17 Implement programs that properly handle exceptions and error conditions. [Applying] See also SDF-12.
  • PL-05 Implement algorithms which utilize immutable and mutable variables. [Applying]
  • SDF-01 Design an algorithm in a programming language to solve a simple problem. [Creating]
  • SDF-03 Compare multiple algorithms for a given problem. [Analyzing]
  • SDF-06 Create programs which use defensive programming techniques, including input validation, type checking, and protection against buffer overflow. [Creating] See also CYB-15.
  • SDF-07 Create code in a programming language that includes primitive data types, references, variables, expressions, assignments, I/O, control structures, and functions. [Creating]
  • SDF-08 Create a simple program that uses persistence to save data across multiple executions. [Creating]
  • SDF-12 Investigate common coding errors that introduce security vulnerabilities. [Applying]
  • SDF-14 Analyze programming code that utilizes preconditions, postconditions, and invariants. [Analyzing]
  • SDF-15 Apply a variety of strategies to test and debug programs. [Applying]
  • SDF-16 Use an integrated development environment (IDE) to create, execute, test, and debug secure programs. [Applying]
  • SDF-17 Use standard libraries for a given programming language. [Applying]
  • SDF-18 Apply consistent documentation and program style standards. [Applying]
  • SE-12 Differentiate between program validation and verification. [Understanding]
  • PL-06 Contrast functional and object-oriented programming paradigms. [Analyzing]