Charting Your Path Through Scientific Computing

The curriculum at Diller Digital is designed to help scientists, engineers, and analysts of all kinds learn coding skills that will improve the power, quality, and scope of their work using the scientific computing tools available in the open source Python ecosystem.  You don't just learn syntax and function names, though — we teach you how to think about solving problems in data analysis;  we teach structured approaches to problem solving, and we lay a foundation for future self-learning.

It all begins with Python Foundations for Scientists & Engineers, where you learn not only the syntax and grammar of Python but also the thinking behind the language.  Students with some prior exposure to Python often come to class wondering why the designers of the language made certain choices and leave with a comfortable grasp of what we call the "Zen of Python" that helps them understand new things they encounter moving forward.  Python Foundations also lays a foundation in NumPy, the "heart" of the Python Scientific computing ecosystem.  Understanding the data types and vectorized functions offered by NumPy is critical to mastering most of the other core libraries like SciPy, Pandas, XArray, Scikit-Learn, StatsModels, TensforFlow, PyTorch, etc.

A natural progression from Python Foundations is our Data Analysis with Pandas for Scientists & Engineers class, that introduces a structured workflow for creating analysis-ready data sets.  The hard work of data analysis is often actually found in preparing the data.  The course picks up where Python Foundations leaves off by teaching the tools useful for finding, importing, cleaning, organizing, exploring data sets as well as point you to some of the analysis methods available.  Pandas as an extension of NumPy is the centerpiece of this course, and introductions to the related libraries XArray and AwkwardArray are also provided.  Completing this course will give you a profound appreciation for the curated datasets available in Scikit-Learn and used in our Machine Learning and Deep Learning courses.

Learning Data Analysis sets you up for Machine Learning for Scientists & Engineers, a course that lays a foundation in the classical machine learning disciplines of regression and classification analyses as well as establishing a framework for navigating the vocabulary and capabilities of Machine Learning and Artificial Intelligence.  In this course you'll learn to build regression and classification models using Scikit-Learn, with a strong emphasis on feature engineering to improve the predictive power of your models.  The course features a practical example from materials engineering, and over the course of several days, we build various predictive models and rank them against each other.  Although Data Analysis with Pandas is not a prerequisite (some people jump straight from Python Foundations to Machine Learning), that course pairs well with this one.

A natural progression from Machine Learning is our Deep Learning for Scientists & Engineers, which focuses on the building and training of neural networks using the popular TensorFlow library.  "Deep" networks are neural networks made up of multiple layers of connections and aggregations in a way that loosely resembles neural connections in the human brain.  You'll learn the details of the different kinds of layers and how to select and combine them into a model, how to train, refine, and evaluate the model.  Finally, we'll set up and train a Generative Adversarial Model of the same general kind that is used to produce "AI-generated content" as commonly referred to in the popular media.  Although the Machine Learning course is not a prerequisite, taking it before this one will provide you with helpful background material.

Finally, many students find after a few months of coding, they want to improve their craftsmanship skills, that is, the skills that help them to write code that is maintainable, performant, and reliable.  In addition, they are eager to learn skills for collaborative coding, like version control and code review.  For them, there is Software Engineering for Scientists & Engineers.  While "software engineering" covers a broad array topics, we focus on those things that are important in R&D and other environments where software is not the primary product.  This is one of our most popular and highly-rated classes and can fit into the curriculum at any time, but makes the most sense to take at least 3-6 months after Python Foundations.
Back to blog

Leave a comment

Please note, comments need to be approved before they are published.