Research Computing and Software Development¶
Note
Teaching Schedule and Material for the MPhil in Data Intensive Science and the MPhil in Economics and Data Science, Michaelmas Term 2024 at the University of Cambridge.
Goal¶
This course aims to equip you with the computing and software development skills that you will need to work as researchers and data scientists in the age of artificial intelligence.
Schedule¶
Time: Tuesdays, Wednesdays, Fridays between 11:00 and 12:00. 24 lectures.
Location: Small Lecture Theatre, Cavendish Laboratory, University of Cambridge.
Date |
Content |
1 Fri 11, October |
Part 1: Getting started |
2 Tue 15, October |
Part 2: Terminal |
3 Wed 16, October |
Part 2: Bash |
4 Fri 18, October |
Part 2: Python |
5 Tue 22, October |
Part 2: Jupyter |
6 Wed 23, October |
Part 3: Git |
7 Fri 25, October |
Part 4: Building your Python package |
8 Tue 29, October |
Part 5: Distributing your package |
9 Wed 30, October |
Part 5: Docker Images and Containers |
10 Fri 1, November |
|
11 Tue 5, November |
|
12 Wed 6, November |
Part 10 and 11: Conda and Essential tools |
13 Fri 8, November |
Part 11: Simple operations |
14 Tue 12, November |
Part 11: Optimisation |
15 Wed 13, November |
Part 11: Linear Algebra |
16 Fri 15, November |
Part 11: FFT |
17 Tue 19, November |
Part 12: Wavelet Scattering Transform |
18 Wed 20, November |
|
19 Fri 22, November |
Part 13: Advanced Python |
20 Tue 26, November |
|
21 Fri 29, November |
Part 15: Multi-language programming |
22 Mon 2, December |
Part 16: Random Matrices |
23 Tue 3, December |
Part 17: Multi-Agent Systems for Data Science |
24 Wed 4, December |
Recap and feedback |
This course builds on material from James Fergusson’s made availble to UoC students under the course archive.
Also for UoC students, the course moodle is here with links to our slides and discord server. Our lecture recordings are here.
Lectures
- 1. Getting started
- 2. Knowing your environment
- 3. Git
- 4. Building your Python package
- 5. Distributing your package
- 6. Automatic documentation
- 7. Tests and Errors
- 8. Python Package Index
- 9. Continuous Integration
- 10. Conda
- 11. Computing in Python
- 12. Wavelet scattering transform
- 13. Advanced Python
- 14. Optimization and Algorithm Complexity
- 15. Multi-language programming
- 16. Random Matrices
- 17. Multi-Agent Systems for Data Science
Miscellaneous
Example Classes