Computational Thinking and Programming Basics CIT 120

Promotes understanding of computer programming and logic by teaching students to “think like a computer”. Covers skills needed to develop and design language-independent solutions to solve computer-related problems. Covers development and design basics including use of variables, control and data structures, and principles of command-line and object-oriented languages.

Correlated Learning Outcomes

  • AL-01 Analyze best, average, and worst-case behaviors of an algorithm. [Analyzing]
  • AL-04 Analyze the performances of an algorithm with various input sizes. [Analyzing]
  • AL-05 Apply an appropriate algorithmic approach to a given problem. [Applying]
  • AL-07 Implement basic numerical algorithms. [Applying]
  • AL-13 Compare various data structures for a given problem. [Analyzing]
  • AR-01 Diagram the digital components of computing architecture. [Applying]
  • 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]
  • GV-01 Compare transformation and changes in dimension and coordinate systems for 2D and 3D design. [Analyzing]
  • GV-02 Demonstrate common uses of digital presentation to human senses. [Understanding]
  • HCI-01 Analyze the importance of human-centered software. [Analyzing]
  • HCI-04 Write a simple application that uses a modern graphical user interface. [Applying]
  • IM-01 Contrast the difference between information and data. [Analyzing]
  • PL-01 Design a simple class hierarchy using superclasses, subclasses, and abstract classes. [Creating]
  • 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-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]
  • SP-01 Investigate both positive and negative ways in which computing technology impacts information exchange and social interaction. [Applying]
  • SP-06 Analyze social tradeoffs in technical decisions. [Analyzing]
  • SP-07 Examine various ethics scenarios in computing. [Analyzing]
  • SP-10 Differentiate the terms among intellectual property, fair-use, copyright, patent, trademark, and plagiarism. [Understanding]
  • SP-16 Use effective oral, written, electronic, and visual communication techniques with stakeholders. [Applying]
  • SP-18 Develop technical artifacts. [Creating]