Skip to main content

Unit information: Software Tools in 2021/22

Unit name Software Tools
Unit code COMS10012
Credit points 20
Level of study C/4
Teaching block(s) Teaching Block 2 (weeks 13 - 24)
Unit director Dr. Bernhard
Open unit status Not open

COMS10016 Imperative and Functional Programming

COMS10015 Computer Architecture


COMS10017 Object-Oriented Programming and Algorithms I

School/department Department of Computer Science
Faculty Faculty of Engineering


This unit prepares students for their Software Product Engineering unit in Year 2, where they work in groups to create software that solves a problem for a real client. In this unit, students will learn a collection of tools and techniques individually, with the aim of integrating them into a whole product in Year 2.

In particular, we focus on the following areas:

  • Effective software development workflow and associated tools, for example the command line, version control, build and dependency management systems.
  • Development tools, for example editors and integrated development environments, compilers and linkers, debuggers and profilers.
  • Effective development techniques, for example unit and integration testing, static analysis, continuous integration and deployment.
  • Relational databases and the SQL language.
  • The web: principles, protocols and languages (HTTP, REST; HTML, CSS), architecture of web applications.
  • The cloud: what it is, how to use it, overview and features of one or more cloud providers.

This unit builds on and complements the programming units and their teaching of imperative, functional and object-oriented programming.

Intended learning outcomes

After completing this unit, students will be able to:

  1. Use professional software development tools and workflows.
  2. Automate the process of building and testing your software.
  3. Improve the quality of your own software through methods including debugging and testing.
  4. Develop web-based, data-driven applications.
  5. Apply principles and practices of database design.
  6. Employ relevant database technologies.
  7. Identify and compare the features of cloud computing systems.

Teaching details

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities and self-directed exercises.

Assessment Details

Exam (Summer, 100%)

Attending at least 75% of the labs and engaging with the lab work is a “must pass” hurdle for this unit.


If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. COMS10012).