All questions of potential general interest should be posted through Piazza. (You can even ask questions anonymously on Piazza!)

As a courtesy, before asking for help, please check Piazza as well as the pages under “Help” to see if your question has already been addressed previously.

Office Hours

  • Sudeepa Roy: Tuesdays 1:30-3:00 pm, LSRC D325; Mondays and Wednesdays 5:55 pm to 6:30 pm after class, and by appointment
  • Junyang Gao: Mondays 7pm-9pm, LSRC D105
  • Yuhao Wen: Tuesdays 7pm-9pm, LSRC D105
  • Anh Trinh: Wednesdays 7pm-9pm, LSRC D105
  • Wilson Zhang: Thursdays 7pm-9pm, LSRC D105
  • Bill Zhu: Fridays 4:30pm-6:30pm, LSRC D105




  • Creating and Running VM: You should use the standard virtual machine (VM) setup for the course—you’ll get access to all the tools and datasets with minimal effort. The course staff supports the following two options.
    • Use VirtualBox/Vagrant: This option is recommended for Mac users (and adventurous Windows users). Here, the VM will run on your own computer (“host”). It provides the convenience of sharing files between your computer and the VM transparently, as well as a GUI in case you want it.
    • Use Google Cloud: This option is available to everybody. Here, the VM runs remotely on Google Cloud. You should consider this option if you find the VirtualBox option to be too slow on your computer. You might also want to consider this option if you want to access your VM from any computer. However, you won’t be able to work offline without an Internet connection, and it will be difficult to access GUI-based programs on your VM (not needed for this course).
  • Readying VM for the Course
  • Shell Basics



Web application development: