“Scientists investigate that which already is; Engineers create that which has never been.”

Albert Einstein

Why Study Programming?

As Albert Einstein noted, engineers think creatively to solve problems using the mental and physical tools at their disposal. Programming is now an essential skillset that comes with its own extensive box of tools. It is hard to imagine embarking on any engineering project nowadays without using software to measure, analyse, control and provide feedback and it comes as no surprise that the average car today contains over 100 million lines of code. Almost everything around us from heating control systems to heart rate monitors relies on software for its operation.

What will you learn?

The main aim of this group of modules is to introduce elementary programming concepts using Java and to illustrate how to design and develop applications. The beauty of Java is that it is probably one of the most widely used programming languages today, found on every type of platform from embedded devices and mobile phones to computer games and on websites. Students will learn how to design and deploy their own applications on android phones and tablets and on websites.


Module 1 (Year 2, Term 2) – Introduction to Programming

This module is an introductory course designed to take students through the basic principles of computer programming using Java. Most modern programming languages are based on the same, simple control structures, namely: sequence, loops, selection and functions. Students will learn how to go from a textual problem description to a computer program built from these elementary building blocks. Towards the end of the course students will design and develop applications on an Android platform. This course is intensely practical in nature and students will complete a programming project as part of the module.

Module Outline – Introduction to Programming

Module 2 (Year 3, Term 1) – Web Development

The second module in this series builds on the programming skills developed in the first module and focusses on deploying web-based applications. Students will learn about the three core elements that make up any web site: the part that the user sees, a set of web pages, the application logic behind the web pages and the backend database where the data is stored. This course is also heavily practical and students will complete a programming project as part of the module.

Module Outline – Web Development

Module 3 (Year 3, Term 2) – Systems Engineering

Engineers are familiar with the need to specify plans and designs using different types of engineering drawings: an architect creates floor plans for a new building and an electronic engineer produces a schematic for boards. Just how do you specify a software design and how do users, or customers explain what they want? In this course students will learn how to use industry recognised techniques to capture and prioritise requirements and to use this information to plan software projects in an efficient and effective way. Students will also learn how to model the design of an application from inception through to deployment. As with the other modules, this course is practical in nature and students are expected to complete a software application design project.

Module Outline – Systems Engineering


This Minor cannot be selected by students in the Computer Science Programme or the Electronic & Electrical Engineering Programme.

Lead Academic

Ms Rae Harbird
Dept Computer Science
Email: ku.ca1540031969.lcu@1540031969dribr1540031969ah.r1540031969

Choose your IEP Minor

Please select your preferred Minor via the IEP Minors Moodle Poll