Programming for Scientists module (PH51010)

You will learn the core concepts of how software works. You will also develop basic programming skills to tackle problems in science and engineering

Credits
20
Module code
PH51010
Level
5
Semester
Semester 1
School
School of Science and Engineering
Discipline
Physics

This module provides essential programming skills for scientists.

You will learn the core concepts of how software works, and you will develop basic programming skills to tackle problems in science and engineering.

In this module, you will gain comprehensive hands-on experience in both Python and MATLAB, two of the most used languages in artificial intelligence and data science.

This module will enable you to gain a solid understanding of computer programming to bring you up to speed in this rapidly evolving field. 

What you will learn

In this module you will:

  • learn the core concepts of programming
  • learn assignment statements, the use of variables, control statements
  • as well as data structures, functions, and I/O structures
  • study basic software design
  • use the NumPy and SciPy Python libraries
  • use matplotlib as a plotting tool
  • get introduced to Matlab as an alternative coding environment to Python

By the end of this module you will be able to:

  • use an integrated development environment
  • design a program in both Matlab and Python
  • effectively use code to solve problems in science and engineering

Assignments / assessment

  • coursework (40%) This will consist of:
    • two homework coding assignments (10% each)
    • two quizzes on the homework assignments to be completed in class (10% each)
  • exam (60%)

Teaching methods / timetable

  • in-person lectures
  • laboratory work

These will take place 6 hours each week. This will consist of two 3-hour sessions.

Each session consists of about 1 hour of lectures and 2 hours of practical computer laboratory work.

Each 1 hour lecture also includes hand-on practical demonstrations by the lecturer

Courses

This module is available on the following courses: