Module Identifier |
CSM1020 |
Module Title |
INTRODUCTION TO PROGRAMMING |
Academic Year |
2001/2002 |
Co-ordinator |
Mr Christopher Loftus |
Semester |
Available all semesters |
Course delivery |
Contact Hours | 55 Hours plus around 100 hours of selfstudy and practical work |
Assessment |
Course work | There will be three assessed practical assignments. | 100% |
Further details |
http://www.aber.ac.uk/compsci/ModuleInfo/CSM1020 |
Learning outcomes
On successful completion of the module, students should:
-
be able to develop non-trivial programs to operate in the environment they have studied;
-
understand the need for testing and be able to test the programs they have written;
-
have a mental model of a computer, adequate to understand what is involved in developing programs;
-
understand the concept of an algorithm and be able to design simple algorithms;
-
understand how software components are combined to form complete systems;
-
understand the idea of the software life cycle and the stages within it.
Syllabus
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.
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.
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.
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.
Reading Lists
Books
** Consult For Futher Information
Samuel N. Kamin, M. Dennis Mickunas, and Edward M. Reingold.. (1997)
An Introduction to Computer Science: Using java. WCB/McGraw-Hill 0070342245
Elliot B. Koffman and Ursula Wolz.. (1998)
Problem Solving with Java. Addison-Wesley 0201357437
S Heller. (1998)
Who's afraid of Java. AP Professional 0123391083
Y. Daniel Liang. (2001)
An Introduction to Java Programming. 3rd ed. Que E&T Series in Programming and Development 013031997X
Ivor Horton. (2000)
JDK 1.3 edition. Wrox Press Inc 1861003668
Walter Savitch.. (1999)
Java; An Introduction to Computer Science and Programming. Prentice Hall 0132874261