Computational Thinking and Problem Solving

Getting Started: Understanding and Selecting an IDE

An integrated development environment (IDE) is a software tool that integrates an editor, interpreter, and debugger behind a single application interface. Let's begin by putting these things into everyday terms.

The Editor

If you were writing a theatrical script, you would need something that allows you to put pen to paper. While that might be nothing more than a pen and some paper, it's likely that you'd fire up a word processor. These modern tools support layouts with images, automatically check spelling, and might even suggest the end of your sentences. This is a lot more than you get with a pen and a sheet of paper.

As you work your way through my book, you'll not write theatrical scripts but Python scripts. Although you could try to write Python code in a word processor--a Python script is nothing more than a specially structured text file--the features we want in our Python editor are not the same ones needed to write a theatrical script, a term paper, or an email to grandma. For example,

Hopefully, you're starting to see the benefit of adopting an editor purpose-built for writing Python code. Like a good word processor, a good Python editor will make the process of coding easier.

The Interpreter

Once you've written a theatrical script, you'd then give it to an actor. This actor will read the script and try to perform it. The Python equivalent to this human actor is the Python interpreter. You'll learn more about the Python interpreter and how it operates in the book, but for now, you simply need one.

To choose one, you should know that the Python programming language evolves just like human languages do. For instance, the words that you find in the English dictionary today are not all the same words you'd find in an English dictionary 20 years ago or even last year: Experts are regularly making changes to our dictionary of English words.

While you may be curious about how changes are adopted within the Python programming language, you don't need to understand this process to work through the book's examples. What you do need to know is which version of the Python programming language we'll use.

My book is based on Python release 3.10.x, where the "x" means that you shouldn't be concerned with the last number in the release. Using a release newer than 3.10 should be fine (i.e., the second number is bigger than 10). You should also be able to use releases as far back as 3.8, but definitely don't use any release that starts with a 2.

The Debugger

A debugger is like an aide who helps you understand why your script (theatrical or not) doesn't work as you expected. The book talks a great deal more about debugging, and in Chapter 15, you'll learn how they work so that they don't appear mysterious in any way.

Choosing your IDE

Like many common applications, the first choice you have to make is whether to install the IDE directly on your computer or to use cloud-based one that you access through a web browser.

In the numbered list below, I provide get-started-quick instructions for several popular IDEs. If you don't have a preference, I would recommend starting with the first choice. You can easily move to a more powerful IDE when you're ready.

  1. PythonAnywhere is a simple, cloud-based IDE. Its Beginner plan is free and has sufficient features and capabilities for you to work through all my book's chapters. Click HERE if this is your choice.
  2. Replit is another cloud-based IDE with a free starter account. Their IDE is more sophisticated than PythonAnywhere's, and the projects you create under their starter account are also publicly searchable. Click HERE if this is your choice.
  3. Microsoft's Visual Studio Code is a popular commercial-grade IDE. It is free to download, install, and run on your laptop or desktop machine. There are many excellent online references for how to configure your machine for using this tool to run Python programs. My very short getting-started guide does little more than highlight the correspondence between the book's generic IDE and VS Code, and then tell you how to access the GitHub repositories for the book's code.
  4. Microsoft's Visual Studio (VS) Code for the Web is a cloud-based implementation of Microsoft's VS Code desktop application. While VS Code for the Web is also free, it only allows you read and edit your code. To run and debug your programs, you need an environment like GitHub Codespaces, which is not currently free. Setting up VS Code for the Web with GitHub Codespaces is worthwhile, but not something you should do as a beginner.