SWC/GCNU Software Skills
Upcoming dates
Introduction to Timeseries Analysis in Python
- March 20th 2023. 1pm-5.30pm. SWC Lecture Theatre, UCL.
Introduction to high-performance computing with Linux
- May 15th 2023. 9am-5.30pm. SWC Lecture Theatre, UCL.
Image analysis in Python
Previous dates
Type annotation in Python
- November 25th 2022. 11am-12pm. GCNU 3rd floor seminar room.
Turning your Python scripts into reusable, general-purpose software
- December 1st 2022. 10am-5pm. SWC brasserie seminar room.
Two-day introductory software skills course
- Sept 26th and 27th 2022. 10am-5pm
Two-day Python introductory course
- May 6th and 13th 2021 10am-4pm
Plotting with Matplotlib
- April 2nd 10am-11.30am & April 6th 2020 1pm-2.30pm
Intermediate Git
Two-day Python introductory course
- November 25th - 26th 2019
Summary
The course will be split into two sections:
- An introduction to python, and general scientific programming, split over two days (eventually expanded to a one week course). No experience required.
- A series of standalone, more specialist short courses covering specific software skills.
You will be able to come to the entire course without any previous programming experience, but the later specialist courses will hopefully be useful to those with experience.
The focus will be on using Python to develop efficient, reproducible workflows for neuroscience research, while teaching efficient programming and good coding practice.
Two-day introduction
Aims
- Introduce those new to Python (and programming in general) to the language and the vocabulary and show how to install Python and the entire ecosystem (virtual environment, package manager, text editor/IDE).
- Allow new users to feel comfortable carrying out basic data analysis independently.
- To provide a common base level of knowledge for the more advanced, specialist courses that will follow.
Contents
General software carpentry
- Bash command line
- Version control using git
- Github (making an account, raising issues, using other peoples software)
- IDEs (what software you use to write your software)
- Working with virtual environments
Software development in Python
- Introduction to Python
- Installing Python
- Variables
- Data types
- Loops
- Conditional statements
- Loading and saving data
- Writing your first Python script
- Installing packages with pip
- Using third party libraries from pip and conda
- List comprehensions
- Functions
- Object oriented programming
- Errors and exceptions
- Organising your Python project and importing functions
- Documenting your code
Standalone specialist courses
Future courses to be confirmed, but possible topics include:
- Image analysis (e.g. 2p imaging)
- Timeseries analysis (e.g. neuropixels)
- Plotting
- General data analysis in Pandas
- Data acqusition
- Testing
- Object oriented programming
- Distributing and packaging code
- Profiling, optimisation and packages for efficient computation (e.g. Numba & Dask
- Behavioural analysis using DeepLabCut
- Machine learning
The courses run will depend on enthusiasm and availability of instructors and students. If there's something you want to learn, or tell everyone about, get in touch.