What Friendship CS3216 is all about

In a nutshell: I have not taken

  • CS2103, yet I’m the team project lead.
  • CS2106, yet I’m the doing sysadmin tasks and setting up the operating system.
  • CS2105, yet I’m in charge of the server
  • CS2107, yet I’m in charge of security

This is absolutely terrifying and amazing at the same time.

It’s been a while since I’ve had so many ‘never had I ever’s in such a short period of time. Never have I created production quality Python or Django code. Never have I setup a server from a fresh installation of Ubuntu and configured nginx to be a reverse proxy for a web application


Another perspective. I’m taking CS2103 Software Engineering at the same time. In the first two weeks of CS2103, I’ve had to

  • Set up and install Eclipse
  • Run a simple find-and-replace on a piece of code
  • Complete two lecture quizzes. It was sufficiently boring that I wrote a small script to do my quizzes for me instead.
  • Fixed a bug in the first tutorial’s code and pushed it to the lecturer’s repo

Compare that to CS3216 where we had

  • Completed ideation, provisioned a server, purchased a domain name and configured the server
  • Finished the mid-assignment report
  • Pushed code into the repo and deploy with Fabric
  • Started working on the working prototype for the idea
  • Sketch out and implement the database schema for the application
  • Work on the user stories and UX for the application

Oh, and did I mention we pivoted with 30 hours left before the mid-assignment submission, so I had to do the whole setup process all over again to get the site up and running before the mid-assignment submission?

This module is absolutely insane, and I love every second of it.