Student Records
Programme & Unit Catalogues

## PH20018: Programming skills

Owning Department/School: Department of Physics
Credits: 6
Level: Intermediate (FHEQ level 5)
Period: Semester 2
Assessment: CW 40%, EX 60%
Supplementary Assessment: PH20018 - Mandatory Extra Work (where allowed by programme regulations)
Requisites: Before taking this unit you must take PH10007 and take PH10008
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.
Programme availability:

#### PH20018 is Compulsory on the following programmes:

Department of Physics
• USXX-AFB03 : BSc (hons) Mathematics and Physics (Full-time) - Year 2
• USXX-AKB04 : BSc (hons) Mathematics and Physics with Placement (Full-time with Thick Sandwich Placement) - Year 2
• USXX-AAB04 : BSc (hons) Mathematics and Physics with Study Year Abroad (Full-time with Study Year Abroad) - Year 2
• USPH-AFB01 : BSc (hons) Physics (Full-time) - Year 2
• USPH-AFB05 : BSc (hons) Physics with Computing (Full-time) - Year 2
• USPH-AKB06 : BSc (hons) Physics with Computing (with Placement) (Full-time with Thick Sandwich Placement) - Year 2
• USPH-AAB06 : BSc (hons) Physics with Computing with Year Abroad (Full-time with Study Year Abroad) - Year 2
• USPH-AKB02 : BSc (hons) Physics (with Placement) (Full-time with Thick Sandwich Placement) - Year 2
• USPH-AAB02 : BSc (hons) Physics with Year Abroad (Full-time with Study Year Abroad) - Year 2
• USPH-AFM02 : MPhys Physics (Full-time) - Year 2
• USPH-AFM04 : MPhys Physics with Research Placement (Full-time) - Year 2
• USPH-AAM03 : MPhys Physics with Year Abroad (Full-time with Study Year Abroad) - Year 2
• USXX-AFM01 : MSci (hons) Mathematics and Physics (Full-time) - Year 2

#### PH20018 is Optional on the following programmes:

Department of Physics
• USPH-AFB09 : BSc Physics (Full-time) - Year 3
• USPH-AKB09 : BSc Physics (with Placement) (Full-time with Thick Sandwich Placement) - Year 4

Notes:
* This unit catalogue is applicable for the 2012/13 academic year only. Students continuing their studies into 2013/14 and beyond should not assume that this unit will be available in future years in the format displayed here for 2012/13.
* Programmes and units are subject to change at any time, in accordance with normal University procedures.
* Availability of units will be subject to constraints such as staff availability, minimum and maximum group sizes, and timetabling factors as well as a student's ability to meet any pre-requisite rules.