Programming Methodology in Python

CS106AP

Stanford School of Engineering


Computer Science: Programming Methodology in Python

Description

This course introduces computer science for students new to programming. We will explore the engineering of computer applications in Python, a programming language popular for general software engineering and data science. In addition to teaching the basics of coding, we will cover decomposition, abstraction, and testing and debugging skills. We'll focus particularly on learning problem-solving through programming techniques and on practicing good coding style. The course includes both lecture and section components, and students will get the opportunity not only to walk through guided exercises but also to complete hands-on assignments independently.

What you will learn

  • The core features of Python, a popular programming language
  • The basics of programming to prepare you for more advanced courses
  • How learning comes with lots of practice with breaking down problems
  • How to have good programming style

Instructor(s)

  • Sonja Johnson-Yu
  • Kylie Jue

Prerequisites

No prior programming experience required.

Topics include

  • Variables, functions, and control flow
  • Data structures such as lists and dictionaries
  • Logic, decomposition, and whole-program structure
  • Debugging and testing skills
  • More advanced topics including comprehensions, classes, and modules