Course Title: Software Systems Engineering 4

Part A: Course Overview

Course Title: Software Systems Engineering 4

Credit Points: 12.00

Course Code




Learning Mode

Teaching Period(s)


City Campus


125H Electrical & Computer Engineering


Sem 1 2006,
Sem 1 2007

Course Coordinator: Pj Radcliffe

Course Coordinator Phone: Please email.

Course Coordinator Email:

Pre-requisite Courses and Assumed Knowledge and Capabilities

The student must be familiar with the Linux command line and GNOME or KDE desktop. 
Some experience with C or C++ is essential.

Course Description

This course has three main components.

  • Programming under Linux which examines console and GUI programming under Linux for engineering applications.
    Special emphasis is placed on specification reading, testing methodologies and hardware interface.
  • An analysis and design method called Data Flow Diagrams ( DFD) are briefly introduced and explained. 
    Students will be expected to analyse engineering systems using DFDs.
  • Software and project estimation : the skills and tools needed to forward estimate Dollars, Delivery time, and Defects on software projects. 
    This is an essential skill for any technology manager.

Objectives/Learning Outcomes/Capability Development

This course will build several key capabilities- 

  • How to read a specification to identify exactly what is required, identify problem specifications and negotiate a solution.
  • How to create and apply tests that will thoroughly test a program.
  • How to write command line Linux programs and interface with the Linux API.
  • How to write GUIs under Linux and interface with hardware.

Overview of Learning Activities

Key learning activities include-

  • Writing Linux command line programs are are tested by an automatic testing program with a large range of vectors.
  • Writing Linux GUI programs that interface with hardware.
  • Preparing for the written exam by preparing 8 pages of handwritten notes.

Overview of Learning Resources

The main resources are the lecture notes available from the bookshop and the Linux CDROMs available from the lecturer.
There may also be useful material in the course directory on the ECE S:, get this material and read it ASAP.
Please obtain or copy these items before the first lecture if possible.

The lecture notes contain many web references which students will need to visit.

Overview of Assessment

Assessment will consist of-

  • Two Linux command line assignments where students must exactly satisfy a specification and ensure that all errors are detected and reported as requested in the specification. The most difficult task is the specification analysis not the programming! Lectures will discuss the issues and problems that students will face.
  • One project will require students to develop a Linux GUI program that interfaces with hardware. Students should specify a project to help their job interview and/or develop and area of interest. All projects must be approved by the lecturer. Many students will develop significant hardware though by consultation with the lecturer other projects may be negotiated.
  • One written exam will test understand of key knowledge, concepts and methods.
  • One lab exam will be a cut down version of the assignments, though with a different problem statement.