Gwybodaeth Modiwlau

Module Identifier
Module Title
Academic Year
Available all semesters
Available only to students taking the Diploma/MSc in Computer Science scheme in Singapore.

Course Delivery

Delivery Type Delivery length / details
Other Contact Hours. 55 hours of contact time; lectures, practicals, workshops. 145 hours of private study, practical work and assessment.


Assessment Type Assessment length / details Proportion
Semester Assessment (A1)  Assignment: Three practical assignments  75%
Semester Assessment (A2)  Assignment: Final written assignment  25%
Supplementary Exam There is no provision for supplementary examinations or resits. 

Learning Outcomes

On successful completion of the module, students should:

  • be able to develop non-trivial Java programs to operate in the environment they have studied (A1);
  • demonstrate an understanding of the nature and need for testing by being able to test the programs they have written (A1);
  • have a mental model of a computer, adequate to understand what is involved in developing programs (A1, A2);
  • understand the concept of an algorithm demonstrated through an ablility to design simple algorithms (A1, A2);
  • demonstrate how software components are combined to form complete systems (A1, A2);
  • demonstrate an understanding of the idea of the software life cycle and the stages within it (A1).

Brief description

There is much more to computing than programming and many graduates from the Diploma/MSc course may never need to do
any programming in their professional careers. Nevertheless, an understanding of programming and, more generally, of the software development process is an important part of the education of anyone who wishes to be an IT professional. Such an understanding needs some practical skill and experience and this is what this module provides.


To make students understand what is involved in software development and to give them the basic skills necessary
to develop well-structured, non-trivial programs in a well-designed programming language using a modern


1. Introduction to Computing and Algorithms
Introduction to the basic computer organisation and environment that will be used for the course. The idea
of an algorithm, abstraction, and programs. The software development life cycle.

2. THE Elements Of A Simple Program
Introduction to Java. Types, variables, statements. Branches and loops. Arrays.

3. Object-Oriented Programming
Introduction to objects and classes. Elementary design of object-oriented systems. Use of standard notation
for expressing designs.

4. Programming In The Large
Object-oriented programming in Java. Classes in Java. Inheritance. Information hiding. Robust programming,
exceptions. Component libraries and their use.

5. Program Testing
Techniques and aids for error detection.

6. Persistent Data
Input/output and files. File handling in Java.

7. Practical Work
In class practical work and assignments.

Reading List

Recommended Text
Nell Dale, Chip Weems, Mark Headington Programming and Problem Solving with Java Jones and Bartlett, Computer Science Primo search
Recommended Consultation
Nell Dale A Laboratory Course for Programming with Java Jones and Bartlett, Computer Science Primo search
Reference Text
David Flanagan (March 2002) Java in a nutshell 4 O'Reilly Primo search


This module is at CQFW Level 4