Module Identifier | CI12420 | ||
Module Title | SOFTWARE DEVELOPMENT | ||
Academic Year | 2000/2001 | ||
Co-ordinator | Dr Mark Ratcliffe | ||
Semester | Semester 2 | ||
Pre-Requisite | CS12230 or CS12320 | ||
Mutually Exclusive | CS12420 | ||
Course delivery | Lecture | 30 lectures | |
Tutorial | 11 tutorials | ||
Practical | 11 x 2hr practicals | ||
Assessment | Exam | 1.5 Hours Final examination | 40% |
Course work | 2 pieces of assessed coursework | 40% | |
Course work | Best of two in-class tests | 20% | |
Course work | Regular worksheets with penalties for non-submission | ||
Resit assessment | Supplementary examination will take the same form, under the terms of the Department's policy. |
Brief description
This module is suitable for students who have completed CS12230 or CS12320 but are embarking either on the Internet Computing degree or the Minor in Computer Science. It places more emphasis on worked examples but does not provide a route through to other computing degrees.
Aims
This module builds on the material covered in CS12230/CS12320 to further the development of participants' programming skills by:
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
Students are likely to need ready access to one of the texts below..
** 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
** 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