Module Identifier CSM0120  
Module Title INTRODUCTION TO PROGRAMMING  
Academic Year 2000/2001  
Co-ordinator Dr Myra Wilson  
Semester Semester 1  
Course delivery Lecture   45 Hours  
  Workshop   14 Hours  
  Practical   up to 60 hours (plus private study)  
Assessment Assignment   Two practical assignments   50%  
  Assignment   Written assignment   50%  
  Resit assessment   There is no provision for supplementary examinations or external resits.    

General description
There is much more to computing than programming and many graduates from this 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. It also introduces students to the computing environment and other information services available to them in Aberystwyth, and gives them some experience of working in teams.

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.

Learning outcomes
On successful completion of the module, students should:

Syllabus
1. Computer System appreciation - 4 Lectures
Introduction to the basic computer organisation. Emphasis is placed on the relationships between hardware, architecture and software, with reference to the computer systems at Aberystwyth. Using the computing facilities at Aberystwyth.

2. Programming in the large - An introduction to Java - 30 Lectures
Software crisis, abstraction, algorithms and programs. The design of algorithms, object oriented programming and an introduction to Java. Programming constructs, expressions, primitive types, classes and objects. Information hiding. Further object oriented design; inheritance. Robust programs; exceptions.

3. Testing - 2 Lectures
Techniques and aids for error detection.

4. Persistent data - 4 Lectures
Advanced input/output and files. Worked example bringing together file handling and exceptions.

5. Advanced graphical interfaces - 5 Lectures
An introduction to Java's Abstract Window Toolkit (AWT) and its use in developing more attractive user interfaces.

Reading Lists
Books
** Should Be Purchased
Ivor Horton. (1999) Beginning Java 2. Wrox Press Inc. ISBN: 1861002238