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]