Module Identifier | CS12420 | ||
Module Title | SOFTWARE DEVELOPMENT | ||
Academic Year | 2000/2001 | ||
Co-ordinator | Dr Mark Ratcliffe | ||
Semester | Semester 2 | ||
Pre-Requisite | CS12230 or CS12320 | ||
Mutually Exclusive | CI12420 | ||
Course delivery | Lecture | 30 lectures | |
Practical | 11 x 2 hours. | ||
Seminars / Tutorials | 11 tutorials | ||
Assessment | Exam | 1.5 Hours | 40% |
In-course assessment | Best of 2 in-class tests | 20% | |
Course work | 2 pieces of assessed coursework | 40% | |
Supplementary examination | Regular worksheets with penalties for non-submission. | ||
Resit assessment | 1.5 Hours Written examination | 100% |
Aims
This module builds on the material covered in CS12230/CS12320 to further the development of participants' programming skills by: introducing more advanced facilities that are available to the software engineer to improve the robustness, reusability and maintainability of software; applying these skills in practice using the Java programming language.
Learning outcomes
The module concentrates on instilling a professional approach to software development. Further programming concepts are introduced in the context of developing more robust and reliable software. On successful completion of the module, students should:
Syllabus
1. Robust Programming - 4 Lectures
The need for a separate mechanism for handling erroneous code; throwing and catching exceptions. User defined exceptions.
2. Persistent Data - 4 Lectures
Advanced input/output and files. Worked example bringing together file handling and exceptions.
3. Abstract Data Types and Linear Data Structures - 7 Lectures
More on the ideas of abstraction and encapsulation. Java support for their implementation. An introduction to linear data structures: stacks, Queues implemented using arrays and vectors.
4. Enhancing the Reusability of Classes - 5 Lectures
An introduction to Java interfaces: Sortable, Listable and the standard Iterator class. Using interfaces to produce a reusable List class.
5. An introduction to Graphical User Interfaces - 10 Lectures
Building on programming skills, this looks at developing graphical front ends to simple software systems introducing Java's AWT and Swing classes.
Reading Lists
Books
** Recommended Text
John Lewis and William Loftus. (2000)
Java Software Solutions. Addison Wesley ISBN 0201 612712
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
Ira Pohl and Charlie McDowell. (Oct 1999)
Java by Dissection. Addison Wesley ISBN 0201 612488
Cay Horst Mann. (2000)
Computing Concepts with Java 2 Essentials. John Wiley ISBN 0471 346098
Russell Winder and Graham Roberts. (2000)
Developing Java Software. John Wiley ISBN 0471 606960
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..
** Consult For Futher Information
David Budgen. (1993)
Software Design. Addison-Wesley
Michael Main. (Oct 1998)
Data Structures and Other Objects Using Java. Addison-Wesley ISBN 0201357445