Teaching Philosophy

I love teaching data science because I get to witness real transformations. One of my favourite moments is when students realise that data science is more about mindset than skillset.

How to approach data. How to build a controlled workflow. How to reframe a problem to make it more accessible. How to recover when things don’t go as planned.

Those are the habits that lead to independence.

One analogy I often use is that of a scientist in a laboratory. Nobody walks into a lab, grabs a few colourful bottles, mixes them together, and hopes something useful happens. Every experiment starts with a question, a strategy, and a plan.

Data analysis deserves exactly the same discipline. So why should we treat computer work any differently?

One thing I’ve noticed is that most students I had, and colleagues I worked with, didn’t struggle with writing code. They struggled with a lack of structure and direction. They struggled with deciding what to do next.

And there are good reasons for that. Computer science moves incredibly fast. Languages evolve. Packages change. AI models appear almost weekly. What you learned yesterday can feel outdated tomorrow.

Once you develop that skill, your value shifts from “the person who knows method X” to “the person who knows how to solve problems.”

That flexibility gives you independence. That’s what I want for you.

AI changed everything. And almost nothing.

Artificial intelligence has transformed the way I work. And what I teach.

When I think back to learning my first programming languages, I mostly remember syntax errors, forgotten arguments, and constantly mixing up R and Python. That was simply part of learning.

Today, beginners have an assistant that can write working code in seconds. What a fantastic time to learn data science!

But AI has not replaced understanding. It hasn’t replaced judgement. And it certainly hasn’t replaced curiosity.

You still need to define the problem, decide whether the proposed solution makes sense, and recognise when something has gone wrong.

In other words, you still need to pilot the whole thing. The difference is that you can now delegate much of the mechanics to AI and spend more time on what actually matters.

The same happened to me as a teacher. For years, I was teaching syntax and lists of functions because students had no alternative. Today, AI can take care of most of that.

That gives me the freedom to spend far more time teaching what I always considered the most interesting part of data science: how to think with data.

That also means my courses have changed. I spend far less time teaching syntax and individual functions than I used to. Programming languages are tools, and tools evolve. The principles behind them don’t. Once you understand data structures, reproducible workflows, and how to formulate a good question, moving between packages or even programming languages becomes surprisingly straightforward.

Slow at the beginning. Faster at the end.

One of the biggest surprises for newcomers is that experienced data scientists often don’t start by writing code. They start by thinking.

Most of the important decisions happen before the first line of code.

  • What is the question?
  • Do we actually have the data?
  • Can those data answer the question?
  • What assumptions are we making?

Only once those questions have good answers does it make sense to think about methods, packages, or programming languages.

That’s also why I prefer teaching with real data.

Real projects rarely begin with a perfectly curated dataset waiting to be analysed. They begin with inconsistent names, missing values, unexpected formats, and a series of decisions that need to be made before any analysis can even begin.

Preparing data for analysis isn’t a preliminary step. Preparing data for analysis is data science.

Once the foundations are solid, coding becomes surprisingly straightforward. The path is clear, every step has a purpose, and the tools become exactly what they should be: tools.

That’s the rhythm I try to teach.

Slow at the beginning. Faster at the end.

Things I don’t teach

  • I don’t teach people to memorise syntax. I want you to remember concepts.
  • I don’t teach recipes that only work in one situation. I want you to understand processes.
  • I don’t teach blind trust in AI. I want you to understand every suggestion AI makes.
  • And I don’t believe there is a single “correct” workflow that applies to every project. There are many ways to go from A to B, and the best way is the way that is the easiest for YOU based on your current skillset.

Good data science depends on judgement.

Judgement comes from understanding.

Everything else can be looked up.

Want to learn together?

Everything you’ve read on this page reflects how I design my workshops, in which the goal is to help people become more independent with their day-to-day data work.

Whether I’m teaching a public workshop, designing training for a research institute, or working with a small team, the objective is always the same: help people think more clearly about data so they can tackle new problems with confidence.

That’s the philosophy behind DataSharp Academy.

If that philosophy resonates with you, I’d be delighted to work with you or your organisation. Although I already have a collection of ready-made workshops available, I’m always happy to design a workshop around your questions, datasets, and objectives. So let’s talk and see what can be done.

I hope we’ll get the opportunity to learn together.

— Manuel