Applied Data Science & AI · Breda University of Applied Sciences
Overview

Applied Data Science & AI
Year 1 · Machine Learning
Learn machine learning by solving a real problem.
The Omega Lab is searching for molecules for next-generation solar cells. Testing each one in the lab is slow and expensive. They want you to build a machine-learning model that predicts molecular properties, so they can screen thousands in seconds and only test the top candidates.
The client
OMEGA Lab
The course is built around a real client problem from the Organic/Hybrid Materials for Energy Applications (OMEGA) Lab, led by Prof. Derya Baran at KAUST.
OMEGA Lab is developing materials and methods for more sustainable electronic and energy devices. Their work includes solar cells, organic and printed electronics, energy-conversion materials, and manufacturing processes designed to use less energy and reduce environmental impact.
They need your help to use machine learning to identify and predict promising molecules for solar cell applications.
The challenge
Predict Solar Cell Material Properties
You will develop a machine learning solution to predict solar cell material properties from molecular structure alone. This will allow the client to screen thousands of molecules computationally, reducing the need to synthesize and measure each one experimentally and helping them focus their resources on the most promising candidates.

Predict energy levels
The energy levels of a material strongly influence how efficiently a solar cell can convert light into electricity. You will build regression models to predict these energy levels directly from molecular structure.
Predict stability
Organic materials can degrade over time, so high efficiency alone is not enough. The client needs materials that are both efficient and stable. You will build models to predict material stability and help identify molecules that perform well on both properties.
Discover similarity
Use unsupervised learning to identify molecular groups, investigate similarity, and feed those insights back into predictive modelling.
The Framework
Machine learning is a process.
In this course, CRISP-DM structures both how you learn machine learning and how you apply it in the course project.

These are not six steps that you complete once in order. Machine learning is an iterative process. You may move back and forth between Data Understanding and Data Preparation, evaluation may reveal that a preprocessing decision needs to be revisited, and deployment may even show that the original problem was not defined in the right way.
Therefore, it is important not to treat these stages as tasks to complete once and never revisit. Instead, move through the cycle early, learn from each stage, and use those insights to improve the next iteration.
Note: CRISP-DM was developed before many modern production machine learning practices existed. In particular, deployment today can include serving models, monitoring, retraining, data and model pipelines, reproducibility, governance, and continuous evaluation.
More modern frameworks such as CRISP-ML(Q) extend these ideas for production machine learning systems. In this introductory course we keep the simpler CRISP-DM structure so that we can focus on the core machine learning process. Production ML and these more modern practices are covered in later courses.
The Structure
Learn. Apply. Demonstrate.
In our program, every course has three core components: Self-study, DataLab, and Assessment. Self-study teaches the core concepts independently of the course project. DataLab is where you apply those concepts to a real client challenge. Just like in a real project, this work produces deliverables such as code, reports, and presentations. These deliverables then form the basis for assessment.
For this public course, we kept all three components, but adapted them for independent learning without supervision or formal grading. Some activities that are part of the on-campus course are therefore simplified or omitted. For example, our students normally prepare and deliver a presentation as part of the assessment, while the public course focuses on the Kaggle competition as the main way to evaluate your solution and compare your performance.
There is no registration, no deadline and no certificate: start whenever you like and learn at your own pace. The course is free to use, also for other teachers in their own courses (license).
Are you a BUas student? Follow your course in the BUas learning environment. The data, deadlines and Kaggle competitions there differ from this public version.
📘 Self-study
Learn the concepts independently of the project.
- Learn how classification works
- Build and evaluate a model on a simple dataset
- Practice the workflow before using it in the project
🧪 DataLab Project
Apply what you learned to the real client challenge.
- Work with the molecular dataset
- Build a model to predict molecular stability
- Improve your solution through successive CRISP-DM iterations
🏁 Assessment
Demonstrate how well your solution performs.
- Predict on unseen molecules
- Submit your solution to the Kaggle competition
- Use your Kaggle score to evaluate and improve your model
About the data: The course uses real molecular structures and features. For a fair educational competition, course-specific target values are generated to follow realistic chemical distributions.
Why this course is different
Machine learning is more than modeling.
Many introductory machine-learning courses focus mainly on algorithms and model performance. However, there is a big difference between building a model with excellent accuracy and building an ML solution that actually helps a client. In this course, students experience the broader workflow: understanding the domain and the client problem, turning raw data into something useful, and improving a solution through repeated iteration.
Start with the client
Successful ML projects require more than ML knowledge. Students are not expected to become chemists, but they do need to spend time understanding the client problem. This also means looking beyond model metrics: Are we solving the right problem? What would make the model useful to the client? What information about a molecule should the model actually use, and how can we represent that information through meaningful features?
Work with raw data
Many courses start with datasets that are already clean and ready for modelling. Real projects rarely do. Students work with raw molecular data and learn how to inspect, understand and transform it into features suitable for machine learning. Preparing the data is not just a step before modelling, it is a core machine-learning skill.
Iterate through CRISP-DM
Iteration is often limited in teaching exercises: train a few models, compare the results, and move on. Real ML projects are much more iterative. Students repeatedly revisit data preparation, features, models and evaluation as they learn more about the problem. Some student projects in this course have gone through more than 100 experiments before reaching their final solution.
Student voices
What students say.
Selected answers from first-year students to the course evaluation survey.
I really like the fact that we worked with a real-life project and got the experience of a real data scientist role.
We have the opportunity to see the whole process of developing an ML model.
Kaggle competition allows us to experiment ourselves with the best approach.
Kaggle competition was very entertaining and eye opening, I had to truly understand code to get it right, and just asking Claude wouldn’t’ve cut it.
COURSE MATERIALS & SETUP
Everything you need to get started.
Textbook
The course uses selected chapters from the following book alongside the self-study materials.
Prerequisites
Python
Variables, data structures, control flow, functions, and basic object-oriented programming at the level of an introductory programming course.
NumPy
Array creation, indexing, slicing, broadcasting, and vectorised operations on multi-dimensional arrays.
Pandas
Series and DataFrame manipulation, reading data files, filtering, grouping, and basic data reshaping.
Matplotlib
Creating line plots, histograms, and scatter plots; customising figures for exploratory data analysis.
Course resources
Course repository
The course repository contains the code and data used throughout the course. Set up your computer explains how to download it and prepare your Python environment with uv.
Under preparation
Kaggle competition
The course includes a Kaggle competition where you generate predictions for unseen molecules and submit them for evaluation. Your leaderboard score gives you an indication of how well your solution performs.