Apply Now

ZUG1024 - Java for Engineers

Undergraduate – Module

Refer to the specific census and withdrawal dates for the semester(s) in which this module is offered.


Business, Engineering and Technology


South Africa
On-campus block of classes

  • Semester 1, 2018 (Mainstream Programme)
  • Semester 1, 2019 (Extended Programme)

8 credits, NQF Level 5


This module provides students an overview of programming and its role in problem-solving and strategies for meeting user requirements and for designing solutions to problems. The fundamental programming concepts of the memory model, data types, declarations, expressions and statements, control structures, block structures, modules, parameters and input and output will be applied within the context of objects, attributes, methods, re-use, information-hiding, encapsulation and message-passing. Software engineering topics include maintainability, readability, testing, documentation and modularisation.


On completion of the module, students will be expected to be able to:

1use diagrams to design solutions for programming problems
2apply problem solving strategies
3use pseudo-code to design algorithms
4design object oriented solutions to simple problems using multiple user-defined classes
5edit, compile and execute a computer program
6analyse, explain and debug existing programs
7write a test plan
8produce formal documentation for a program


Coursework assessment: 40%
Examination: 60%

Workload requirements

The module has been designed to provide students with an overview of programming, problem solving, testing and debugging. It explores many fundamental programming concepts with emphasis on applying theoretical knowledge to practical situations.

The module develops attitudes that enable students to adopt a problem-solving approach; recognise the importance of programming and documentation conventions; appreciate quality parameters in program development; accept the code of professional conduct and practice; and act in accordance with best practice, industry standards and professional ethics.

On completion of the module, students will be expected to be able to develop an understanding of the relationship between a problem description and program design; the management of problems using recognised frameworks; the use of design representations; the semantics of imperative programs; the object oriented paradigm as represented by Java; the sequence of steps that a computer takes to translate source code into executable code; primitive data types and basic data structures. There will be a combination of lectures, that will include interactive elements, practical work and tutorial work that will be done on an individual basis. All outcomes will be assessed by means of tutorials, class tests and a final examination.

Chief examiner(s)

Dr Sheelagh Walton