![]() |
![]() |
![]() |
![]() |
![]() |
Department of Physics, Unit Catalogue 2006/07 |
PH20018 Programming skills |
Credits: 6 |
Level: Intermediate |
Semester: 2 |
Assessment: CW60EX40 |
Requisites: |
Before taking this unit you must take PH10007 and take PH10008 |
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. |
![]() |
![]() |
|