Programming & Problem Solving
- Course Number:
- CS 161
- Transcript Title:
- Programming & Problem Solving
- Created:
- Aug 08, 2022
- Updated:
- Aug 17, 2022
- Total Credits:
- 4
- Lecture Hours:
- 40
- Lecture / Lab Hours:
- 0
- Lab Hours:
- 0
- Satisfies Cultural Literacy requirement:
- No
- Satisfies General Education requirement:
- No
- Grading Options
- A-F, P/NP, Audit
- Default Grading Options
- A-F
- Repeats available for credit:
- 0
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. Prerequisite/concurrent: CS 160. Audit available.
Course Outcomes
Upon successful completion of this course, students will be able to:
- Identify career paths in computing and how they are traversed.
- Design algorithms and implement programs to solve simple problems.
- Program using variables, conditionals, loops, functions, arrays, structures, tuples, lists and dictionaries.
- Recognize the use and purpose of functions.
- Debug, test and desk check programs.
- Internally document a program using a consistent and acceptable programming style,comments, and similar techniques.
Suggested Outcome Assessment Strategies
Homework, observation, class discussion, examination.
Course Activities and Design
The determination of teaching strategies used in the delivery of outcomes is generally left to the discretion of the instructor. Here are some strategies that you might consider when designing your course: lecture, small group/forum discussion, flipped classroom, dyads, oral presentation, role play, simulation scenarios, group projects, service learning projects, hands-on lab, peer review/workshops, cooperative learning (jigsaw, fishbowl), inquiry based instruction, differentiated instruction (learning centers), graphic organizers, etc.
Course Content
- 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