Published using Google Docs
CS 161 Introduction to Programming and Problem Solving
Updated automatically every 5 minutes

CS 161 Introduction to Programming and Problem Solving

Credit Hours:

4

Course Coordinator:

Stephanie Allen and Michael Wilson

Course Description:

Introduction to fundamental concepts of computer science. Problem solving, algorithm and program design, data types, loops, control structures, subprograms, and arrays. Learn to write programs in a high level programming language. Surveys current social and ethical aspects of computer science.

Prerequisites:

MTH 111z (recommended)

Goals:

This course introduces input, output, variables, expressions, conditionals, loops, functions, external modules, and arrays–the fundamentals of computer programming. Students design algorithms to solve problems and write code in the Python programming language. Students develop consistent programming style (such as indenting correctly and using small methods or functions with meaningful names) and use documentation standards (such as purpose statements for modules and functions that describe the role of each parameter and the result) to ensure maintainable and readable code.

 

Students follow the software life cycle to analyze, design, develop, and test reliable, modifiable, understandable, and efficient software. Computer ethics, the social impact of computer technology, and the importance of building an inclusive computing culture are emphasized using real-world examples throughout the course.

 

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

  1. Develop algorithms and abstractions to create programs to solve problems
  2. Write programs using coding standards and style guidelines
  3. Independently use variables, input/output, arithmetic expressions, conditionals, and loops to solve problems
  4. Evaluate and test algorithms and programs for correctness
  5. Contribute to an inclusive, safe, collaborative, ethical, and professional computing culture

Rationale:

Technology influences nearly every field of study and impacts almost every aspect of our lives.

The skills required to be a successful computer scientist do not rely on computational knowledge alone. Algorithmic thinking, teamwork, cultural competency, and professional ethics are essential for programming and problem-solving.

Topics:

Textbooks:

Varies by instructor.