Module Identifier CO11020  
Module Title INTRODUCTION TO PROGRAMMING  
Academic Year 2002/2003  
Co-ordinator Dr Mora J McCallum  
Semester Available all semesters  
Pre-Requisite Available only to students taking the Diploma/MSc in Computer Science scheme in Singapore.  
Course delivery Other   Contact Hours. 55 hours of contact time; lectures, practicals, workshops. 150 hours of private study, practical work and assesment.  
Assessment 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.    
Further details http://www.aber.ac.uk/compsci/ModuleInfo/CO11020  

Learning outcomes

On successful completion of the module, students should:

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.

Aims

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
environment.

Content

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 Lists

Books
Ivor Horton. (March 1999) Beginning Java 2. Wrox Press Inc ISBN 1861002238
J. M. Bishop. (2001) Java Gently: Programming Principles Explained. 3rd edition. Addison-Wesley Pub Co ISBN: 0201710501
S. Heller. (1998) Who's Afraid of Java. AP Professional ISBN 0123391016
Y. Daniel Liang. (2000) Introduction to Java Programming. 3rd Edition. Prentice Hall ISBN: 013031997X
Walter Savitch. (2000) Java: An Introduction to Computer Science & Programming. 2nd edition. Prentice Hall ISBN: 0130316970
Elliot B. Koffman and Ursula Wolz. (Aug 1998) Problem Solving with Java. Addison-Wesley ISBN 0201357437
Samuel N. Kamin, M. Dennis Mickunas, and Edward M. Reingold. (Nov 1997) An Introduction to Computer Science: Using Java. WCB/McGraw-Hill ISBN 0070342245
Cay Horst Mann. (2000) Computing Concepts with Java 2 Essentials. John Wiley ISBN 0471 346098
John Lewis and William Loftus. (2000) Java Software Solutions. Addison Wesley ISBN 0201 612712
Patrick Henry Winston, Sundar Narasimhan. (2001) On to Java. 3rd edition. Addison-Wesley Pub Co ISBN: 0201725932
Stephen J. Chapman. (1999) Java for Engineers and Scientists . Prentice Hall ISBN: 0139195238
It is considered essential that students buy one of these general texts on Java. Exactly which is left to your own personal preference. Advice will be offered in lectures..