Computer Science 1 (Python)¶
The first programming course — from "what is a computer program?" all the way to writing real Python with functions, classes, and your first real algorithms. No prior experience and no math background required. We start from zero and build up.
Brand new? Do this first
Install Python, then come back.
What this course covers¶
Designed to be portable (a strong CS1 anywhere), aligned to recognized CS1 outcomes — ABET CAC and ACM/IEEE-CS CS2023 — and to MSU Denver's CS 1050 course objectives,1 and built to set you up for CS 2 (data structures). Highlights:
- Values, types, variables, input/output
- Decisions and loops
- Strings, lists, dictionaries — and how mutability & aliasing really work
- Functions, decomposition, scope
- Classes & objects (and intro inheritance)
- Recursion
- Searching, sorting, and an intro to algorithmic complexity (Big-O)
- A running thread on testing/debugging and clear technical writing
How this course works¶
You learn right here on the site — no GitHub or downloads required. Lecture articles, explanations, and assignment prompts are published as readable pages, unit by unit, as the course is built in public. Follow along on the blog.
When you're ready to write code, the runnable files (starter code, examples, tests) live in the open repository — grab them as a simple ZIP, no account or Git needed. New to that? See Using GitHub.
Solution keys live in a separate private repo (academic integrity). Instructors can request access.
Textbook¶
Taught alongside John Zelle's Python Programming: An Introduction to Computer Science (4th ed.). The course references it by chapter and never reproduces it — bring your own copy for the companion reading.
Please buy it and support the author — independent authors and small publishers are how good, affordable CS textbooks keep existing.
- 4th edition (recommended, current): get a copy
- 3rd edition (budget option): get a copy — cheaper used; a few Python references are slightly dated, but the concepts hold up fine for this course.
You can also check your library, or buy direct from the publisher — whatever gets the book in your hands.
A note on the book links
The Amazon links above are affiliate links: if you buy through them, Dakota Learns may earn a small commission at no extra cost to you. It helps keep this work free. You're welcome to search for the book yourself instead — same book, your choice.
-
These are independent materials, aligned to MSU Denver's CS 1050 course objectives for portability — not affiliated with, endorsed by, or sponsored by MSU Denver. MSU Denver course codes are referenced for alignment only. See the Disclaimers. ↩