Software and tools
This course uses a variety of tools, as each one is better suited to different tasks. To avoid confusion, here's an outline of the different systems we use and where.
- dwa15.com (You are here): This is your homebase for this course; includes all course details and lecture notes.
- Piazza: Course forum
- Slack: Course chat for connecting with your classmates and TA groups in real-time.
- Canvas: Quizzes, grades, access to lecture videos.
- Email: For private communication with instructor and TAs regarding grades, personal issues, etc.
Instruction in this course accommodates Mac OS and Windows.
Unix-y users are allowed to take the course, but must be prepared to do a considerable amount of independent legwork for the system related instructions given at the beginning of the course. Every semester we typically have a small minority 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 hit a dead-end if you attempt this course using lab or other public computers.
Code Editors You can use whatever code editor you prefer, the following are just suggestions if you don't already have a favorite:
- (Mac/PC) Atom (This is what you'll see me use in lecture)
- (Mac/PC) PHPStorm (You can apply for a free student license here)
These are the command line programs we support 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).
These are the local servers we'll support in this course:
This is the live server we'll support in this course:
Choosing to use other tools, languages or services.
In this course we often get questions about using different tools, languages 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?
The policy on this is always the same: we recommend you stick with the tools we suggest, but if you go off-course, you do so at your own risk.
It would be to your advantage to stick with our suggestions as that's what the lectures will pull from, that's what the notes are on, and that's what the teaching team is trained in. Furthermore, our suggestions have been tested to make sure they accommodate all the goals we have in this course. We'd like to avoid situations where students start off with a piece of 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, we can provide more cohesive instruction and most efficiently help everyone.