Welcome to Structured Programming 2016!

You should find all the information you need on this web site, and on the Piazza forum, which you’ll be invited to join in week one.

This course has three broad foci:

  • core computer science, such as data structures, programming language fundamentals, complexity, as well as some history;
  • software development skills, including learning the Java programming language, learning to use a distributed version control system and an integrated development environment;
  • software engineering, including classic concepts in software engineering and exposure to current practice.

The course is fast paced, particularly during the first four to five weeks (please carefully read the notes on week one below). However, I hope that you find this course to be very rewarding. Each student who completes this course should walk away with a great sense of satisfaction in completing your project, having learned a lot, and having mastered a number of very important software development skills along the way.

Week One

Week one is very important in this course. It is essential that you complete Lab 1, including setup of your own computer if you intend to use one. A step-by-step video shows you how to complete lab 1. You will not be enrolled in a lab group during week one, but you may attend any scheduled lab time in week one. These are:

  • Tuesday 11-1pm (N115,N116), 1-3pm (N114,N115,N116) and 3-5pm (N115,N116)
  • Wednesday 9-11noon (N112,N114), 12-2pm (N112)
  • Thursday 9-11am (N115,N116), 11-1pm (N115,N116, N114), 4pm-6 (N115,N116), 4-6pm (N115)


Our lectures are scheduled as follows:

It is very important that you understand how the course content will be delivered. First, the core content will be available in pdfs ahead of time. Second, during our allotted lecture times I will work thorugh the material, focusing heavily on problem solving and practical use of the tools you are expected to master. I will also be asking very simple quiz questions in lectures throughout semester via Piazza. So, at each lecture you will have the opportunity to see concepts translated to practice in the same environment that you are expected to use, and will have an opportunity to engage through simple quiz questions. The live lectures will also be recorded and made available to you on this web page alongside the other material.

It is up to you to make the most of the resources I am delivering to you. Above all, I highly recommend engaging with the material. Unless you do this, you will struggle. By far the best way to do it is to be an active participant in the lectures.

Assessment and Administrative Overview

A draft copy of the course’s administrative overview is available here. This will be made final early in the semester.

Individual Assignment

At the start of the semester you will complete a small individual assignment. All students should be able to complete four out of five parts of the assignment. The fifth part is more advanced. You should not feel disappointed if you decide not to spend time on the fifth stage.

Group Assignment

At the center of the course is a large group project, which you will complete in groups of three. The lecture and lab material is paced around ensuring you have the skills to complete the project on schedule.

Mid-Semester Exam

There will be a short mid-semester exam on Monday week 7, at 5pm. The exam will be electronic. Details will be available in week 4.


This class depends entirely on engagement from you. You will profit because you’ll enjoy the class a great deal more, and you’ll undoubtably see your engagement reflected in your final mark. Some students need a nudge, and in deference to them, this class has 5% of the marks attached to engagment (this comes from participation in your lab, engagement on the piazza forum and engagement in in-lecture quizes).

Practitioner Cameos

In the second part of the semester, you will have the opportunity to meet and interact with guest lecturers. Make the most of these opportunities.

You should find all course materials available from this web site.

Updated:  04 May 2017/ Responsible Officer:  Head of School/ Page Contact:  Steve Blackburn