- Student Records
Programme & Unit Catalogues

 

Department of Physics, Unit Catalogue 2010/11


PH20018: Programming skills

Click here for further information Credits: 6
Click here for further information Level: Intermediate
Click here for further information Period: This unit is available in...
Semester 2
Click here for further information Assessment: CW 40%, EX 60%
Click here for further informationSupplementary Assessment: PH20018 - Mandatory Extra Work (where allowed by programme regulations)
Click here for further information Requisites: Before taking this unit you must take PH10007 and take PH10008
Click here for further information Description: Aims:
The aims of this unit are to introduce and develop structured programming skills in a high-level language as a tool for the numerical solution of physical problems. A further aim is to develop the student's awareness of the sources of error in numerical calculations and the means of reducing them.

Learning Outcomes:
After taking this unit the student should be able to:
* carry out the structured design of a computer program using flowcharts or pseudocode;
* give examples of the introduction of rounding errors due to numerical techniques and methods of minimising such problems;
* write computer programs in a high level structured language including arithmetic expressions, loops, branching instructions and arrays;
* describe methods for testing and debugging programs and apply these techniques to the student's own computer programs;
* outline the advantages of using subprograms and write computer programs in a high level structured language using external subprograms;
* use numerical techniques to solve physical problems.

Skills:
Written Communication T/F A, Numeracy T/F A, Information Technology T/F A, Problem Solving T/F A.

Content:
Introduction to numerical analysis: Use of computers in numerical analysis.
Basic vocabulary of computers: Compilation, linking. Variable types. Generic control structures; loops and conditionals. Input and output. Arrays. Floating point round-off and truncation errors. Maximum integer size.
Syntax of the C language: Intrinsic functions of C. Operators and precedences.
Introduction to UNIX: Drives, files and directories in UNIX systems. Essential UNIX commands and editing.
Applications: Root finding. Function evaluation via series expansion and look-up tables. Matrix diagonalisation, normal mode problems.
Structured programming: Subprograms, modules, libraries, pointers, structures in C, inheritances, complex numbers.
Applications: Transfer matrix and/or shooting methods.
NB. Programmes and units are subject to change at any time, in accordance with normal University procedures.