Coding Café

Coding Café is a hands-on introductory Python programming course. Students write programs from the ground up, focusing on logic, control flow, data structures, and algorithmic thinking with minimal theoretical overhead. The course prioritizes clarity in problem formulation, code readability, and iterative problem-solving over rote syntax, preparing students for advanced computing courses. Experimentation and ‘fail fast’ iteration are encouraged over memorization; clarity of thinking matters more than syntax perfection.

This course emphasizes experimentation, play, and iteration over memorization. Students are encouraged to explore and fail fast during labs; clarity of thinking matters more than syntax perfection.

Course Overview

Info not available

Learning Objectives

  • Understand the basic syntax and semantics of Python.
  • Apply control structures, including conditionals and loops, to solve computational problems.
  • Write modular programs using functions.
  • Use strings, lists, and dictionaries effectively in basic programs.
  • Design small-scale programs through iterative refinement and testing.

Learning Outcomes

After completing this course, students should be able to:

  • Write Python programs using variables, conditionals, and loops.
  • Decompose a problem and implement modular solutions using functions.
  • Manipulate and process strings and lists in programs.
  • Use a coding editor and terminal, such as IDLE, VS Code, or the terminal, to run code.
  • Use basic Python libraries to simplify or extend program logic.
  • John Guttag, Introduction to Computation and Programming Using Python: With Application to Understanding Data, MIT Press.
  • Al Sweigart, Automate the Boring Stuff with Python (available free online).

Additional resources students may find useful:

  • Python Docs (official)
  • W3Schools Python Tutorial
  • Reddit r/learnpython
  • Reddit r/unix