# Introduction to MPHY0021
## Who are we?
### Instructors
All of us are working at the Research Software Development group at UCL's [Research IT Services](https://www.ucl.ac.uk/research-it-services/).
- **David Pérez-Suárez**, a solar-physicist :sun_with_face: converted into a Research Software Engineer. Co-created [sunpy](https://sunpy.org) and [OpenAstronomy](https://openastronomy.org/).
- **Anastasis Georgoulas**. I used to look at stochastic models and machine learning :computer: :chart_with_upwards_trend:, now work on projects across many disciplines.
- **Haroon Chughtai**. Former biomedical engineer and NHS scientist turned RSE. :hospital: :male-technologist: I specialise in medical imaging infrastructure and projects; [working closely with CMIC](https://www.ucl.ac.uk/research-it-services/services/software-development/medical-imaging-research-software-group).
- **Alessandro Felder**. Computational Scientist, used to work on [analysing images of bones](https://bonej.org/) :microscope: :meat_on_bone: before becoming an RSE and starting to work on various bio- or imaging-related projects.
- **Stef Piatek**. Molecular biologist and after some time working as a bioinformatician in clinical genetics, now writing software more generally. Mostly working on healthcare and life sciences projects.
- **Matt Graham**. Prior to joining the research software development group my research was focused on probabilistic modelling 🎲 and [inference algorithms](https://matt-graham.github.io/mici/).
### TAs
- **Nisha Lad**. Ex-software-dev @ Oracle, now a PhD student at ATLAS CERN :atom_symbol: I work on using ML techniques to speed up tracking software :smiley:
- **Nina Montaña Brown**, a physicist turned ML PhD student at [WEISS](https://www.ucl.ac.uk/interventional-surgical-sciences/) with [COMPASS](https://wp.cs.ucl.ac.uk/mattclarkson/), I use ML to build surgical interventional systems :robot_face: to help surgeons navigate during keyhole :key: surgery :female-doctor:.
- **Matthew Cheng**: CDT PhD student in data-intensive science, working on using ML methods to speed up post-mission analysis in space missions, in particular magnetospheric boundary detection at Saturn 🪐 using Cassini.
## How will this course work?
- **Flipped classroom** - Today will be the only exception to this as it will be more of a lecture. For next sessions we will specify on Moodle which material to read, the time we estimate it should take, what exercises to do, etc.
- **Zoom** sessions to host activities that we will run every Thursday from 10'00 to 13'00
- We will have 2 breaks each day: ~10:55 - ~11:05 and ~11:55 - ~12:05.
- :black_circle_for_record: recordings? Only the "lecture" and general discussions will be provided, group activities won't be recorded (i.e., only will be available what happens on the main room).
- **Moodle** will be our hub of information, our ground truth.
- Announcements forum: where we will post any important information
- Week blocks: where you will find what's plan for the week and any extra information after the session finishes
- Q&A forum: for you to ask (and answer) anything during the whole course
- **Assignments**
- 50% individual assignment (git, python, testing and data) - ~19th Nov (after Reading week)
- 50% group assignment (git, python, testing, data, packaging, project management, performance) - ~14th Jan (2 weeks after Xmas break)
- We will use GitHub for the group work but submissions have to be made via Moodle.
## What is/isn't this course about?
| :heavy_check_mark: | :X: |
| -------- | -------- |
| Version Control | :snake:Python |
| :keyboard: Write software |Use of :package: x (eg. pandas, tensorflow,...)|
| :floppy_disk: Research Data | Data science |
| Write tests :heavy_check_mark: :negative_squared_cross_mark: | |
| :bookmark_tabs: Document software | |
| :package: Create installable software||
| Optimisation ||
| | |
|... with Python :snake: | |
### How does it fit together?
Let's take a trip to a piece of research software... scikit-image [watershed](https://github.com/scikit-image/scikit-image/blob/main/skimage/segmentation/_watershed.py#L95)
- version control (history/blame)
- tests (and CI)
- documentation (function + package + website)
- package for its distribution
- collaboration and project management
- optimisation
### Review of the survey
# Questions
Here you can post any question you have while we are going through this document. A summary of the questions and the answers will be posted in moodle after each session. Please, use a new bullet point for each question and sub-bullet points for their answers.
For example writing like this:
```
- Example question
- [name=student_a] Example answer
- [name=TA_1] Example answer
```
produces the following result:
- Example question
- [name=student_a] Example answer
- [name=TA_1] Example answer
Write new questions below :point_down:
- ...
###### tags: `mphy0021` `teaching` `guides`