COMS10012

Software Tools

Unit Contents and Learning Outcomes

COMS10012 prepares you for your second-year COMS20006 Software Engineering Project. It builds on first-year imperative programming and object-oriented programming (running in parallel with this unit). The idea is that in first year you learn the individual tools and techniques, and in second year you get the opportunity to apply everything you have learnt to build a real application.

The aim of this unit is that by the end of it, you will be ready to write your first data-backed web application, that is a program with a web-based user interface run by a server that lets you interact with some data in a database. This is the “bread and butter” of many software developer jobs and a skill with which you can deliver a lot of value for clients. The idea is that be the end of this unit, you have not yet written a full application that does something useful (that’s for COMS20006) but you’ve seen most of the individual steps that go into writing and administering such an application.

The topics we will cover in this unit are:

In 2000, Joel Spolsky wrote an article called The Joel Test: 12 Steps to Better Code. Joel’s portfolio includes developing Stack Overflow (the website), Trello and Microsoft Excel so he knows what he’s talking about. (Since it was written in 2000 before git took over the world, it’s not mentioned yet, but version control is point number one.) Software Tools will help you to become a programmer who can do your bit to make your team pass the technical parts of the Joel test.

MIT has a page called the missing semester of your CS education. This is a course containing all those things that you’re expected to know by the end of your CS degree, but are often not taught explicitly - you’re expected to pick them up by your own on the side (hence the “missing” semester). Software Tools covers very similar content: the unit was born out of the idea “we expect our students to know this, some of them don’t, what if we actually teach it?”.

Rachel by the bay is a great Silicon Valley tech blogger, lots of posts about development and bugs and security and corporate culture and POSIX and stuff.