Skip to content

CS 1050 — Computer Science 1 (Python)

The first programming course: from "what is a computer program?" to writing real Python with functions, classes, and basic algorithms. No prior experience or math background required.

Brand new? Do this first

Install Python, then come back.

About the name

"CS 1050" is referenced for curriculum alignment with MSU Denver's course objectives. These are independent materials — not affiliated with, endorsed by, or sponsored by MSU Denver.

What this course covers

Designed to be portable (a strong CS1 anywhere), aligned to MSU Denver's course objectives, ABET CAC outcomes, and ACM/IEEE-CS CS2023 — 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.

Code files (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.