Software Engineering for Data Scientists

This course will introduce you to important general concepts in software engineering, along with concrete practices, that will help elevate your programs from sufficient to exceptional

Varighet: 1 dag fra Kl 09:00-16:00

Pris: 8000

Kurskategori: AI, Maskinlæring og IoT

Kursdatoer er ikke helt avklart ennå, men kontakt [email protected] for påmelding!

As a data scientist, programming is an important part of your day-to-day work. At the same time, you may have little formal training in software development. Are your valuable programs difficult to understand, modify, maintain, and share?

This one day course is designed for data scientists and engineers who are already using Python and want to take their skills to the next level. At the end of this course the students will know how to structure their Python programs for improved reuse, how to build and use automated tests for their code, and how to analyze program performance. The class will use Python 3.

We start by covering ideas and concepts for improving overall software design . We then explore how these ideas can be applied to a small but realistic Python project. We will look at techniques and best-practices for working with Python projects in groups

Key topics

• Software design principles
• Managing dependencies in software
• Isolating development environments
• Packaging code for reuse
• Documentation and style
• Automated testing
• Profiling programs
• Strategies and techniques for optimization
• Maintaining invariants and constraints
• Creating command-line interfaces
• Sharing code with package servers

Course exercises

• Creating isolated environments with venv or conda
 Applying core software design principles
• Following Python best-practices
• Using a practical and flexible project structure
• Building packages from your code
• Documenting your code in a standard way
• Creating and running automated tests
• Using a profiler to find performance problems
• Optimizing your code based on profiling data
• Uploading packages to a package server
• Using your own packages from a package server


Some experience working in Python is assumed.
Basic knowledge of pandas is helpful but not critical. 

Bring your own computer with Python 3.3+ and an editor installed

Kursdatoer er ikke helt avklart ennå, men kontakt [email protected] for påmelding!


Austin Bingham is a founding director of Sixty North, a software consulting, training, and application development company. He has been using Python professionally and in open-source projects for almost 20 years, and he is the co-author of “The Python Craftsman”, a series of books on programming with Python. He is an experienced presenter and teacher, and through his training classes he’s taught Python to thousands of students.

Ønsker du å samle flere ansatte til et bedriftsinternt kurs?

Finner du ikke det helt optimale kurset eller kombinasjonen av kurs? Da ordner vi det - sammen. Vi kan tilrettelegge kurs slik at de inneholder akkurat det dere har behov for. Vi kan sette opp et helt nytt kurs, eller tilpasse eksisterende kurs og materiell. Flere medarbeidere kan selvfølgelig også samles til et eget felles kurs, for maksimal effektivitet. Ta kontakt med meg for et forslag til gjennomføring og et tilbud basert på deres behov.

Henrik Buzzi