Accessibility statement

Laboratory for Theoretical Physics - PHY00014C

« Back to module search

  • Department: Physics
  • Module co-ordinator: Dr. James Dedrick
  • Credit value: 20 credits
  • Credit level: C
  • Academic year of delivery: 2020-21

Module will run

Occurrence Teaching cycle
A Autumn Term 2020-21 to Summer Term 2020-21

Module aims

The first year laboratory course is aimed at building on the skills learned at school or college, and in the Introduction to Experimental Laboratory (part of the Professional Skills I module), by developing the core experimental competencies required of a physicist and scientific programming skills required of a theoretical physicist. In addition, the experiments will support topics in the first year lectures, which will help to reinforce ideas presented in these modules.

In the first year laboratory you will learn how to use some equipment which plays a key role in a wide range of experiments. The module provides a number of core experiments leading to a mini-project, and programming in Modern Fortran. You will learn how to analyse experimental results, how to assess errors and how to present your work in a formal report.

The mini-project involves working in a group to investigate an open-ended problem, which will include a theoretical component. This will give you the opportunity to show initiative in experimental and theoretical work, and to use the library and other resources in researching the topic of your mini-project. The project culminates in a conference-style presentation at which your group presents a poster and gives a talk.

Full details of the experiments and organisation of the laboratory are in the First Year Laboratory Handbook, provided on the web and in the laboratory.

Summer term Modern Fortran

Modern Fortran is a high level programming language widely used by physicists for numerical computation. At the same time, as a modern language, it serves to introduce the features common to any programming language. In this module we will aim at achieving fluency in the writing and execution of simple Modern Fortran programs. The module is conducted in the Computational Laboratory, with the method of delivery being a short lecture at the beginning of the class, which includes programming examples that are then implemented in a hands-on session facilitated by the lecturer and demonstrators. The emphasis throughout is on the practical skill of constructing, editing, running and debugging programs. The Modern Fortran course provides the necessary skills to undertake the 2nd year Computational Laboratory, for which it is a pre-requisite.

Note If you have no previous programming experience and might be interested in taking the High Performance Computing module in the fourth year, you are advised to take the Modern Fortran module.


Module learning outcomes

  • Demonstrate good experimental practice, including accurate record keeping
  • Be able to plan and execute experiments
  • Be able to identify, assess and analyse errors, including their minimisation
  • Critically appraise and discuss your experimental results
  • Have developed skills in a range of experimental techniques and in the operation of equipment.
  • Be able to communicate and present results.
  • Demonstrate the ability to program in a scientific programming language

Module content


  • Core experiments, details of which are in the First Year Laboratory Handbook and laboratory scripts provided
  • Introduction to the Unix programming environment
  • Introduction to the text editor
  • Introduction to a graphics package: Gnuplot or XMGrace
  • Programming logic: writing algorithms and pseudo-code
  • Data types
  • Arithmetic: real and integer
  • Procedures: intrinsic and external functions, subroutines
  • Logical expressions and variables
  • Program control: IF statements and DO loops
  • Arrays
  • Data handling: file input/output
  • Precision


Task Length % of module mark
Formal Report
N/A 40
N/A 15
Lab Book
N/A 45

Special assessment rules



Task Length % of module mark
Formal Report
N/A 40
N/A 15
Lab Book
N/A 45

Module feedback

Our policy on how you receive feedback for formative and summative purposes is contained in our Department Handbook.

Indicative reading

Brainerd, Walter S.S, Guide to Fortran 2008 Programming (Springer)

Squires: Practical Physics (Cambridge)

Online notes will be provided


The information on this page is indicative of the module that is currently on offer. The University is constantly exploring ways to enhance and improve its degree programmes and therefore reserves the right to make variations to the content and method of delivery of modules, and to discontinue modules, if such action is reasonably considered to be necessary by the University. Where appropriate, the University will notify and consult with affected students in advance about any changes that are required in line with the University's policy on the Approval of Modifications to Existing Taught Programmes of Study.