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 Summary: CW 40%, EX 60%
Assessment Detail:
• Coursework (CW 40%)
• Examination (EX 60%)
Supplementary Assessment: PH20018 - Mandatory Extra Work (where allowed by programme regulations)
Requisites: Before taking this module 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 (Year 2)
• USXX-AAB04 : BSc(Hons) Mathematics and Physics with Study year abroad (Year 2)
• USXX-AKB04 : BSc(Hons) Mathematics and Physics with Year long work placement (Year 2)
• USXX-AFM01 : MSci(Hons) Mathematics and Physics (Year 2)
• USXX-AAM01 : MSci(Hons) Mathematics and Physics with Study year abroad (Year 2)
• USXX-AKM01 : MSci(Hons) Mathematics and Physics with Year long work placement (Year 2)
• USPH-AFB01 : BSc(Hons) Physics (Year 2)
• USPH-AAB02 : BSc(Hons) Physics with Study year abroad (Year 2)
• USPH-AKB02 : BSc(Hons) Physics with Year long work placement (Year 2)
• USPH-AFM02 : MPhys(Hons) Physics (Year 2)
• USPH-AKM04 : MPhys(Hons) Physics with Professional and Research Placements (Year 2)
• USPH-AKM03 : MPhys(Hons) Physics with Professional Placement (Year 2)
• USPH-AFM04 : MPhys(Hons) Physics with Research placement (Year 2)
• USPH-AAM03 : MPhys(Hons) Physics with Study year abroad (Year 2)
• USPH-AFB05 : BSc(Hons) Physics with Computing (Year 2)
• USPH-AAB06 : BSc(Hons) Physics with Computing with Study year abroad (Year 2)
• USPH-AKB06 : BSc(Hons) Physics with Computing with Year long work placement (Year 2)

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

Department of Physics

Notes:
* This unit catalogue is applicable for the 2015/16 academic year only. Students continuing their studies into 2016/17 and beyond should not assume that this unit will be available in future years in the format displayed here for 2015/16.
* 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.