


Section 1: Setting up Software Environment The course is organised into the following sections: Skills and tools taught here, while Python-specific,Īre transferable to other similar tools and programming languages. In a team and producing high quality software that is easier to develop andĪnd sustain in the future by yourself and others.

However, the topics covered should give you a solid foundation for working on software development Personal taste or based on what is commonly used by your group, collaborators or community. Over time, you will develop a preference for certain tools and programming languages based on your Tools used here are not mandated though - alternatives exist and Topics and tools to teach here - based on established best practices, ease of tool installation for the audience, length of the courseĪnd other considerations. Interchangeably as you would in a real life. The course uses a number of different software development tools and techniques Support collaborations with others in a way that mimics a typical software development process Reusable and maintainable code, automate the process of testing and verifying software correctness and This course provides the next step in software development - it teaches some intermediate softwareĮngineering skills and best practices to help you restructure existing code and design more robust, While ensuring previous development efforts remain functional and maintainable. Researchers (developers) and users, and more collaborative development effort is needed to add new functionality Has now reached a point where there’s too much code to be kept in one script. You have been applying those skills for a while by writing code to help with your workĪnd you feel comfortable developing code and troubleshooting problems. So, you have gained basic software development skills either by self-learning or attending, e.g., a novice SoftwareĬarpentry course. Making sure everyone has all the necessary software installed
