We ask you to use cloud-based technologies for the projects, and the instructions are written assuming their use. You can work on the project using your own machine, or some other environment. However, the course staff can only support the enviroment we are providing.
The staff has worked to setup Google Cloud credits for you, so you get experience working with the same cloud infrastructure that real companies use. Part 2 describes how to set this up. We will provide the credits after the proposals are submitted.
One drawback of using a cloud computing platform is that it is difficult to open GUI text editors such as Sublime Text to write your code. We recommend setting up a version control system for your project, such as git on GitHub, so your team can share code. This way, you can code on your desktop, commit your changes, and pull the updated changes on your cloud virtual machine.
We will use the Flask Python webserver in this course. It is a lightweight webserver that requires a minimal amount of understanding of how the webserver framework is implemented.
To use it, follow the steps in Python Flask Skeleton for Google App Engine to create Python applications using the Flask framework on App Engine.
We strongly recommend reading the following documentations:
- General Flask Documentation
- Jinja Templates: this makes it easy to send data (e.g., arrays, dictionaries) to your HTML code and dynamically render them.
If you would like to use Columbia's unix machines for this course, you will need a CS account. You can open one from on the CRF webpage: and choose the appropriate "student" category as the account type
There is a $50 charge to open a CS account. Please refer to CRF's homepage for details on infrastructure and policies of the CS department.