![[The University of Leicester]](http://www.le.ac.uk/corporateid/departmentresource/000066/unilogo.gif) | Department of Mathematics & Computer Science |
 |
Next: MC104 Algorithms and Data Structures
Up: Year 1
Previous: Year 1
MC103 Program Design
Credits: 20 |
Convenor: Dr. N. Measor |
Semester: 1 |
Prerequisites: |
|
|
Assessment: |
Continuous assessment: 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 |
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. The module assumes knowledge of mathematics up to GCSE
level.
Aims
The module uses the Java language to present the fundamentals of object-oriented programming and programming in the small.
It also provides students with
the necessary tools to develop effective software by introducing
fundamental techniques for the design, testing, and debugging of
programs.
Objectives
- To be able to write complete Java applications consisting of several classes interacting via data and method accesses.
- To understand the main features of the software development
life cycle.
- To be able to design a simple application using object-oriented methods.
- To be able to debug an application.
- To be able to design a test set for an application using appropriate techniques.
Transferable Skills
- The ability to design a solution to a problem.
- Object-oriented programming skills at an elementary level.
- Elementary knowledge of software engineering techniques to manage
the software life cycle.
Syllabus
- Basic Java concepts: Java virtual machine, bytecode; 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.
- Structured datatypes: arrays, sorting and searching.
- Strings and string handling, formatting.
- Software problems : errors, faults, and failures.
- Overview of
design and development concepts; requirements analysis; basic
notions of specification.
- Fundamentals of algorithm and object-oriented design.
- Testing -- structural testing: flow-graphs, structural coverage.
- Debugging techniques.
Reading list
Essential:
Judy Bishop,
Java Gently, 3rd edition,
Addison-Wesley.
Recommended:
R. Pressman,
Software Engineering -- a Practitioner's Approach,
European 3rd edition,
McGraw Hill.
Background:
I. Sommerville,
Software Engineering, 5th edition,
Addison-Wesley.
Details of Assessment
The coursework for the continuous assessment consists of six worksheets
containing both programming and pencil and paper problems.
The written January examination contains six questions, and the best four
questions will be taken into account in determining the mark. The
examination will test candidates' knowledge of design, testing, and
debugging as well as their programming ability.
Next: MC104 Algorithms and Data Structures
Up: Year 1
Previous: Year 1
Author: S. J. Ambler, tel: +44 (0)116 252 3884
Last updated: 2001-09-20
MCS Web Maintainer
This document has been approved by the Head of Department.
© University of Leicester.