CS 111: Intro to Programing

Class Program
Credits 5 Lecture Hours 22 Lab Hours 66
An introductory computer programming course. Students learn to write and debug simple text based programs while exploring the fundamental principles of programming. Topics for study include input / output, statements, expressions, operations, variables, data types, control structures, program modularization, basic data structures and file input and output.

Prerequisites

Completion of MATH 098/MAP 119 or concurrent enrollment or a higher placement.
Quarters Offered
Fall,
Spring
Course Outcomes

Upon successful completion of the course, students should be able to demonstrate the following knowledge or skills:

  1. Design, write, execute and test simple, text based computer programs.
  2. Locate and fix bugs (errors) while testing programs.
  3. Write basic programs that take input from the keyboard and display output to the screen.
  4. Utilize predefined code libraries (APIs) when building programs.
  5. Define variables and use them appropriately in statements and expressions.
  6. Use common data types and the operations that are defined on those types.
  7. Use arithmetic, relational and logical operators to develop complex expressions.
  8. Apply control structures (sequence, decision and repetition) to correctly control the flow of a program.
  9. Modularize program code using functions (sub-routines or methods).
  10. Utilize basic collection data structures such as (arrays, lists, vectors).
  11. Compose programs that read input from a file and write output to a file.
Institutional Outcomes
IO1 Communication: Students will be able to communicate clearly and effectively within a workplace context
IO2 Quantitative Reasoning: Analyze and solve computational problems using a modern program language
Course Content Outline
  1. Development environment setup and first program
  2. Capturing input from the keyboard, displaying output to the screen
  3. Statements, expressions, data types, variables, values, operations
  4. Decisions and conditions (if statements and boolean expressions)
  5. Repetition structures using loops / iteration
  6. Program modularization using functions or sub-routines
  7. Arrays and basic collection types (lists or vectors)
  8. File input and output