CO1003 Program Design
||Convenor: Dr. M. Hoffmann
||Three hour exam in January: 60%
This module teaches the basic principles of object-oriented
programming, design and testing.
Students should be able to demonstrate understanding of: the basic
components of an object-oriented program including methods and
attributes, the distinction between classes and instances, the
structures required to write basic algorithms, and the components
of simple text and graphics based interfaces. They should be able
to undertake design using basic object-oriented design notation,
and demonstrate the applicability and effectiveness of various
basic software testing techniques.
Class sessions, recommended textbook,
worksheets, automated feedback and extensive
Marked coursework, written examination.
Produce written work in a number of different formats; analyse
problems, formulate strategies to solve them, design a plan, carry
out the required research, implement and evaluate the solution;
recognise the need for information, and then locate and access
Students will be able to develop object-oriented programs to
satisfy simple problems. This will involve analysis of the problem
and the development and implementation of suitable solution
strategies. Students will also be able to produce simple design
and testing diagrams for the code they produce.
Class sessions, worksheets with automated feedback system.
Marked coursework (with automated feedback system), written
Explanation of Pre-requisites
Strongly motivated students will have no problems even if they have
no previous experience of programming. The module assumes knowledge
of mathematics up to GCSE level.
The module introduces students to the basic ideas involved in
developing a piece of software to solve a problem. It illustrates
these ideas by presenting fundamental elements of the programming
- Basic Java concepts: Java virtual machine, byte-code;
applications and applets; source, editors, compilers, development
- Fundamentals of Java programming: types; classes; objects;
- Structured programming: methods and parameters; for-loops,
- Interactive input, file input and output.
- Selection with if-else; the switch statement.
- Introduction to exception handling.
- Strings and string handling, formatting.
- Overview of design and development concepts; requirements
analysis; basic notions of specification.
- Fundamentals of object-oriented design.
- Software problems : errors, faults, and failures.
- Testing -- structural testing: flow-graphs, structural
C. Thomas Wu,
An Introduction to Object-Oriented Programming with Java,
3rd (international) edition,
R. Pressman and D.Ince,
Software Engineering -- a Practitioner's Approach,
European 5th edition,
Software Engineering, 5th edition,
Course notes, departmental web page, text book web site, automated
feedback and assessment tool (coursemaster), study guide,
worksheets, handouts, lecture rooms computer projection facilities
and OHPs, past examination papers.
Course questionnaires, course review.
Author: N. Rahman, tel: +44 (0)116 252 2593
Last updated: 2004-09-29
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.