|Module Title||INTRODUCTION TO PROGRAMMING|
|Co-ordinator||Dr Mark Ratcliffe|
|Mutually Exclusive||CS12320 , CS12220 , Previous high level programming experience|
|Course delivery||Lecture||42 lectures|
|Workshop||11 x 1hr|
|Practical||11 x 2hours|
|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 introduces students to the basic concepts of programming in the context of a professional approach to software development. The design of software using hierarchical decomposition and its subsequent implementation using the Java programming language is fundamental to the module. The practical work associated with the module will enable students to learn how to edit, compile, run and test simple programs in Java. The module is intended for students with little, if any, previous programming experience.
This module aims to introduce students to the idea of problem solving and algorithm design together with subsequent implementation using the programming language Java. Emphasis is placed on distinguishing between the design of a software product and its implementation. The intention of the supervised practical sessions is to develop the programming skills of participants.
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. Management Issues and Professional Conduct - 1 Lecture
The growing role of computing and software. The need for software engineering and professionalism.
3. Computer system appreciation - 2 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.
4. Representation of designs - 3 Lectures
Looking at the way in which designs can be illustrated using UML.
5. Programming in the large - An introduction to Java - 33 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.
6. Testing - 2 Lectures
Techniques and aids for error detection.
7. Personal Communications Skills - 1 Weekend
Team roles; Belbin methodology and self assessment. Interpersonal skills - achieved in associated Team Skills weekends.
** Recommended Text
S. Heller. (1998) Who's Afraid of Java. AP Professional ISBN 0123391016
Y. Daniel Liang. (1998) An Introduction to Java Programming. 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 HorstMann. (2000) Computing Concepts with Java 2 Essentials. John Wiley ISBN 0471 346098
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..