ICS H32 Fall 2026
Notes and Examples: Python Setup for ICS H32 (Windows)


Making sure these are the right instructions for you

These instructions are for those of you who are running Windows as your operating system. If you're running macOS or Linux instead, you'll want to switch to the macOS version of these instructions.


The ICS H32 development environment

This course is built around the assumption that everyone — students and course staff alike — will be using the same development environment, which is to say that we'll all be using the same versions of the same tools to do our work. That way, everyone is on an equal footing, meaning that when there's a problem, we can rule out causes like "My version of Python doesn't have that function in its standard library" or "My preferred editor is not compatible with your preferred version control system," so we can keep our minds focused on the course material, rather than fighting uphill battles against our tools.

I should point out that this is a normal part of working in a team environment. In a professional setting, it's quite often the case that you won't be able to use only the tools that you prefer, because it's often more important for members of the team to be able to collaborate effectively and quickly than it is to scratch everyone's bespoke tool itches. So, getting used to the idea of rowing in the same direction as everyone else, especially when you're new to a team, is an important step toward being a good teammate.

So, your first order of business is setting up the tools you'll need for your work this quarter. There are three things you'll need to be sure you've installed.

  1. Python 3.14
  2. Git
  3. Visual Studio Code

It's worth following the installation instructions here, rather than just doing your own thing, so that everyone is on the same page.


Step 1: Show file name extensions

The first step is not to install a software package at all, but to reconfigure a Windows default that is fine for everyday users, but very troublesome for those of us who write programs or do other serious work. By default, when Windows displays a list of filenames (e.g., in File Explorer, Windows Explorer, or on the desktop), it hides the "file name extension" (i.e., the part of the filename that follows the last dot), so that a file named alex.txt will simply have its name displayed as alex instead, with an icon used to visually differentiate one "type" of file from another.

This default is fine for casual users, but is certain to cause us problems in this course — and routinely causes problems for students in courses where there is programming involved — so everyone needs to turn this off, which is easy to do:

Seriously! Do this! You'll be very glad you did; as a programmer, filenames and their extensions are often relevant to the work you're doing, so it's important to see filenames as they are.


Step 2: Downloading and installing Python

If you've taken previous coursework in Python, you may already have a version of Python installed on your machine, but it will be important that you use the right version in this course: 3.14. As of this writing, the latest release of Python 3.14 is Python 3.14.7 Windows installer (64-bit), which is available at the following link.

Note, too, that the Microsoft Store has a version of Python available, but you'll generally want to avoid this installation and stick with the one available from python.org linked above.

Before you run this, it's not a bad idea to uninstall any other version you already have installed. While different versions of Python can safely coexist on a system in some cases, they do cause some confusion, so if you don't have a specific reason to maintain multiple versions, it's easiest to keep just one. You can uninstall Python just as you would any other Windows application (e.g., Add/Remove Programs, Programs and Features, etc., depending on your Windows version).

When you run this, there are a few settings worth tweaking in the installer's defaults.

The installation will proceed from there and will probably take a little time to run. When you're done, you can feel free to delete the Python installer you downloaded; you won't need it again.

Verifying that you've installed Python correctly

It's possible that you'll have never used a Command Prompt in Windows before, but we'll have a need for a few command-line skills in this course. You can most easily start a Command Prompt on Windows by holding down the Windows key and pressing R, which will pop up a dialog asking you want you would like to run. Type cmd into the text field click OK.

A Command Prompt offers a way to navigate the files on your storage devices manually, and run programs and other commands by typing their names. For example, there is a command-line version of the Python shell, which we'll be using extensively this quarter. The program is called python.exe, and you can execute it by simply typing its name (and the .exe is not necessary, so you can just type python). Try that now, and, if it works, you'll see this appear in the Command Prompt window.


