4133 - Software Development for Self-Driving Labs
Course Description
Elevate your software development skills in the context of self-driving laboratories. This asynchronous, remote course introduces software development concepts and best practices and productivity tools such as integrated development environments (IDEs) with VS Code, unit testing with pytest, continuous integration via GitHub actions, and documentation creation using Sphinx and Read the Docs. You’ll also learn to deploy materials discovery campaigns on cloud servers or dedicated hardware and run offline simulations using cloud hosting.
This course is presented in partnership with the Acceleration Consortium at the University of Toronto.
This is an online, self-directed course, and you can work through the modules at your own pace. You can expect to complete the course in a month but have up to 1 year to complete it.
Within 4-6 weeks of successfully completing this course, you will receive your micro-credential indicating achievement of the outlined learning outcomes and competencies/skills. Micro-credentials are tamper proof, verifiable, blockchain-based and 100% digital. They can be shared on social media, including LinkedIn and Facebook, embedded in websites or downloaded as PDFs.
Learning Outcomes
By the end of this micro course, you'll be able to:
- Enumerate and explain software development best practices along with their corresponding benefits, demonstrating understanding and recall
- Identify and evaluate various productivity tools for developers, highlighting how they enhance efficiency, to demonstrate analytical and selection skill
- Compose and execute unit tests using pytest to validate code functionality, demonstrating application and analysis skills in software testing
- Generate comprehensive Python documentation utilizing Sphinx and Read The Docs, illustrating proficiency in documentation practices and tools
- Design and deploy a continuous integration (CI) pipeline using GitHub Actions, showcasing the ability to integrate and automate software development processes
- Construct a reusable project template using PyScaffold, demonstrating skills in enhancing project setup efficiency and standardization
- Initiate and manage a cloud or local hardware server to execute a materials discovery campaign, demonstrating capabilities in server management and deployment for scientific computing
- Set up and execute an offline simulation on a cloud hosting service, illustrating the ability to leverage cloud resources for complex computational tasks
Competencies/skills developed in this micro course include:
- Software development literacy
- Version control
- Unit testing
- Documentation
- Compute hardware
- Cloud computing
Notes
No withdrawals are permitted after enrolment.
Eligible learners may apply to the Ontario Student Assistance Program (OSAP) for this micro-credential. You can find more information on our Financial Aid page.
Prerequisites
The recommended prerequisite for this course is the successful completion of 4010 Introduction to AI for Discovery using Self-Driving Labs.This course may be applied towards the SCS Certificate(s) in
- Autonomous Systems for Discovery : Required courses