Software Engineering & Sustainable Research

Staff: Garrett Morris and Joe Pitt-Francis in collaboration with the SSI

This course will introduce the essential software engineering tools and best practices needed for a sustainable approach. This will include the use of model and code repositories, version control, integrated development environments, automated test-driven development, and continuous integration. Fundamental software and computer science skills covered will include software development & design, agile programming for academia and industry, object-oriented analysis and design, algorithms and data structures, research software infrastructure and libraries, software usability and dissemination.