|Module Title||CONCEPTS IN PROGRAMMING|
|Co-ordinator||Dr Mark Ratcliffe|
|Mutually Exclusive||CS12220 , CS12230|
|Course delivery||Lecture||30 lectures|
|Seminars / Tutorials||11 tutorials|
|Practical||16 x 2 hours|
|Practicals / Field Days||1 Activity weekend|
|In-course assessment||Best of 2 in-class tests||20%|
|Practical exercise||Regular worksheets with penalties for non-completion|
|Course work||One piece of assessed coursework.||30%|
|Supplementary examination||1.5 Hours Written examination||100%|
This module is designed for students with experience of programming in procedural languages. The material covered will be similar to that in CS12230 but will build on the students' previous computing experience. The practical work associated with the module will help students to become familiar with Java and the development environment offered at Aberystwyth.
Personal transferable skills are an important quality of any software engineer and form an important part of this module.
This module aims to introduce students to the concepts of programming in the large. Though the module revisits the technique of functional decomposition, the main emphasis is placed on object-based design. The Java programming language is used as a basis for illustrating these concepts. The intention of the supervised practical sessions is to enhance the programming skills of participants, giving them practical experience of writing software systems in Java.
Weekly tutorials provide the pastoral support for the first semester and give a forum for discussing the technical aspects of material presented in this module.
The module concentrates on a professional approach to software development. On successful completion of the module, students should:
1. Welcome and preview- 1 Lecture
Introduction to the department and the course.
2. Using the computing facilities at Aberystwyth - 2 Lectures
An overview of the facilities available and how to make the most of them.
3. Modular approaches to software design - 2 Lectures
A recap of functional decomposition; An introduction to object orientated design.
4. Programming in the large - An introduction to Java - 20 Lectures
Software crisis, abstraction, algorithms and programs; Programming constructs, expressions, primitive types, classes and objects; Information hiding; Further object oriented design - inheritance. Robust programs - exceptions.
5. An introduction to Graphical User Interfaces - 4 Lectures
Building on programming skills, this looks at developing graphical front ends to simple software systems.
6. Testing techniques and aids for error detection - 1 Lecture
A recap of the best approaches to testing software systems.
** Recommended Text
S. Heller. (1998) Who's Afraid of Java. AP Professional ISBN 0123391016
Y. Daniel Liang. (1998) An Introduction to Java Programming. Que E&T Series in Programming and Development ISBN 1-57576-548-9
Ivor Horton. (March 1999) Beginning Java 2. Wrox Press Inc ISBN 1861002238
Walter Savitch. (Dec. 1998) Java: An Introduction to Computer Science and Programming. Prentice Hall ISBN 0132874261
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