By Scientists for scientists

Software Engineering for Scientists & Engineers

Software Engineering for Scientists & Engineers

Track Managerial Track, Tool Maker Track

In this short course on the critical art of writing maintainable software, learn best practices for making quality software that can be used, referenced, and kept in working order.

Course Hours20 hours

Course Overview

Software Engineering for Scientists and Engineers is a short course on the art of writing maintainable software.

Unfortunately, software that is not written with maintenance in mind can be a source of pain for years or decades.

This course will teach you best practices, recommend good habits, and get you thinking about how to make quality software that can be used, referenced, and kept in working order long after the original author(s) have moved on.

Prerequisite

This course requires basic proficiency with Python and the scientific Python stack. Some practical experience with standard Python, NumPy (ndarrays), and Pandas (DataFrames) are essential to working with the code and concepts presented in this course.

If you have taken Enthought’s Python Foundations for Scientists and Engineers, you have the requisite background knowledge for this course.

Lectures

Why Software Engineering?Introduction, General Applicability
Readable CodePEP-8, Linting, Naming, Comments
Documenting CodeDocstrings, Publishing Documentation
RefactoringFunctions, __main__(), Classes, API
Profiling & DebuggingWhen to Optimize, cProfile, pdb
Monitoring ExecutionCommand Line, Logging, Auditing
Unit Testingunittest, Test Suites, Edge Cases
Source Controlgit, GitHub, Issues, Pull Requests
Effective Code ReviewsMentoring New Coders, Leveraging Experience
Development ModelsAgile, Waterfall

 

Instructors

Enthought instructors have advanced degrees in scientific fields such as physics, engineering, computer science, and mathematics, and all have extensive experience through research and consulting in applying Python to solve complex problems across a range of industries, allowing them to bring their real world experience to the classroom every day.

Packages

black, click, flake8, logging, pdb, profile, sphinx, unittest

 

Download the syllabus for this course here.

Interested in corporate training?

For more information, contact the Enthought Academy team.

Our Scientific Python Experts

Enthought Academy instructors are scientists and engineers themselves and have deep knowledge and understanding of the strategies and technologies covered in each track, and extensive practical experience applying Python to solve complex challenges across a range of science-based industries.

Alexandre Chabot-Leclerc

Vice President, Digital Transformation Solutions

Tim Diller

Director, Digital Transformation Services

Mark Dickinson

Director, Software Architecture

Eric Olsen

Director, Training Solutions

Glen Granzow

Scientific Software Technical Trainer

Sogo Shiozawa

Scientific Software Developer

Kuya Takami

Senior DTX Services Consultant and Instructor

Logan Thomas

Senior DTX Services Consultant and Instructor

Let us know how we can help!

Need help selecting the right certificate program? We'll be happy to help!