Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Software Engineering for Research - Dr. James Hetherington, Turing

Alan Turing Institute via YouTube

Overview

Explore key aspects of research software engineering in this comprehensive lecture by Dr James Hetherington from the Alan Turing Institute. Learn about testing, version control, documentation, refactoring, and continuous integration to improve your coding practices. Discover how to ensure code correctness, readability, and adaptability. Delve into topics such as the Cyro problem, performance optimization, reproducibility, and Jupyter Notebooks. Gain practical skills in building Python packages, creating command-line interfaces, and setting up project files. Understand the importance of documentation tools, licensing considerations, issue tracking, and software citation. Perfect for researchers and developers looking to enhance their software engineering skills in a research context.

Syllabus

Intro
The Cyro problem
Performance fetishization
Reproducibility
Jupiter Notebook
Using an editor
Building a Python package
Writing a commandline interface
Path oven
Setuppy file
pip install
pip install requires
readme file
license file
citation file
Documentation
Commentbased documentation tools
Sphinx
Objections
Bugs
License proliferation
Virality
Licensing
Issue tracking
Questions
Rule of thumb
Copyright
Library with multiple contributors
Individual static snapshots
The Software Citation Project
Citation chains
Github pages
Coffee break
GitHub

Taught by

Alan Turing Institute

Reviews

Start your review of Software Engineering for Research - Dr. James Hetherington, Turing

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.