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
1. Setting the Scene
2. Section 1: Setting Up Environment For Collaborative Code Development
3. 1.1 Introduction to Our Software Project
4. 1.2 Virtual Environments For Software Development
5. 1.3 Integrated Software Development Environments
6. 1.4 Software Development Using Git and GitHub
7. 1.5 Python Code Style Conventions
8. 1.6 Verifying Code Style Using Linters
9. 1.7 Optional Exercises for Section 1
10. Section 2: Ensuring Correctness of Software at Scale
11. 2.1 Automatically Testing Software
12. 2.2 Scaling Up Unit Testing
13. 2.3 Continuous Integration for Automated Testing
14. 2.4 Diagnosing Issues and Improving Robustness
15. 2.5 Optional Exercises for Section 2
16. Section 3: Software Development as a Process
17. 3.1 Software Requirements
18. 3.2 Software Architecture and Design
19. 3.3 Code Decoupling & Abstractions
20. 3.4 Code Refactoring
21. 3.5 Software Architecture Revisited
22. Section 4: Collaborative Software Development for Reuse
23. 4.1 Developing Software In a Team: Code Review
24. 4.2 Preparing Software for Reuse and Release
25. 4.3 Packaging Code for Release and Distribution
26. Section 5: Managing and Improving Software Over Its Lifetime
27. 5.1 Managing a Collaborative Software Project
28. 5.2 Assessing Software for Suitability and Improvement
29. 5.3 Software Improvement Through Feedback
30. 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
Previous
Next
Home
Home
Reference
Last updated on 2024-12-06 |
Edit this page
Expand All Solutions
Glossary
Branch
Commit
CSS
Git
GitHub
README
Repository/repo
Version Control
YAML
Previous
Next
Home
Home
Back
To Top