Next: MC104 Algorithms and Data
Up: Year 1
Previous: Year 1
MC103 Program Design
Credits: 20 |
Convenor: Dr. N. Measor |
Semester: 1 |
Prerequisites: |
|
|
Assessment: |
Continuous assessment: 30% |
Three hour exam in January: 70% |
Lectures: |
36 |
Classes: |
24 |
Tutorials: |
12 |
Private Study: |
78 |
Labs: |
none |
Seminars: |
none |
Project: |
none |
Other: |
none |
Total: |
150 |
|
|
Course Description
The module introduces students to the basic ideas involved
in developing a computer program to solve a problem.
It illustrates these ideas by presenting the basic elements of
the programming language Pascal. The module assumes knowledge of mathematics up to GCSE
level.
Aims
The module presents most the main features of the Pascal language
at an elementary level.
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 use effectively the main control structures of the
Pascal language.
- To be able to use structured datatypes in Pascal.
- To understand the main features of the software development
life cycle.
- To be able to design a program using stepwise refinement.
- To be able to debug a program.
- To be able to design a test set for a program using either
structural or functional techniques.
Transferable Skills
- The ability to design a solution to a problem.
- Programming skills at an elementary level.
- Elementary knowledge of software engineering techniques to manage
the software life cycle.
Syllabus
Algorithms and computer programs. Pascal: source, compiling,
object; layout and types; statements; I/O and arithmetic.
Booleans, conditions, IF statements, CASE. Loops: for, repeat,
while. Functions, procedures, recursion. User-defined types:
enumerated types, subrange types, sets; arrays, strings, records.
Software problems : errors, faults, and failures; overview of
design and development concepts; requirements analysis; basic
notions of specification; topdown design, pseudocode; stepwise
refinement; testing -- structural and functional testing;
debugging; structure diagrams.
Reading list
Essential:
E. B. Koffman,
Turbo Pascal, 5th 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.
Background:
D. Cooper,
Oh! Pascal!, 3rd edition,
W. W. Norton and Co. Inc.
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
Up: Year 1
Previous: Year 1
Roy L. Crole
10/22/1998