Software Name | Link | Description |
---|---|---|
Git | git-scm.com | Git is a tool for keeping track of various versions of your code. We will use this tool at its most basic for submitting projects. The instructions link includes a link to the download for both Mac and Windows as well as instructions on setting it up. |
GitHub Desktop | desktop.github.com | Git is known as a command-line tooling, meaning you have to use your Terminal or Command Prompt to use it. To make thing simpler, there is a desktop version with a graphical user interface. Download and instructions for set up are available at the link. You will likely be prompted to login to GitHub.com when you open it for the first time, this will be necessary for the class. Jump down to setting up a GitHub account for details. |
Python 3 (Windows) | python | Click the link and it should prompt you to download the Python 3 installer. Follow the onscreen instructions to get it set up. |
Python 3 (Mac) | See the instructions below for setting up Python 3 on a Mac | |
An IDE | An IDE is an Integrated Development Environment, basically a super fancy text editor for writing code. There are many options available. For this course I recommend using Visual Studio Code, however like the software world, I won't dictate your editor. If you have something you like better, use it. |
GitHub is a tool for collaborating, storing, and sharing code. We will use this tool throughout the class to upload our projects.
- Head over to GitHub.com
- Set a username, email address, and password
- On the next page select the free subscription and leave
Help me set up an organization next
unchecked. It is up to you on whether or not you wish to receive emails from GitHub. - The next step will simply have you fill out more information about your student's level of experience. This is not necessary and can be skipped, though if you wish to fill it out, feel free.
- With all of that complete please send me your student's GitHub username.
So Mac's are pretty neat in that they come preinstalled with Python, Ruby, Swift, and several other languages out of the box (how neat is that). Unfortunately, most Macs are shipped with Python 2.7 instead of Python 3 (which we're using for the class). There is a fairly detailed guide on how to do this here, but if you've never read a technical installation guide like this before or used the Mac terminal, I wanted to point a few things out so you won't get lost.
Firstly, in the guide they refer to the Terminal. You can get to this a number of ways.
One is by using the shortcut Cmd ⌘ + Space
to open the Spotlight Search. Simply type in "Terminal" and hit enter when you see this result:
The other is to navigate to Application > Utilities > Terminal
in Finder.
In the guide there are a number of gray boxes it will expect you to copy and paste into the Terminal. Note that in any examples where there is a $
at the start of the line you are expected to skip the dollar sign. In addition, in cases where there are multiple lines, only the line with the dollar sign ($
) should be copy and pasted.
Finally, don't worry about the section on setting up virtual environments, that will not be necessary in this class.
Here is a list of sites that I either know we will use or expect we may use during the class. If you are using any sort of content moderation tool, these sites will be whitelisted to ensure we can all access them during class if necessary. If I discover a need for anything not on this list midway through the semester, I will reach out via email to let you know of additions ahead of time.
Site | Purpose |
---|---|
https://stackoverflow.com/ | This is a site for getting answers from the programming community. While your students should not need to ask any questions (or have an account) on this site during the class, there have been thousands of questions already answered. This is a tool we use daily in the software world. |
https://github.com/ | We will use this regularly for uploading code for projects |
https://gist.github.com | Occasionally I will use this site for sharing documents with the class or parents. |
https://pypi.org/ | PyPI is a site where Python code is packaged and shared for free among developers. While we are unlikely to use this at all this semester, tending to rely on built in tools to Python, your student may wish to go beyond what we do in class and require some addtional tools. |
https://docs.python.org/ | This is the official documentation site for Python and will be very important for your students both in class and throughout the week to answer questions about how various pieces of the software work. |
https://www.w3schools.com/ | W3 Schools is a web programming tutorial and documentation site. |
https://repl.it/ | This is an online code editor/code runner that we will use for a variety of assignments throughout the semester |
*.repl.run | |
eval.repl.it | |
repl.co |