Python 3.14.7 (tags/v3.14.7:823f032, Aug  5 2026, 10:51:32) [MSC v.1944 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

If so, type quit() and press Enter to stop the Python shell, then close the Command Prompt window; you're good to go and are ready to continue these instructions.

If you see a version that doesn't begin with 3.14, that means you have another version of Python installed and its folder appears earlier in your PATH environment variable than the new one does, or that you've installed a version other that what was described above. If, instead, you see an error message like this (note that it varies a bit from one version of Windows to another):


'python' is not recognized as an internal or external command,
operable program or batch file.

then the likeliest cause is that you didn't ask Python's installer to configure your PATH environment variable correctly. Your easiest solution is to uninstall it, then re-install it by following the instructions above.

Choosing the right version of Python

The version of Python is important to get right. We all need to be on version 3.14 for this course, though it's not important which minor release (e.g., 3.14.7 or 3.14.0) you install. Using any version other than 3.14 exposes you to risks that will interfere with your work and your ability to obtain a high score when we grade it — and note that you bear all of this risk.


Step 3: Downloading and installing Git

The next thing you'll need to install is a version control system called Git, which we'll be using throughout the quarter, which is available at the following link.

That page contains a few different links, but your best bet is the one titled Git for Windows/x64 Setup. Click that link to download the installer.

When you run this, you'll want to tweak the settings a bit, similar to what you did when you installed Python. Being a tool that's used in a lot of heavy-duty and heavily customized development environments, Git's installer asks you to make a lot of choices, but the defaults will mostly be okay. Still, follow along with what's written below and you should be in good shape this quarter.

The installation will proceed from there and will probably take a little time to run. When you're done, you can feel free to delete the Git installer you downloaded; you won't need it again.


Step 4: Downloading and installing Visual Studio Code

Finally, you'll need to install Visual Studio Code, the integrated development environment that we'll be using for our work this quarter.

Underneath where it displays various downloads for Windows, you'll likely want the User Installer for x64. Get that, unless you're sure you want or need something else.

Run the installer that you downloaded, as you normally would. There will be a few questions, for which the defaults will be fine, unless you're sure you want or need something else.

When the installer is finished, it will ask you if you want to launch Visual Studio Code. Go ahead and launch it, because that'll prepare you for the next step.


Step 5: Installing the Visual Studio Code Python extension

Visual Studio Code is a development environment that supports a variety of programming languages, libraries, tools, and so on. Because of the breadth of its abilities, it doesn't include everything in its base installation. Instead, once you've installed it, you can then install extensions into it, which allow you to customize it for your needs.

For our needs, we'll only need one extension: Python (from Microsoft). That includes a handful of things that we'll be needing, and will constitute everything we'll require for our Python development this quarter.

Installing extensions is simple, once you know where to look. Once Visual Studio Code starts up, you should see a column of icons along the left-hand side of the window. Hovering over each reveals a title, which will be things like Explorer and Search. You'll want to find the one titled Extensions and click that, which will reveal the Extensions view.

At the top of that view, where it says Search Extensions in Marketplace, type python. After a short search, you should see a long list of possible extensions — many more than we'll need for our purposes. Of those, one should have the name Python (no more, no less) with the publisher listed underneath as Microsoft. Click the Install button associated with that extension.

Once it's installed, you may need to restart Visual Studio Code, but you're otherwise good to go.


Step 6: Creating an ICS H32 playground

There's one more thing we'll need in order to do our work this quarter. Each time we work on a new project or a new assignment, we'll need a folder or directory, which is the basic unit of organizing work in Visual Studio Code.

Because we'll be doing a lot of experimentation throughout the quarter, it's a good idea for us to all have a place to organize those experiments, so let's start by creating a playground environment. The name might seem silly, but, even as a middle-aged guy, I use environments I call "playgrounds" every day, when I need to quickly verify the behavior of some library function, experiment with a small-picture design idea, or otherwise do something that supports my real work, but would be disruptive to attempt in my broader project until I have a clearer picture of where I'm trying to go. In lecture, I'll be using a playground, as well, so it's not a bad idea for us to all share one. (That's not to say that we'll all have access to the same files, but we'll at least have things organized the same way, configured identically, and so on. If you see me doing something in lecture, you'll be able to do the same thing the same way.)

Setting up a playground is as simple as clicking the link below. You must already have installed both Git and Visual Studio Code before you click it!

Your browser should respond by asking if you want to launch Visual Studio Code. Once you do that, it'll ask you where you want that playground folder to be saved, then open it in Visual Studio Code for you.

You're not quite out of the woods yet. Now that the playground is open in Visual Studio Code, you'll need to allow it to finish its setup. (Don't worry; you'll only need to do this once for your playground, but be aware that you'll need to do this on every subsequent assignment, so it's wise to learn how to do it now.)

Designating your playground folder as "trusted"

For security reasons, a newly opened folder in Visual Studio Code is not considered "trusted," which means that there are significant limitations on what you're allowed to do with it. We'll need to lift those restrictions, though. At the top of the Visual Studio Code window, you'll likely see a message saying that "Restricted Mode is intended for safe code browsing. Trust this folder to enable all features." Click the Manage link, which will pop up a dialog offering you the ability to trust it. Click the Trust button, close the dialog, and your playground is now trusted.

It's been my recent experience that Visual Studio Code won't always pick up the settings specified in an already-opened folder when it's initially designated as trusted. At this point in the process, I'll generally close the folder and then re-open it, just to be sure all of the Visual Studio Code settings are picked up properly.

Running the setup script

Finally, you'll need to run a script that completes a few setup tasks, to finally make your playground ready for use.

From the Terminal menu, select New Terminal, which will summon a terminal window. You'll see a prompt, which displays (among other things) the location of your playground folder.

At that prompt, type .\setup.bat (the dots and the backslash are both important here) and hit the Enter key. You'll see some output describing a few final setup tasks being undertaken by that script. When it finishes, you'll see another prompt, at which point you'll know it's done. Type exit and hit the Enter key, which will close that terminal window.

That's it. You're ready to go!


A brief tour of the playground

Now that you've got a complete playground folder, let's take a look at what's in it. If you don't see the Explorer view along the left-hand side, click the Explorer button (it looks like a slightly folded piece of paper) at the top-left.


Writing some Python code and interacting with it

In the Explorer view, right-click the src directory and select New File.... You'll see a new entry appear underneath src, waiting for you to give it a name. Type the name hello.py, then hit the Enter key. A new file hello.py will open and you'll now be able to edit it. Write this code and save it into that file.


# Let's say hello to all three of my boys!
print('Hello Boo!')
print('Hello Chancy!')
print('Hello Churro!')

count = 3

Trying it out

From the Terminal menu, select New Terminal. A new terminal window will appear, with the virtual environment already activated. To run a Python interactive shell with your new module loaded into it, type python -i -m hello and hit the Enter key. (If, instead, you want to execute a module and not follow it up with an interactive shell, you'd use python -m hello instead.)

You'll now see the program's output, followed by a standard-looking >>> Python shell prompt, with which you can interact with the code you just wrote.


    Hello Boo!
    Hello Chancy!
    Hello Churro!
>>> print(count)
    3

Typing quit() at the prompt closes the Python shell and takes you back to a terminal prompt.