Skip to main content
Beta
This lesson is in the beta phase, which means that it is ready for teaching by instructors outside of the original author team.
Light
Dark
Auto
Learner View
Instructor View
Menu
Intermediate Research Software Development
Intermediate Research Software Development
Key Points
Glossary
Learner Profiles
More
Quiz
Installation Instructions
Common Issues, Fixes & Tips
Extra Content: Software Architecture
Extra Content: Programming Paradigms
Extra Content: Procedural Programming
Extra Content: Functional Programming
Extra Content: Object Oriented Programming
Extra Content: Persistence
Extra Content: Databases
Extra Content: Using Microsoft Visual Studio Code
Reference
Search the All In One page
Intermediate Research Software Development
Toggle Theme
Light
Dark
Auto
Learner View
Instructor View
EPISODES
Summary and Setup
Setting the Scene
Section 1: Setting Up Environment For Collaborative Code Development
1.1 Introduction to Our Software Project
1.2 Virtual Environments For Software Development
1.3 Integrated Software Development Environments
1.4 Software Development Using Git and GitHub
1.5 Python Code Style Conventions
1.6 Verifying Code Style Using Linters
1.7 Optional Exercises for Section 1
Section 2: Ensuring Correctness of Software at Scale
2.1 Automatically Testing Software
2.2 Scaling Up Unit Testing
2.3 Continuous Integration for Automated Testing
2.4 Diagnosing Issues and Improving Robustness
2.5 Optional Exercises for Section 2
Section 3: Software Development as a Process
3.1 Software Requirements
3.2 Software Architecture and Design
3.3 Code Decoupling & Abstractions
3.4 Code Refactoring
3.5 Software Architecture Revisited
Section 4: Collaborative Software Development for Reuse
4.1 Developing Software In a Team: Code Review
4.2 Preparing Software for Reuse and Release
4.3 Packaging Code for Release and Distribution
Section 5: Managing and Improving Software Over Its Lifetime
5.1 Managing a Collaborative Software Project
5.2 Assessing Software for Suitability and Improvement
5.3 Software Improvement Through Feedback
Wrap-up
RESOURCES
Key Points
Glossary
Learner Profiles
Quiz
Installation Instructions
Common Issues, Fixes & Tips
Extra Content: Software Architecture
Extra Content: Programming Paradigms
Extra Content: Procedural Programming
Extra Content: Functional Programming
Extra Content: Object Oriented Programming
Extra Content: Persistence
Extra Content: Databases
Extra Content: Using Microsoft Visual Studio Code
Reference
See all in one page
Learner Profiles
This is a placeholder file. Please add content here.
Back
To Top