YoVDO

Software Engineering for Research - Dr. James Hetherington, Turing

Offered By: Alan Turing Institute via YouTube

Tags

Python Courses Version Control Courses Continuous Integration Courses Command Line Interface Courses Sphinx Courses

Course Description

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

Related Courses

The Data Scientist’s Toolbox
Johns Hopkins University via Coursera
How to Use Git and GitHub
Udacity
Ruby on Rails: An Introduction
Johns Hopkins University via Coursera
Accediendo a la nube con iOS
Tecnológico de Monterrey via Coursera
Responsive Website Development and Design Capstone
University of London International Programmes via Coursera