CMU 15-110: Principles of Computing
15-110 is CMU's gentler introduction to computing — Python programming plus computing concepts like data representation, algorithms, and the limits of computation — designed for students who aren't CS majors or who want a runway before 15-112. It's one of the largest courses on campus.
Fennie is independent and not affiliated with Carnegie Mellon University. This is an unofficial study guide.
Build my 15-110 study planWhat makes it hard
Gentler than 112 is not gentle: it's still a CMU course with real programming assignments, weekly checks, and exams that require writing and reading code without a computer. The students who struggle are those who chose 110 expecting a concepts-only course and under-invest in the programming practice the assessments actually test.
What you'll cover
- • Python programming fundamentals
- • Data representation
- • Algorithms and efficiency basics
- • Recursion concepts
- • Data analysis with code
- • Limits of computation
The 15-110 study guide
How to study for CMU 15-110, step by step.
- 1
Accept that it's a programming course
15-110's conceptual units sit on top of real Python. Budget regular coding practice from week one — the exams test producing code, and that skill only comes from writing it.
- 2
Practice in short, frequent sessions
Programming fluency builds through frequency, not duration. Three or four short sessions a week beat one long one, and they keep each week's concepts warm for the next.
- 3
Trace code by hand regularly
Reading code and predicting its output is a tested skill distinct from writing it. Practice tracing loops, conditionals, and recursive examples on paper before each exam.
- 4
Connect the concept units to the code
Data representation and computational limits feel separate from programming but get tested through it. For each concept, work the concrete examples — binary conversions, runtime comparisons — until they're mechanical.
- 5
Use the early easy weeks to get ahead
The difficulty ramps mid-semester when recursion and efficiency arrive. Banking comfort in the early units buys the slack you'll want later.
- 6
Keep the rhythm with Fennie
Upload your 15-110 syllabus and Fennie's Daily Plan schedules short frequent practice sessions paced to the assignment and exam dates, with quizzes generated from the actual course materials. It's free to start.
Start my 15-110 plan free
How Fennie helps with 15-110
Fennie's Daily Plans give 15-110 the short-frequent-sessions structure programming fluency actually needs, paced to the assignment and exam calendar. Chat explains code behavior line by line and connects the concept units to concrete examples, with practice quizzes built from your actual course content.
FAQ
Is 15-110 easier than 15-112?
Yes, deliberately — slower pace, fewer units, more conceptual breadth. But it's still a real CMU programming course with code-writing exams. 'Easier than 112' and 'easy' are different claims; the second one trips people.
Should I take 15-110 or 15-112?
CS majors and anyone confident with prior programming take 112. Students newer to programming, or in majors needing one computing course, often do better starting with 110 — and 110-then-112 is a well-trodden path that loses little time.
Does 15-110 count toward the CS major?
It serves as preparation rather than a core requirement — the major sequence runs through 15-112 and onward. Check your program's current requirements, but think of 110 as the runway, not the runway-skip.
Pass 15-110 with a plan, not a cram
Upload your 15-110 materials and Fennie generates a Daily Plan paced to your deadline — plus chat, flashcards, and quizzes built from the actual course content.
Get started freeMore CMU courses
15-112 — Fundamentals of Programming and Computer Science
15-112 is CMU's famous fast-paced introduction to programming in Python — control flow, functions, data structures, recursion, OOP, and efficiency — ending in an open-ended term project. Its public course website and the related CMU CS Academy platform give it a search footprint far beyond Pittsburgh.
15-122 — Principles of Imperative Computation
15-122 teaches imperative programming with correctness front and center — contracts, loop invariants, and reasoning about code in the C0 teaching language before transitioning to real C — covering data structures from stacks and queues through hash tables, trees, and graphs. It's the second course of the CMU CS core.
15-150 — Principles of Functional Programming
15-150 teaches functional programming in Standard ML — types, recursion and induction, higher-order functions, and reasoning about programs as mathematical objects — alongside 15-122 in the CMU CS core. For most students it's the first time programming and proof become the same activity.
15-213 — Introduction to Computer Systems
15-213 is the famous CS:APP course — data representation, x86-64 assembly, caches, memory, linking, exceptions, virtual memory, and concurrency, taught through the legendary lab sequence (bomb lab, attack lab, cache lab, malloc lab, shell lab, proxy lab). Its textbook and materials are used worldwide, making it one of the most-searched CS courses on the internet.