← Schedule

HW 0: Setup & First Program

CMSC 141: Introduction to Python

This assignment gets your tools working and walks you through the routine you will repeat all term: open a terminal, get the course files, edit a file, run it, and turn it in. Almost none of it is about Python. It is about setup. Time spent here pays off every week after.

The writeup is long because it spells everything out. Work through the sections in order, plan on a couple of sittings, and ask for help the moment something on your screen does not match what you see here. Do not skip ahead.

The tools you will use

You do not need to understand any of these deeply yet. You just need to know what each one is for.

ToolWhat it is for
Linux / the terminalA window where you type commands instead of clicking. How you run programs and move around your files.
VSCodiumThe editor where you write your Python. A free, telemetry-free build of VS Code.
python3 and ipython3The programs that run your code. ipython3 is a friendlier version for trying things out.
uvKeeps everyone on the same Python setup and manages each assignment's tools.
git and GitHubTracks your files and moves them between your laptop and GitHub. How you pick up assignments and turn them in.
pytestRuns automatic checks on your code. You will meet it in a later assignment, so ignore it for now.
pylintFlags likely mistakes and style problems. It shows up later in the term.
GradescopeThe site where you submit your work and get feedback.

What to do, in order

Work through these sections from top to bottom. The first three teach the tools; the last three set up your repository, install Python, and walk you through the assignment itself.

Grading

This assignment is scored for completeness, not correctness. To earn a Satisfactory, you must:

Skip one of these and you earn Needs Improvement. Skip more than two and you earn Unsatisfactory. None of this is hard; it just takes following the steps in order.

Stuck on any step? That is exactly what office hours are for. Bring your laptop and come by.