Skip to Content

Programming & Problem Solving

Course Number: CS 161
Transcript Title: Programming & Problem Solving
Created: May 7, 2014
Updated: May 8, 2014
Total Credits: 4
Lecture Hours: 30
Lecture / Lab Hours: 0
Lab Hours: 30
Satisfies Cultural Literacy requirement: No
Satisfies General Education requirement: No
Grading options: A-F (default), P-NP, audit

Prerequisites

WR 115, RD 115, MTH 20 or equivalent placement test scores

Recommended

MTH 65 or equivalent placement test scores.

Course Description

Introduces programming, with emphasis on one language but using concepts that are fundamental for many languages, including values, variables, conditionals, loops, and functions.  Explores how a computer executes programs, the difference between a program and a computation, and how to write and analyze a program to justify confidence in its result. Prerequisites: WR 115, RD 115, and MTH 20 or equivalent placement test scores. Recommended: MTH 65 or equivalent placement test scores. Audit available.

Intended Outcomes

Upon successful completion of this course, students will be able to:

  1. Identify various career paths in computing and how they are traversed.
  2. Design algorithms and implement programs to solve simple problems.
  3. Program using most or all of: variables, loops, functions, arrays, structures, tuples, lists and dictionaries.
  4. Recognize the use and purpose of functions.
  5. Debug, test and desk check programs.
  6. Internally document a program using a consistent and acceptable programming style,comments, and similar techniques.

Outcome Assessment Strategies

Homework, observation, class discussion, examination.

Course Activities and Design

Lecture, supervised laboratory instruction, in-class and out-of-class assignments, discussion and examination.

Course Content (Themes, Concepts, Issues and Skills)

  • Basic language concepts
    • Values
    • Variables
    • Conditionals
    • Loops
  • Functions
    • Function prototypes, header files
    • Math library functions, random numbers
    • Reference parameters
    • Function overloading
  • Theory of Computation
    • Computability
    • Tractability
  • Programming Languages
    • Procedural, non-procedural
    • Program translation
  • Algorithms
    • Finiteness
    • Halting
    • Deterministic
    • Algorithm expression
  • Careers in Computer Science