Computer Science, Prifysgol Cymru Aberystwyth University of Wales


CS20210 (1995-96 session)
Computer Programming for Life Sciences


Brief Description

This module introduces the principles of procedural computer programming. It is intended for students doing degrees in life sciences but may be taken by others. On successful completion of the course students will be able to design and implement simple programs in a particular high level language. They will also have an appreciation of the software development process which would enable them to evaluate new software as a potential tool in their work and to liaise meaningfully with software developers. Other programming paradigms will be briefly introduced.

Aims, Objectives, Syllabus, Booklist


Further Details

Number of lectures
24
Number of seminars/tutorials
0
Number of practicals
0 (Students are expected to spend unscheduled time on the significant practical aspects of this course)
Coordinator
Mr. Nigel Hardy
Other staff involved
Not yet known
Pre-requisites
CS20510 or equivalent experience
Co-requisites
None
Incompatibilities
CS10210, CS10310, CS11010 , CS21020
Assessment
Assessed coursework - 50%
Written exam - 50%
Timing
This module is offered only in Semester 1

Aims

Through an introduction to the software life cycle; a study of the principles of procedural programming; examination of the details of one high level language; experience of building small programs; consideration of relevant case studies and examination of procedural languages in a wider context this course will:

Objectives

On successful completion of this course, students will have an understanding of:

They will be able to:

Syllabus

Introduction - 1 Lecture
A practical overview of machines and instruction sets; high level languages; interpretation and compilation; data and algorithms.
Notation and an introductory case study - 1 Lecture
Syntax and semantics; lexical conventions; reserved words and identifiers. A small code example will be considered from these aspects.
The development environment - 1 Lecture
Practical details of using the chosen environment.
Simple data types and variable declaration - 1 Lecture
The concept of type; constants; the concept of a variable; the need for a value of data declarations.
Basic control structures - 5 Lectures
The need for control constructs; basic branching and looping; the need for and form of boolean expressions; control construct syntax. Subprograms as control constructs; procedures and functions.
A case study in control structures - 1 Lecture
A structured program to demonstrate the benefits of control structures.
Data structures - 4 Lectures
The need for compound data structures; arrays and records. User defined types; enumerated types. Simple data structure design.
A full case study in coding - 1 Lecture
A case study covering all aspects of coding covered to date.
Program design - 2 Lectures
The need for a design phase. Simple design aids; flow diagrams; pseudocode.
Establishment of functional requirements - 1 Lecture
The need for a requirements establishment phase. Examples of poor definition. The difficulties of establishing requirements.
Testing - 1 Lecture
The need for testing; test strategies and plans. Examples of testing schemes.
The software life cycle - 1 Lecture
A review of the stages met, in context. The relative importance of the stages in projects of different types.
A major case study - 4 Lectures
The interactive development of a program of significant complexity. Example requirements, design and testing documents.

Booklist

Students are likely to need ready access to the following

Walter J. Savitch. An Introduction to the Art and Science of Programming. Benjamin/Cummings Pub. Co, Redwood City, Calif, 3rd edition, 1991.

Version 4.1

Syllabus Syllabus

John Hunt Departmental Advisor

jjh@aber.ac.uk

Dept of Computer Science, UW Aberystwyth (disclaimer)