Resources

Getting Started

New to programming entirely? Work through these before (or alongside) the first few weeks of class:

  1. Hedy — a very gentle introduction to programming
  2. futurecoder — an interactive, step-by-step Python course
  3. Kaggle’s Python and pandas tutorials

Development Environment

Coder

The course can use a cloud-based coding environment through Coder, so you do not need to install everything locally to get started.

Python

VS Code

VS Code is a good editor for writing, running, and debugging Python programs.

Debugging Help


How to Succeed in This Class

Starting early is essential to success in programming. Newcomers sometimes think that they can start an assignment at the last minute and do reasonably well. Programming isn’t like writing a paper… In programming, it often either works or it doesn’t.

Attendance & Support

Helpful Habits

Extra Practice

  1. Complete “Challenge” exercises in the textbook
  2. Python practice problems
  3. More Python practice problems
  4. Search online for “Python practice” — there’s no shortage of it

Patterns

Gather, Compute, Use

A simple pattern for structuring small programs:

# Gather
n = int(input("Enter a number: "))
# Compute
result = n * 2
# Use
print("Twice", n, "is", result)

Problem-Solving Strategies

Once, Twice, Many

A strategy for writing loops: solve the problem for one item, then two, then generalize into a loop.

Once — get it working for a single item:

numbers = [5]
total = numbers[0]
print("The sum is", total)

Twice — extend it to two items:

numbers = [5, 7]
total = numbers[0] + numbers[1]
print("The sum is", total)

Many — notice the duplicated pattern, then turn it into a loop:

numbers = [5, 7, 3, 8]
total = 0
for n in numbers:
    total = total + n
print("The sum is", total)

Other Resources

Free

Fun Stuff

Play with tixy — a tiny, playful way to build computational thinking.

Other Interesting Things