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.
You do not need to understand any of these deeply yet. You just need to know what each one is for.
| Tool | What it is for |
|---|---|
| Linux / the terminal | A window where you type commands instead of clicking. How you run programs and move around your files. |
VSCodium | The editor where you write your Python. A free, telemetry-free build of VS Code. |
python3 and ipython3 | The programs that run your code. ipython3 is a friendlier version for trying things out. |
uv | Keeps everyone on the same Python setup and manages each assignment's tools. |
git and GitHub | Tracks your files and moves them between your laptop and GitHub. How you pick up assignments and turn them in. |
pytest | Runs automatic checks on your code. You will meet it in a later assignment, so ignore it for now. |
pylint | Flags likely mistakes and style problems. It shows up later in the term. |
| Gradescope | The site where you submit your work and get feedback. |
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.
This assignment is scored for completeness, not correctness. To earn a Satisfactory, you must:
hw0.py.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.