• Welcome to the Physical Sciences Data Infrastructure Interactive Learning Zone

    Welcome to the Physical Sciences Data Infrastructure (PSDI) Moodle, here you will find a number of skills training courses on topics that are useful to a modern scientist in the physical sciences. 

    Some courses on Moodle are available as either a guest or a logged in user, to get the most out of your experience we suggest using the login button on the top right to use your PSDI profile to log in. Once logged in you will be able to access the quizzes associated with courses, track your progress as well as get access to coding based courses.

    Guest access is available to all, logged in access is available currently to all UK academics.

    If you have any feedback on the Moodle, please use this Form to provide it

    • THE PSDI MOODLE HAS BEEN UPDATED!

      We have now completed updating our old courses and uploading new ones.

      Please have a look at the courses and hopefully learn something new. If you find an issue please reach out via the contact us link by clicking the question mark icon in the bottom right or directly to our support email at support@psdi.ac.uk 

Available courses

This course is designed to teach the basics of programming though Python. If you have programmed before, then this will be a matter of learning the syntax and some of the individual quirks of Python. For people who have not programmed before, this will teach you what you need to know, using Python.

The Learning Objectives for this course are:

  • Understand the the basic building blocks of a computer program such as variables, loops, and functions.
  • Understand some of the vocabulary in use in programming, such as operators and arrays.
  • Be able to define a variable and perform an operation with it.
  • Understand what different operations do.

This Python course is designed with scientists in mind. It follows on from Python I, starting where it left off with Functions, but going in to a bit more depth examining scope. It then covers different types of function that use iteration and recursion, then exploring lambda functions and the use of exceptions. The more advanced topic of objects within Python is introduced, and finally a section on how to code well in Python, looking at testing and good coding practice.

The Learning Objectives for this course are:

  • Gain a better understanding of how a program can be built, and what makes a good program
  • Understand a wider range of function types, objects and exception handling in Python
  • Be able to use iteration and recursion in Python programming

This course will cover the basics of plotting and displaying data using Matplotlib, the plotting library in Python. It needs a basic understanding of Python, i.e. the content of course Python 1 would be fine. 

You will learn: 

  • How to make basic 2d and 3d plots
  • How to use colour and contour lines to add a third dimension
  • Some more general principles of good data visualisation 

This course provides a high-level overview of the advantages of version control for your scripts and how to implement this in repositories that use Git.

The learning objectives for this course are:

  • Understand the principles of version control and how it is effective in research projects
  • Learn about the common version control methods
  • Evaluate how software such as GitHub implements version control and learn the vocabulary associated with this

This course is for those whom the command line is a mystery. We will start with the basics, how to bring up a terminal window on windows systems or unix systems (Mac, Linux) and explain some simple commands to help navigate, as well as how you can use a simple version control system Git using just text commands. 

The Learning Objectives for this course are:

  • Understand what the shell is in computing
  • Understand simple commands used in the bash shell: 'echo', 'ls', 'which', 'pwd', 'man', 'whom', 'date'
  • Understand and navigate the directory structure using commands 'ls', 'cd', and relative folder names, '..', '.'
  • Understand and use the input, output and error streams from programs in the shell, using redirect '>', append '>>' and pipe '|'
  • Understand and write a bash script to perform a repetitive task in the shell

This course is intended to give you an overview of the structure of databases, why they are important, and how to query databases. It is suitable for those who have an understanding of tabular data representation and with a background in basic coding.

Learning objectives for this course:

  • Understand the differences between different databases
  • Identify instances where SQL can be used in structured databases
  • Learn the basics of SQL statements and commands

This course is ideal for researchers at any career stage who would like to learn more about Research Data Management. This course is intended to give a comprehensive introduction; links are provided in the course materials to delve deeper into the content.

The learning objectives for this course are:

  • Understand why research data needs to be managed
  • Be able to identify instances where data management is required
  • Evaluate options available to support your data management

Image used under a CCBY license from: https://datamanagement.hms.harvard.edu/plan-design/biomedical-data-lifecycle

This course will cover the basics of Literature and Referencing relevant to physical sciences and is relevant to early career researchers or anyone who would like to refresh their knowledge.

This course has the following learning objectives:

  • Identifying the different scholarly sources
  • Understanding the purposes of citations
  • Learn how to develop a search strategy and apply that strategy to a scholarly output

Image from: https://www.virtuallibrary.info/referencing.html used under CCBY-SA-NC

This course will provide a general background to research integrity, the ethical review process, ethics as applied to data in AI/ML, and Responsible Research and Innovation. It's suitable for reesearchers and research enablers who wish to support responsible research.

Learning outcomes for this course:

  • Understand the role of ethics
  • Understand the role of the ethics board
  • Think critically about the impact and potential risks of your research, and to approach the ethical approval as an extension of your research

Image shared under CC-0 license