COMS10012

Software Tools

Unit Organisation

Timetable

This unit runs in TB2 2023-24 (Spring 2024) along similar principles to Mathematics A and B: there is one lab a week and online materials to support it, a mandatory attendance hurdle and a final exam.

We have the computer lab MVB 2.11 booked for Fridays, 11:00-14:00.

This applies all weeks except Week 18 (reading week). In Week 24, we still have the lab booked but there is no new material (revision week), we’ll just hold a drop-in.

During these booked hours, you can ask anyone not taking this unit to leave the room if you need a seat/computer.

The unit has a Teams page, to which you should already have access. Teams will be the best place to ask questions about the unit and its content – please prefer this to emailing lecturers directly. If you ask on Teams then lecturers can reply once and everyone can see the answer.

Lectures that introduce the topics for each week will take place in Phys 1.11 on Tuesdays, from 11:00-12:00. These are not mandatory in the sense that they do not count for attendance, and there is no set content. We may demonstrate or elaborate upon content from the workbooks, but there will be no assessed material presented only in these sessions.

Materials

The unit materials for part 1 and part 2 are stable in the sense that there should be at most minor bug fixes and reorganisations. The schedule of labs is as follows:

Week Lab
13 POSIX Systems
14 Git
15 Shell scripts & Build Tools
16 Debugging
17 Databases
18 No Workshops
19 The Web
20 Stylesheets
21 Javascript
22 Webscraping
23 Practical encryption
24 Revision Week

The unit is divided into two conceptual parts, separated from each other by the reading week. Weeks 13-17 correspond to the part 1 exercises which primarily relate to the POSIX environment, software development tools, and databases. Weeks 19-23 cover the part 2 exercises, which introduce you to a range of web technologies.

The first page for each activity contains links to the videos, slides, or readings for the activity that you are expected to watch or read before coming to the lab. In the lab itself, you should focus on tackling the exercises, though asking questions about the material is also fine. Some lab exercises involve group work where there is a good reason for it – for example, to practice working as a team with a git repository.

This unit is not driven by lectures that you are expected to memorise details from, but by exercises which you carry out in the lab sessions with our support – the lectures and intro videos are just one part of that support, to introduce the concepts you’ll be working with in the exercises. If you want to do well on the exam, we recommend you focus on engaging with the exercises and trying to get a hands-on understanding of the many different tools and technologies this course will survey.

One of the most common pieces of student feedback about recorded content is that students would like materials out one week before they need to be used in a lab. We will try and implement this as far as possible for this unit: the materials for Part 1 are all available from the start of term, we aim to keep all the content available in a similar timeframe, and each intro video comes with its length listed in a table so you can plan when you are going to watch them.

This preparation also means the unit should be able to continue to run even if national strike action or other disruptions affect teaching – in this case you might miss out on some support but you will still be able to continue working independently.