| Department of Mathematics & Computer Science |
|
Next: CO1004 Algorithms and Data Structures
Up: Year 1
Previous: Year 1
CO1003 Program Design
Credits: 20 |
Convenor: Dr. M. Hoffmann |
Semester: 1 |
Prerequisites: |
|
|
Assessment: |
Coursework: 40% |
Three hour exam in January: 60% |
Lectures: |
36 |
Problem Classes: |
none |
Tutorials: |
none |
Private Study: |
78 |
Labs: |
24 |
Seminars: |
none |
Project: |
none |
Other: |
none |
Surgeries: |
12 |
Total: |
150 |
Subject Knowledge
Aims
This module teaches the basic principles of object-oriented
programming, design and testing.
Learning Outcomes
Students should be able to: understand 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, the components of simple text and
graphics based interfaces, the relevance of the design process and
basic object-oriented design notation, the applicability and
effectiveness of various basic software testing techniques.
Methods
Class sessions, recommended textbook,
worksheets, automated feedback and extensive
web support.
Assessment
Marked coursework, written examination.
Subject Skills
Aims
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
that information.
Learning Outcomes
Students will learn 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.
Methods
Class sessions, worksheets with automated feedback system.
Assessment
Marked coursework (with automated feedback system), written
examination.
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.
Course Description
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
language Java.
Syllabus
- Basic Java concepts: Java virtual machine, byte-code;
applications and applets; source, editors, compilers, development
environments.
- Fundamentals of Java programming: types; classes; objects;
packages; assignment.
- Structured programming: methods and parameters; for-loops,
while-loops, do-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
coverage.
Reading list
Essential:
C. Thomas Wu,
An Introduction to Object-Oriented Programming with Java,
3rd (international) edition,
McGraw-Hill.
Recommended:
R. Pressman and D.Ince,
Software Engineering -- a Practitioner's Approach,
European 5th edition,
McGraw-Hill.
Background:
I. Sommerville,
Software Engineering, 5th edition,
Addison-Wesley.
Resources
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.
Module Evaluation
Course questionnaires, course review.
Next: CO1004 Algorithms and Data Structures
Up: Year 1
Previous: Year 1
Author: N. Rahman, tel: +44 (0)116 252 3902
Last updated: 2003-09-23
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.