Software Engineering for Research - Dr. James Hetherington, Turing
Offered By: Alan Turing Institute via YouTube
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
Design Computing: 3D Modeling in Rhinoceros with Python/RhinoscriptUniversity of Michigan via Coursera A Practical Introduction to Test-Driven Development
LearnQuest via Coursera FinTech for Finance and Business Leaders
ACCA via edX Access Bioinformatics Databases with Biopython
Coursera Project Network via Coursera Accounting Data Analytics
University of Illinois at Urbana-Champaign via Coursera