OverviewThis module provides an introduction to object-oriented software development. Software pervades many aspects of most professional fields and sciences, and an understanding of the development of software applications is useful as a basis for many disciplines. This module covers the development of simple software systems. Students will gain an understanding of the software development process, and learn to design and implement applications in a popular object-oriented programming language. Fundamentals of classes and objects are introduced, and key features of class descriptions: constructors, methods and fields. Method implementation through assignment, selection control structures, iterative control structures and other statements is introduced. Collection objects are also covered and the availability of library classes as building blocks. Throughout the course, the quality of class design and the need for a professional approach to software development is emphasized
This module appears in:
- Computing Stage 1 Canterbury
- Computing Stage 1 Medway
- Humanities Undergraduate Stage 1
- Humanities Undergraduate Stage 2 & 3
- Short-Term Study
- Social Sciences Undergraduate Stage 1
- Social Sciences Undergraduate Stage 2 & 3
- STMS Undergraduate Stage 1
22 Lectures, 11 two hour classes
CO320 is delivered twice: once in the Autumn Term and repeated in the Spring Term. Students may only register for one of these deliveries.
Method of assessment
"Objects first with Java – A practical introduction using BlueJ", David J. Barnes and Michael Kölling, Pearson Education, 2012, ISBN 978-013-283554-1.
"The Java Programming Language", Ken Arnold, James Gosling and David Holmes, Prentice-Hall, 2013, ISBN 978-0132761680.
On successful completion of the module, students will be able to:
- Read, understand and modify small programs
- Use an object-oriented programming language to write small programs
- Write programs with the support of an integrated development environment
- Structure data and information as class definitions
- Use object-oriented analysis, design and implementation to identify and solve practical programming problems
- Test solutions to programming problems
- Where appropriate, use class inheritance to create class hierarchies
- Use effectively a range of software development tools, such as an integrated development environment, text editor and compiler