Github: Every student is required to have a Github account. Because Github is free to use for public repositories (which we’ll use in this course) there is no need to have a paid Github plan if you don’t already have one.
DigitalOcean: In this course we’ll use DigitalOcean as our production server provider. Their lowest tier server (aka Droplet) costs $5/month and will be sufficient for our needs. You will need to maintain this server for the duration of the semester.
If this cost is prohibitive, you can sign up for the Github Education Student Developer Pack (SDP) whch will give you $50 in DigitalOcean credits. The SDP has to be approved, so sign up early to avoid missing any deadlines at the start of the semester.
While you can create your DigitalOcean account now, you should not create any Droplets until instructions are provided in lecture.
If you already have a server provider you will still need to use DigitalOcean, for the reasons listed below under Choosing to use other tools, languages or services.
Instruction in this course accommodates Mac OS and Windows.
Unix-y users are allowed to take the course, but must be prepared to do independent legwork for the system related instructions given at the beginning of the course. Every semester we typically have a handful of Unix users who we encourage to work together to help one another out.
Because we work with a lot of different software packages in this course, it is expected that you will be able to work on a machine where you have Administrative Privileges. Given this requirement, you will be unable to complete this course using lab or other public computers.
In lecture videos, you will see me use the (free) code editor VSCode.
VSCode can be optimized for working with the languages/tools we’ll use in this course. That being said, it is not a requirement that you use VSCode if you already have a preferred editor and you feel it serves your purposes for this course.
Early in the semester, I will demonstrate some useful features in VSCode and you may use this information to decide whether you’d like to use VSCode or stick with your preferred editor.
These are the command line programs supported in this course:
- (Mac) Terminal (Installed on Macs by default, no need to download anything)
- (PC) Cmder (We’ll be using a customized version for the class so do not download the one from Cmder directly; I’ll explain more in lecture).
For local servers well use XAMPP.
Other tools or services
Students often ask about using different tools or services than what is suggested in the curriculum.
- I already have WAMP on my PC, do I have to use XAMPP?
- I already have a VPS from AWS, do I have to use DigitalOcean?
My policy on this: I strongly recommend you stick with the tools I suggest; if you go off-course, you do so at your own risk.
It would be to your advantage to stick with my suggestions as that’s what the lectures/notes will pull from. Furthermore, my suggestions have been tested to make sure they accommodate all the goals we have in this course. I’d like to avoid situations where students start off with software that works for tasks in Week 1 and 2, only to find out that something you need to accomplish in Week 8 can’t be done.
Instructions for different platforms can vary greatly, and it is impossible to support all options, especially in a large course. By sticking with set recommendations, I can provide more cohesive instruction and most efficiently help everyone.