CMU 15-110: Principles of Computing
15-110 is CMU's gentler introduction to computing, covering Python programming plus computing concepts like data representation, algorithms, and the limits of computation. It's designed for students who aren't CS majors or who want a runway before 15-112, and 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.
What 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.
Today
Today's 15-110 plan
What a Fennie Daily Plan looks like for 15-110. Yours is built from your own syllabus and adapts every day to your deadlines and progress.
First plan free, no card required. Fennie is independent and unaffiliated with your school.
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. The 110-then-112 path is well-trodden and 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.
More CMU courses
15-112: Fundamentals of Programming and Computer Science
15-112 is CMU's famous accelerated 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. It covers data structures from stacks and queues through hash tables, trees, and graphs, and 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. It runs alongside 15-122 in the CMU CS core, and 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.