Skip to main content
UVA
Computer Science
3 credits

UVA CS 1110: Introduction to Programming

CS 1110 is UVA's Python-based introduction to programming, assuming no prior experience. It is the entry point for prospective CS majors, minors, and a wide range of other students, covering variables, control flow, functions, lists and dictionaries, file handling, and basic objects, with weekly labs and programming assignments.

Fennie is independent and not affiliated with University of Virginia. This is an unofficial study guide.

What makes it hard

The opening weeks feel easy, which is the trap: difficulty jumps at functions and again at nested data, and students who coasted have no debugging habits when programs stop working on the first try. Exams require reading and writing code without an interpreter, which exposes anyone who finished assignments by tweaking until the autograder passed.

What you'll cover

  • Python fundamentals and program design
  • Conditionals and loops
  • Functions and decomposition
  • Lists, dictionaries, and strings
  • File input and output
  • Intro to objects

The CS 1110 study guide

How to study for UVA CS 1110, step by step.

  1. 1

    Build a daily coding habit before you need it

    CS 1110's gentle start convinces students they can study weekly; the functions unit corrects them. Twenty minutes of writing real code daily from week one is what keeps the difficulty curve flat.

  2. 2

    Type every example yourself

    Reading working code feels like understanding; producing it is the skill exams test. Re-create lecture examples from a blank file and fix your own errors without peeking.

  3. 3

    Learn to debug deliberately

    Print what variables hold, predict before you run, and read error messages bottom to top. Students who debug by random edits plateau exactly when programs get long enough to need a method.

  4. 4

    Practice tracing code on paper weekly

    Exams ask what code prints and why, with no interpreter to lean on. Hand-trace loops over lists and dictionaries until predicting output is mechanical.

  5. 5

    Treat labs as the weekly difficulty gauge

    If a lab took the whole session plus help, that topic is your week's priority; assignments and exams will assume it. Close the gap the same week, because every unit stacks.

Today

Today's CS 1110 plan

Preview
65 min

What a Fennie Daily Plan looks like for CS 1110. Yours is built from your own syllabus and adapts every day to your deadlines and progress.

0 / 4 done~65m remaining
Keep this plan free

First plan free, no card required. Fennie is independent and unaffiliated with your school.

FAQ

Is CS 1110 at UVA hard?

Not at first, and that's the problem. Difficulty jumps at functions and nested data structures, and students who coasted on the easy weeks have no habits when it does. True beginners who code a little daily do fine; weekly crammers get exposed at the first exam.

Should I take CS 1110 or CS 1111?

CS 1110 assumes zero experience; CS 1111 covers the same ground faster for students with some prior programming. If you've written real code before (a high school course, self-taught projects), 1111 saves you boredom. If you're unsure, 1110 is the safe default and counts identically.

What language does CS 1110 use?

Python. The course covers fundamentals through lists, dictionaries, files, and intro objects, and leads into CS 2100 (Data Structures and Algorithms 1), which transitions to Java, so genuine fluency here matters more than the grade.

More UVA courses