In this module, you will learn basics of the theories behind modern machine learning techniques. During ten three-hour labs, you be asked to implement several key machine learning techniques and apply them to real-world problem, such as predicting house prices, recognition of handwriting, etc. This module can serve as a basis for preparing for a career in modern machine learning – a rapidly growing field of academic and industrial applications.
The module will cover:
· Basics of
probability theory and statistics used in machine learning.
· Linear
regression
· Logistic
regression
· Naïve Bayes
models
· Support
vector machines
· Deep neural
networks
· Hopfield
model
Continuous Assessment
Students are expected to complete assignments and will receive feedback. Students who engage sufficiently with the coursework will receive a Pass. Students who do not engage sufficiently with the coursework will not get credit.
Beyond Pass / No credit, there will be no marks for the course.
This course supports students in their writing projects. Students must have a writing project to work on and will spend most of the time working on their own writing.
These sessions will help students set goals for themselves and make progress. Students are welcome to work on a paper, their thesis, a presentation or any other writing project.
Lecturer: Stephanie Zhims
Institution: UWS
Status: Last offered as a course in 2022/2023
Field programmable gate arrays (FPGAs) are configurable digital electronic devices capable of providing high-speed, low-latency and controlled latency digital interfaces to experiments. For example, FPGAs have been used in fluorescence lifetime measurements, various imaging methods, detection of photon correlations, gravitational wave detectors, and gravimeters. This course will equip students with the basic knowledge of how to interface physics experiments to digital electronics, and how to program FPGAs. An introduction to hardware description languages (HDLs) is given on the example of Verilog. HDLs are fundamentally different from computer programming languages and understanding them is crucial for the use of FPGAs. After completion, participants will be able to integrate FPGAs into their own experiments, create simple FPGA configurations, understand common problems and strategies to overcome them, and be aware of resources to help extend these skills
The course introduces the core concepts of C++, assuming no prior knowledge, and is provided via four lectures and four laboratory tutorial sessions. Some experience with the Linux file system and using a text editor is preferential.
Both the lectures and labs will be given on Zoom, with an hour long lecture in the morning, followed by a lunch break and then a 2 hour lab session. Breakout rooms will be provided in the labs to aid in answering any questions. During the labs there will also be support from additional tutors to provide extra help with coding of the problem sets.
The course schedule for 2023 is below:
- 15/11
- 22/11
- 29/11
- 06/12
The course will be in the form of a maths primer intended for beginning PhD students in condensed matter, solid state and photonics. The topics which will be covered include: Matrix diagonalisation, complex integration and residues, Fourier transforms, and a discussion on different notations which the students will encounter during their studies.
Lecturer: Patrik Öhberg
Institution: Heriot Watt
Hours Equivalent Credit: 6
Assessment: Continuous Assessment
- 6 & 7 December 2024
Welcome to SUPA Software Carpentry! This course is designed to help you develop your programming ability beyond the point where a normal programming course ends, and become more confident in managing the code you write.
We cover a variety of good practices for managing, documenting, and testing code, and the course aims to help you to become more comfortable using the many tools available to aid with research software development.
The course is suitable for anyone with a modest background with programming, and we try not to focus on a single programming language. However, in one section we do use Python as an example ecosystem (because we needed to choose one). If you're not familiar with Python don't worry; what we cover here will be transferable to C, C++, R, Rust, Javascript, and even LOLCODE.