Resources
Getting Started
New to programming entirely? Work through these before (or alongside) the first few weeks of class:
- Hedy — a very gentle introduction to programming
- futurecoder — an interactive, step-by-step Python course
- 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.
- Log in at Calvin’s Coder instance and open a workspace
- Your workspace includes Python and the tools needed for class work
- What is Coder? — remote development environments in a browser
- Tip: your files persist within your workspace — save often and keep your work organized
Python
VS Code
VS Code is a good editor for writing, running, and debugging Python programs.
Debugging Help
- Python Tutor — step through code execution visually
- Common Python errors
- PEP 8 style guide — for readable Python code
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
- Come to class, lab, study sessions, and office hours
- Ask for help early — don’t wait until you’re stuck for hours
Helpful Habits
- Don’t just “get it working” — understand why it works
- Start early; take frequent breaks
- Take small steps (run your code frequently, not just at the end)
- Retry lab and homework exercises later without looking at your prior solution
- Review class materials (POGIL activities, slides, retrieval quizzes)
- Discuss problems with classmates
- Create your own syntax/concept cheat-sheets as you go
- Review quiz and assignment feedback closely
Extra Practice
- Complete “Challenge” exercises in the textbook
- Python practice problems
- More Python practice problems
- 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
Paid
Fun Stuff
Play with tixy — a tiny, playful way to build computational thinking.
Other Interesting Things
- Falsehoods Programmers Believe About Names
- How integers and floats actually work: