facebook
favorite button
super instructor icon
Trusted teacher
This teacher has a fast response time and rate, demonstrating a high quality of service to their students.
member since icon
Since September 2023
Instructor since September 2023
C#, Microsoft.NET and General Introduction to Programming World
course price icon
From 31 £ /h
arrow icon
Having 7 years in programming, with languages such as C#, C++, C, Python, and Typescript, I have accumulated vast experience in this area.

In my experience, I have trained multiple Junior Programmers, many coming from completely different worlds, not necessarily even technical. My experience is that anyone can learn how to program, which is incredibly valuable knowledge to have in an increasingly digital world.

I speak English, Portuguese, Spanish, and French. I strongly believe I can teach anyone how to enter the programming world. If you come from 0, you learn fast and well. If you already have experience and wish to expand your knowledge and challenge yourself, this course is perfect for you as well.
Extra information
A laptop will be necessary.
Location
location type icon
Online from Spain
About Me
I'm an easygoing and social person, with the privilege of having visited and lived in already 4 countries. I studied, worked, and taught in different environments, which now I realize it become an advantage in terms of being able to teach to different people, from any culture or country.

I graduated in Robotics Engineering and started immediately working as a Software Developer. After 7 years of experience in multiple programming languages, I am more than convinced that I have the capacity to share my knowledge and make anyone a skilled developer. Furthermore, I know I can achieve this goal regardless of your previous experiences, even if is the furthest away from technology.

I can teach programming in English, Portuguese, and Spanish natively, and advanced level in French.
Education
I graduated in Robotics Engineering, after a Bachelor's in Mechanical Engineering. Since the beginning, the programming courses were most appealing to me, contributing to my decision to Robotics.
Experience / Qualifications
C#, .NET, C++, C

I have worked with C and C++ for 3.5 years in the Embedded Systems field. Here I can pass knowledge that goes beyond the programming languages itself, but also at an applicational and architectural level of how a critical system operates.


During this time I developed a cryptography product with a friend, based in C# and WPF. This 2 year experience cemented my skills in this programming language and triggered my interest in it. NET.

Following this experience, I worked in the automobile field again, but for autonomous vehicles using C# and Typescript. Later on followed by 8 months in the same field, but with Python.

For the past 6 years, I have been working with C# and .NET building microservices and microAPIS in the WEB environment, using technologies like GCP, Kubernetes, Azure DevOps, Octopus, and many more.

I consider myself a Senior Software Developer/Engineer, with ample and vast experience, which allows me to teach efficiently in the mentioned technologies.

I have a natural tendency to teach, to inspire, and to trigger enthusiasm in others. This, I believe, is what separates me from other peers and fellow tutors.
Age
Teenagers (13-17 years old)
Adults (18-64 years old)
Seniors (65+ years old)
Student level
Beginner
Intermediate
Advanced
Duration
45 minutes
60 minutes
The class is taught in
English
Portuguese
Spanish
Availability of a typical week
(GMT -04:00)
New York
at teacher icon
Online via webcam
Mon
Tue
Wed
Thu
Fri
Sat
Sun
00-04
04-08
08-12
12-16
16-20
20-24
Similar classes
arrow icon previousarrow icon next
verified badge
Python is one of the best, if not the best, language to start learning programming. It is also one of the most widely used languages today, especially in cutting-edge areas such as machine learning.

This popularity means that Python is constantly evolving. It offers a wide range of tools and libraries, which are free and very varied.

As an aeronautical engineer, I like to share my knowledge and derive satisfaction from it by teaching and motivating others.

I'm used to working with people of different ages. I believe in the importance of segmenting learning, visualizing progress, setting concrete goals and practicing regularly.

Beyond these general principles, there is no magic rule or method. Some approaches work with some students but not with others. Adaptation to individual needs is therefore the main objective of private lessons. So I will do my best to find what motivates and helps my student.
verified badge
With 7 years of experience as a developer in a Factory, I now develop Wordpress websites for large groups.

In the training program, you will learn to:

- Install, configure, and deploy WordPress sites
- Develop custom Wordpress themes and plugins
- Use powerful tools like ACF Pro, Gravity Forms, WPML, AIOS Security, WP rocket...
- Create custom post types and tailor-made taxonomies
- Develop pages using the right methods in HTML, CSS, Javascript & PHP
- Administer and manage a site database
- Contribute to the good natural referencing (SEO) of your site
- Use WP-Cli to speed up the maintenance of your sites
- Use Docker to containerize your local/prod projects and facilitate their management
- Administer your WP sites the right way
- And much more...

For any questions, you can contact me by PM.

See you soon,
Matthew
verified badge
doctoral student in engineering sciences provides support courses in analog and digital electronics at any DEUG level and engineering schools. having scientific and technical knowledge, three years of experience in the field of teaching, pedagogy and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they are having difficulty. for more info please contact me
verified badge
Are you a university student, engineer, or professional who needs to actually use data — not just learn theory about it?
This course is built around real problems and real code. We skip the textbook formulas and go straight to applying statistics and data science the way professionals do: with Python (pandas, NumPy, scikit-learn, matplotlib) and R (RStudio).
What we cover, adapted to your level and goals:
- Descriptive and inferential statistics (the ones that actually matter)
- Data cleaning, exploration, and visualization
- Regression, classification, and intro to machine learning
- Time series and forecasting basics
- R for statistical analysis and academic research

Who this is for:
- University students in statistics, economics, engineering, or biology
- Professionals wanting to move into data analysis or data science
- Researchers who need to process and present data properly

I use Python and R professionally as a working engineer — everything I teach comes from real application, not just academic exercises.
verified badge
* This digital training aims to introduce you to the Scratch tool and through the game world, and gradually, to discover programming concepts such as loops, conditions or variables. It is aimed at anyone who is new to Scratch and who wants to create games and animations.

* Learning programming will allow students to develop their skills and will certainly allow them to meet the expectations of the future working world and emerging careers.

* In addition, learning programming allows the development of algebraic, algorithmic and computational thinking. Programming also helps to improve and develop students' sequencing ability, as well as their communication skills. Thus, there are several advantages to teaching programming, but the important thing is to remember that this learning teaches students that digital is not only for entertainment, but that it is possible to become creators. active and creative content.
verified badge
While adults are still debating whether kids should use AI, they are already using it.
The question isn't "should they?" it's "how do we do it intelligently?"

In this course, your child will discover:
✓ What AI actually is: not magic, not mystery. How machines think, what they can do, what they can't
✓ How ChatGPT really works: not just "ask a question and get an answer," but why it responds that way, where it fails, when to trust it
✓ What LLMs are (Large Language Models): in language they understand, not tech jargon
✓ Create with AI: custom avatars, interactive stories, real projects using real tools
✓ Think critically about AI: Bias, privacy, creativity. What does AI do better than humans? What can't it do?
✓ Real-world applications: How AI transforms medicine, education, art, gaming, everyday life

Why this is different:
Most AI courses for kids teach "here's the tool, use it." I teach how to think about AI.
Your child will learn to see AI not as black magic or a solution to everything, but as a powerful tool with real limits.
And, more importantly: that they can control how they use it.

What they take home:
Real projects they created (custom avatar, interactive app, analysis of a real AI case study). A genuine understanding of how it works. And the ability to use AI responsibly and creatively.

Format: Online | 60–90 min sessions | Flexible, adapted to their age and pace

For curious kids asking "How does ChatGPT actually know things?"
verified badge
Python is a powerful and versatile programming language with countless possibilities. You can use it for data analysis, image processing, automation, software development, hardware control, and much more.

Do you want to create your own software?
Work with data or images?
Automate repetitive tasks?
Control or manage your own hardware?

Whether you are just starting to learn Python or already have a specific project and need some guidance, I would be happy to help you.

My goal is to explain things clearly, adapt to your level, and help you understand not only how to make something work, but also why it works.

Let's turn your ideas into working Python projects!
verified badge
Master Python with Personalized Courses

Discover the art of programming with Python courses tailor-made to meet your specific needs. Whether you are a beginner, intermediate or professional, my lessons are suitable for all levels.

Why Choose My Courses?

Personalized Teaching Approach: Each course is tailored to your skill level and individual goals.

Practical Experience: Learn by doing with real-world projects that build your understanding and skills.

Ongoing Support: Get unlimited email support for any questions you have between sessions.

As a Python expert, I have a passion for teaching and sharing my knowledge. My goal is to guide you effectively in your learning journey.

Book Your First Lesson:

Start your journey to Python mastery now by booking your first lesson. Whether you aspire to enter the development field or hone your existing skills, these courses are designed for you.
verified badge
Discover programming lessons suitable for children! With a fun and educational approach, my lessons allow young minds to dive into the fascinating world of programming. Provide your children with an enriching learning opportunity in a fun and stimulating environment.
verified badge
I teach Python specifically for finance and data applications - the kind used in economics, business analytics, and quantitative programs. This isn't a general "learn to code" course; it's built around real financial data, benchmarking, and the workflows you'll actually use in coursework or early career work.

Topics include:
Python fundamentals through a finance lens (data structures, functions, control flow).
Working with financial data and datasets.
Performance benchmarking and writing efficient code.
Applying concepts from Hilpisch's Python for Finance.
verified badge
This course is designed to introduce students aged 7 to 16 to the world of programming through two of the most widely used and industry-relevant languages: C++ and Python.

The class provides a structured, age-appropriate pathway into programming, whether the student is a complete beginner or already exploring coding through platforms like Scratch or Code.org. Emphasis is placed on understanding logic, building problem-solving skills, and writing real code in a supportive, project-based environment.

Taught by an engineering student with hands-on experience in both C++ and Python, this course empowers students to explore the power of code and build a strong foundation in computational thinking — essential for future studies in engineering, robotics, AI, or game development.
verified badge
For boys and girls who like games and want to understand and try out how AI moves characters, stories, and worlds.

You don't need to know how to program. You just need curiosity and a computer.

What do we do?
• Characters that don't stay still: in Scratch (or similar) we program an NPC that reacts to the player (follow, flee, change mood, choose a dialogue).
• Pieces of the world: how to sketch textures, backgrounds or a backstory with generative tools and what is okay to use or not (rights, copying style from a famous game, etc.).
• Branching story: a simple decision tree so the game changes depending on the player's choices.

Each session looks for something that can be taught at home: a character that reacts, a minimal map, a dialogue with two endings.

Rhythm
If it's engaging, a block of 6–8 sessions is enough for a mini-game or a playable scene. Sessions are 60 minutes long.

Recommended age: 10–16 years. If they are younger but already comfortable with Scratch, they may also be a good fit.
verified badge
These courses are part of a structured and progressive training in Object-Oriented Programming (OOP) with JavaScript, designed for beginner or intermediate developers who want to understand in depth how the language works, write clearer, more maintainable code and prepare themselves calmly for modern frameworks like React ⚛️.

Object-Oriented Programming is often perceived as complex or abstract.

My goal is simple: to make it logical, concrete, and immediately applicable.

🎯 Training Objectives

Upon completion of this training, you will be able to:

Understanding what Object-Oriented Programming really is (and when to use it)
Create and manipulate objects in JavaScript in a clean and efficient way
Use ES6 classes, constructors, and methods with confidence
Mastering this, the prototype, and the instantiation logic
Apply encapsulation, inheritance, and polymorphism without confusion
Avoiding common mistakes made by OOP beginners
Structure your JavaScript code like a professional developer

📖 Training Plan – Object-Oriented Programming in JavaScript
1. Introduction to Object-Oriented Programming 🧠
Understanding the concept, objectives and benefits of OOP.
2. Procedural Programming vs. OOP
Why unstructured code quickly becomes unmanageable.
3. Objects in JavaScript
Properties, methods and representation of the real world.
4. The keyword this
Understanding the execution context (often poorly understood).
5. Limitations of simple objects
Why duplicating code is a bad idea.
6. Constructive functions
Create multiple objects from the same model.
7. The keyword new
What it's actually doing under the hood.
8. The prototype
Sharing methods and memory optimization.
9. ES6 Classes
Modern syntax and best practices.
10. The builder
Proper initialization of objects.
11. Data Encapsulation
Protect the internal state of objects.
12. Inheritance between classes
Reusing code intelligently.
13. The keyword super
Communication between parent and child in the classroom.
14. Polymorphism
The same behavior, several forms.
15. Composition vs. Inheritance
Choosing the right architecture.
16. Best practices in OOP
Write readable, scalable, and maintainable code.
17. Common mistakes made by beginners
Pitfalls to absolutely avoid.
18. Guided practical exercise
Creation of a concrete class (product, user, etc.).
19. Assessment Quiz (Multiple Choice Questions)
To validate the actual understanding of the concepts.

🛠️ Teaching method: Understand before writing

This training program is based on a progressive and pragmatic approach:
Clear and illustrated explanations
Concrete examples from real projects
Simple but effective exercises
Constant questioning to avoid rote learning
Adaptation to the learner's level and pace
Here, we don't "recite OOP" — we understand it.

🚀 Learner's result

At the end of the training, you will not only know how to write a JavaScript class.
You will know:

1- Why does it exist?
2- When to use it
3- and when not to use it

You will leave with:
a solid understanding of OOP
a cleaner and more professional code
an ideal foundation for learning React, Node.js or any other modern framework
verified badge
A- TOPICS YOU CAN EXPLORE AND MASTER:
1- PYTHON FOUNDATIONS
• Variables, data types, operators, conditional structures, loops, functions, modules, files, exceptions, and object-oriented programming
• Lists, tuples, dictionaries, sets, comprehensions, debugging, and writing clear, reusable, well-structured code
• Jupyter Notebook, Anaconda, Visual Studio Code, virtual environments, and package management

2 — PROGRAMMING, ALGORITHMS, AND COMPUTER SCIENCE FOUNDATIONS
• Algorithmic thinking, problem decomposition, pseudocode, flowcharts, procedural programming, object-oriented programming, recursion, and modular program design
• Fundamental data structures including arrays, lists, stacks, queues, dictionaries/hash tables, sets, trees, graphs, and their appropriate use
• Searching, sorting, traversal, algorithm efficiency, computational complexity, Big-O notation, debugging, testing, code organization, and problem-solving strategies
• Practical programming exercises ranging from beginner problems to university-level algorithmic and computational challenges

3- DATA PREPARATION AND EXPLORATION
• NumPy and pandas for importing, cleaning, transforming, filtering, grouping, reshaping, and merging data
• Missing values, duplicates, outliers, inconsistent formats, data leakage, and data-quality validation
• Exploratory data analysis using descriptive statistics, Matplotlib, Seaborn, and graphical interpretation

4- MATHEMATICAL FOUNDATIONS
• Linear algebra, vectors, matrices, derivatives, optimization, probability, and statistics
• Loss functions, gradients, distance measures, regularization, likelihood, and model complexity
• Mathematical concepts are explained according to the learner’s level and the requirements of the selected algorithms

5- SUPERVISED MACHINE LEARNING
• Linear and polynomial regression, logistic regression, and regularized models
• k-nearest neighbours, decision trees, random forests, gradient boosting, support vector machines, and Naive Bayes classifiers
• Classification, regression, model assumptions, decision boundaries, feature importance, and interpretation of results

6- UNSUPERVISED LEARNING
• Clustering using k-means, hierarchical clustering, and density-based methods
• Principal component analysis, dimensionality reduction, anomaly detection, and pattern or structure discovery
• Method selection, evaluation of data structure, and interpretation of results without predefined labels

7- MODEL EVALUATION AND IMPROVEMENT
• Training, validation, and test sets; cross-validation; hyperparameter optimization
• Accuracy, precision, recall, specificity, F1 score, ROC–AUC, confusion matrices, MAE, MSE, RMSE, and R2
• Underfitting, overfitting, bias–variance trade-off, class imbalance, feature engineering, feature selection, scaling, and regularization

8- DEEP LEARNING
• Neural-network foundations, activation functions, forward propagation, backpropagation, and gradient descent
• Multilayer perceptrons, convolutional neural networks, recurrent neural networks, and Transformer foundations
• TensorFlow, Keras, or PyTorch depending on the learner’s project and working environment

9- ARTIFICIAL INTELLIGENCE APPLICATIONS
• Natural language processing, text classification, embeddings, sentiment analysis, and foundations of language models
• Computer vision, image classification, fundamental principles of object detection, and image preprocessing
• Recommendation systems, forecasting, anomaly detection, intelligent automation, and decision-support applications

10- GENERATIVE AI AND LARGE LANGUAGE MODELS
• Transformer architecture, tokens, embeddings, attention mechanisms, prompt engineering, Retrieval-Augmented Generation (RAG), and model evaluation
• Use of artificial-intelligence APIs, vector databases, document-retrieval systems, and structured AI-enabled workflows when relevant
• Reliability, hallucinations, bias, privacy, responsible use, and appropriate human validation

11- TOOLS AND LIBRARIES
• Python, NumPy, pandas, Matplotlib, Seaborn, scikit-learn, SciPy, Statsmodels, TensorFlow, Keras, and PyTorch
• Jupyter Notebook, Anaconda, Visual Studio Code, Git, GitHub, SQL, Excel, and Power BI when useful to the project
• Additional libraries may be introduced depending on the selected specialization and dataset

12- PROJECTS, RESEARCH, AND INTERVIEW PREPARATION
• Complete projects covering data preparation, model development, evaluation, interpretation, and presentation of results
• University assignments, dissertations, theses, research projects, portfolio projects, technical interviews, and professional applications
• Code review, debugging, documentation, reproducibility, model comparison, and communication of results

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
B- PERSONALIZED TUTORING: LEARNING HOW TO REASON
Machine learning and artificial intelligence become much more accessible when mathematics, algorithms, Python code, data, and real-world applications are clearly connected.

My lessons help you move beyond simply copying code or using models as “black boxes.” You will learn how to define the problem correctly, prepare the data, select an appropriate algorithm, understand how it works, train and evaluate the model, diagnose errors, improve performance, and interpret results rigorously and responsibly.

Each lesson is personalized according to your current level, mathematical background, programming experience, dataset, university work, research project, interview preparation, or professional objective. We begin by identifying your existing knowledge, software environment, expected outcomes, and main conceptual or technical difficulties. We then establish a structured learning plan.

The first lesson combines a discussion of your background, objectives, and tutoring needs; an initial assessment of your current knowledge; personalized planning and organization of future sessions; and a short trial lesson to determine the most effective learning approach.

A typical session may include conceptual explanation, development of mathematical intuition, live coding, guided implementation, model evaluation, technical problem solving, and a concise summary of the next steps.

You may work with your own dataset, university assignment, research project, or professional problem, provided that confidential information is handled appropriately. I can also provide structured examples and datasets suited to your level.

My goal is not simply to help you run an algorithm. It is to help you understand why it is appropriate, how it learns from data, how to evaluate it correctly, why it may fail, and how to build a reliable, interpretable, and scientifically rigorous solution.
verified badge
Learn how to build modern websites and mobile applications from scratch and develop the practical skills needed for real-world projects.

In this Frontend & Mobile Development course, I’ll guide you step by step through the technologies and tools commonly used by developers, including HTML, CSS, JavaScript, Angular, Git, GitHub, VS Code, and mobile application development.

You’ll learn how to create responsive and interactive websites, build structured applications with Angular, manage your code using Git and GitHub, and use VS Code efficiently for development. We’ll also explore how frontend technologies can be used to create mobile applications.

The course is suitable for beginners and intermediate learners. Lessons are practical and project-based, so you’ll learn by actually building websites and applications rather than only studying theory.

My goal is to help you understand how and why the code works, improve your problem-solving skills, learn professional development practices, and gain the confidence to create your own projects independently.

Lessons can be adapted to your experience level, learning pace, and personal or career goals.
message icon
Contact David
repeat students icon
1st lesson is backed
by our
Good-fit Instructor Guarantee
Similar classes
arrow icon previousarrow icon next
verified badge
Python is one of the best, if not the best, language to start learning programming. It is also one of the most widely used languages today, especially in cutting-edge areas such as machine learning.

This popularity means that Python is constantly evolving. It offers a wide range of tools and libraries, which are free and very varied.

As an aeronautical engineer, I like to share my knowledge and derive satisfaction from it by teaching and motivating others.

I'm used to working with people of different ages. I believe in the importance of segmenting learning, visualizing progress, setting concrete goals and practicing regularly.

Beyond these general principles, there is no magic rule or method. Some approaches work with some students but not with others. Adaptation to individual needs is therefore the main objective of private lessons. So I will do my best to find what motivates and helps my student.
verified badge
With 7 years of experience as a developer in a Factory, I now develop Wordpress websites for large groups.

In the training program, you will learn to:

- Install, configure, and deploy WordPress sites
- Develop custom Wordpress themes and plugins
- Use powerful tools like ACF Pro, Gravity Forms, WPML, AIOS Security, WP rocket...
- Create custom post types and tailor-made taxonomies
- Develop pages using the right methods in HTML, CSS, Javascript & PHP
- Administer and manage a site database
- Contribute to the good natural referencing (SEO) of your site
- Use WP-Cli to speed up the maintenance of your sites
- Use Docker to containerize your local/prod projects and facilitate their management
- Administer your WP sites the right way
- And much more...

For any questions, you can contact me by PM.

See you soon,
Matthew
verified badge
doctoral student in engineering sciences provides support courses in analog and digital electronics at any DEUG level and engineering schools. having scientific and technical knowledge, three years of experience in the field of teaching, pedagogy and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they are having difficulty. for more info please contact me
verified badge
Are you a university student, engineer, or professional who needs to actually use data — not just learn theory about it?
This course is built around real problems and real code. We skip the textbook formulas and go straight to applying statistics and data science the way professionals do: with Python (pandas, NumPy, scikit-learn, matplotlib) and R (RStudio).
What we cover, adapted to your level and goals:
- Descriptive and inferential statistics (the ones that actually matter)
- Data cleaning, exploration, and visualization
- Regression, classification, and intro to machine learning
- Time series and forecasting basics
- R for statistical analysis and academic research

Who this is for:
- University students in statistics, economics, engineering, or biology
- Professionals wanting to move into data analysis or data science
- Researchers who need to process and present data properly

I use Python and R professionally as a working engineer — everything I teach comes from real application, not just academic exercises.
verified badge
* This digital training aims to introduce you to the Scratch tool and through the game world, and gradually, to discover programming concepts such as loops, conditions or variables. It is aimed at anyone who is new to Scratch and who wants to create games and animations.

* Learning programming will allow students to develop their skills and will certainly allow them to meet the expectations of the future working world and emerging careers.

* In addition, learning programming allows the development of algebraic, algorithmic and computational thinking. Programming also helps to improve and develop students' sequencing ability, as well as their communication skills. Thus, there are several advantages to teaching programming, but the important thing is to remember that this learning teaches students that digital is not only for entertainment, but that it is possible to become creators. active and creative content.
verified badge
While adults are still debating whether kids should use AI, they are already using it.
The question isn't "should they?" it's "how do we do it intelligently?"

In this course, your child will discover:
✓ What AI actually is: not magic, not mystery. How machines think, what they can do, what they can't
✓ How ChatGPT really works: not just "ask a question and get an answer," but why it responds that way, where it fails, when to trust it
✓ What LLMs are (Large Language Models): in language they understand, not tech jargon
✓ Create with AI: custom avatars, interactive stories, real projects using real tools
✓ Think critically about AI: Bias, privacy, creativity. What does AI do better than humans? What can't it do?
✓ Real-world applications: How AI transforms medicine, education, art, gaming, everyday life

Why this is different:
Most AI courses for kids teach "here's the tool, use it." I teach how to think about AI.
Your child will learn to see AI not as black magic or a solution to everything, but as a powerful tool with real limits.
And, more importantly: that they can control how they use it.

What they take home:
Real projects they created (custom avatar, interactive app, analysis of a real AI case study). A genuine understanding of how it works. And the ability to use AI responsibly and creatively.

Format: Online | 60–90 min sessions | Flexible, adapted to their age and pace

For curious kids asking "How does ChatGPT actually know things?"
verified badge
Python is a powerful and versatile programming language with countless possibilities. You can use it for data analysis, image processing, automation, software development, hardware control, and much more.

Do you want to create your own software?
Work with data or images?
Automate repetitive tasks?
Control or manage your own hardware?

Whether you are just starting to learn Python or already have a specific project and need some guidance, I would be happy to help you.

My goal is to explain things clearly, adapt to your level, and help you understand not only how to make something work, but also why it works.

Let's turn your ideas into working Python projects!
verified badge
Master Python with Personalized Courses

Discover the art of programming with Python courses tailor-made to meet your specific needs. Whether you are a beginner, intermediate or professional, my lessons are suitable for all levels.

Why Choose My Courses?

Personalized Teaching Approach: Each course is tailored to your skill level and individual goals.

Practical Experience: Learn by doing with real-world projects that build your understanding and skills.

Ongoing Support: Get unlimited email support for any questions you have between sessions.

As a Python expert, I have a passion for teaching and sharing my knowledge. My goal is to guide you effectively in your learning journey.

Book Your First Lesson:

Start your journey to Python mastery now by booking your first lesson. Whether you aspire to enter the development field or hone your existing skills, these courses are designed for you.
verified badge
Discover programming lessons suitable for children! With a fun and educational approach, my lessons allow young minds to dive into the fascinating world of programming. Provide your children with an enriching learning opportunity in a fun and stimulating environment.
verified badge
I teach Python specifically for finance and data applications - the kind used in economics, business analytics, and quantitative programs. This isn't a general "learn to code" course; it's built around real financial data, benchmarking, and the workflows you'll actually use in coursework or early career work.

Topics include:
Python fundamentals through a finance lens (data structures, functions, control flow).
Working with financial data and datasets.
Performance benchmarking and writing efficient code.
Applying concepts from Hilpisch's Python for Finance.
verified badge
This course is designed to introduce students aged 7 to 16 to the world of programming through two of the most widely used and industry-relevant languages: C++ and Python.

The class provides a structured, age-appropriate pathway into programming, whether the student is a complete beginner or already exploring coding through platforms like Scratch or Code.org. Emphasis is placed on understanding logic, building problem-solving skills, and writing real code in a supportive, project-based environment.

Taught by an engineering student with hands-on experience in both C++ and Python, this course empowers students to explore the power of code and build a strong foundation in computational thinking — essential for future studies in engineering, robotics, AI, or game development.
verified badge
For boys and girls who like games and want to understand and try out how AI moves characters, stories, and worlds.

You don't need to know how to program. You just need curiosity and a computer.

What do we do?
• Characters that don't stay still: in Scratch (or similar) we program an NPC that reacts to the player (follow, flee, change mood, choose a dialogue).
• Pieces of the world: how to sketch textures, backgrounds or a backstory with generative tools and what is okay to use or not (rights, copying style from a famous game, etc.).
• Branching story: a simple decision tree so the game changes depending on the player's choices.

Each session looks for something that can be taught at home: a character that reacts, a minimal map, a dialogue with two endings.

Rhythm
If it's engaging, a block of 6–8 sessions is enough for a mini-game or a playable scene. Sessions are 60 minutes long.

Recommended age: 10–16 years. If they are younger but already comfortable with Scratch, they may also be a good fit.
verified badge
These courses are part of a structured and progressive training in Object-Oriented Programming (OOP) with JavaScript, designed for beginner or intermediate developers who want to understand in depth how the language works, write clearer, more maintainable code and prepare themselves calmly for modern frameworks like React ⚛️.

Object-Oriented Programming is often perceived as complex or abstract.

My goal is simple: to make it logical, concrete, and immediately applicable.

🎯 Training Objectives

Upon completion of this training, you will be able to:

Understanding what Object-Oriented Programming really is (and when to use it)
Create and manipulate objects in JavaScript in a clean and efficient way
Use ES6 classes, constructors, and methods with confidence
Mastering this, the prototype, and the instantiation logic
Apply encapsulation, inheritance, and polymorphism without confusion
Avoiding common mistakes made by OOP beginners
Structure your JavaScript code like a professional developer

📖 Training Plan – Object-Oriented Programming in JavaScript
1. Introduction to Object-Oriented Programming 🧠
Understanding the concept, objectives and benefits of OOP.
2. Procedural Programming vs. OOP
Why unstructured code quickly becomes unmanageable.
3. Objects in JavaScript
Properties, methods and representation of the real world.
4. The keyword this
Understanding the execution context (often poorly understood).
5. Limitations of simple objects
Why duplicating code is a bad idea.
6. Constructive functions
Create multiple objects from the same model.
7. The keyword new
What it's actually doing under the hood.
8. The prototype
Sharing methods and memory optimization.
9. ES6 Classes
Modern syntax and best practices.
10. The builder
Proper initialization of objects.
11. Data Encapsulation
Protect the internal state of objects.
12. Inheritance between classes
Reusing code intelligently.
13. The keyword super
Communication between parent and child in the classroom.
14. Polymorphism
The same behavior, several forms.
15. Composition vs. Inheritance
Choosing the right architecture.
16. Best practices in OOP
Write readable, scalable, and maintainable code.
17. Common mistakes made by beginners
Pitfalls to absolutely avoid.
18. Guided practical exercise
Creation of a concrete class (product, user, etc.).
19. Assessment Quiz (Multiple Choice Questions)
To validate the actual understanding of the concepts.

🛠️ Teaching method: Understand before writing

This training program is based on a progressive and pragmatic approach:
Clear and illustrated explanations
Concrete examples from real projects
Simple but effective exercises
Constant questioning to avoid rote learning
Adaptation to the learner's level and pace
Here, we don't "recite OOP" — we understand it.

🚀 Learner's result

At the end of the training, you will not only know how to write a JavaScript class.
You will know:

1- Why does it exist?
2- When to use it
3- and when not to use it

You will leave with:
a solid understanding of OOP
a cleaner and more professional code
an ideal foundation for learning React, Node.js or any other modern framework
verified badge
A- TOPICS YOU CAN EXPLORE AND MASTER:
1- PYTHON FOUNDATIONS
• Variables, data types, operators, conditional structures, loops, functions, modules, files, exceptions, and object-oriented programming
• Lists, tuples, dictionaries, sets, comprehensions, debugging, and writing clear, reusable, well-structured code
• Jupyter Notebook, Anaconda, Visual Studio Code, virtual environments, and package management

2 — PROGRAMMING, ALGORITHMS, AND COMPUTER SCIENCE FOUNDATIONS
• Algorithmic thinking, problem decomposition, pseudocode, flowcharts, procedural programming, object-oriented programming, recursion, and modular program design
• Fundamental data structures including arrays, lists, stacks, queues, dictionaries/hash tables, sets, trees, graphs, and their appropriate use
• Searching, sorting, traversal, algorithm efficiency, computational complexity, Big-O notation, debugging, testing, code organization, and problem-solving strategies
• Practical programming exercises ranging from beginner problems to university-level algorithmic and computational challenges

3- DATA PREPARATION AND EXPLORATION
• NumPy and pandas for importing, cleaning, transforming, filtering, grouping, reshaping, and merging data
• Missing values, duplicates, outliers, inconsistent formats, data leakage, and data-quality validation
• Exploratory data analysis using descriptive statistics, Matplotlib, Seaborn, and graphical interpretation

4- MATHEMATICAL FOUNDATIONS
• Linear algebra, vectors, matrices, derivatives, optimization, probability, and statistics
• Loss functions, gradients, distance measures, regularization, likelihood, and model complexity
• Mathematical concepts are explained according to the learner’s level and the requirements of the selected algorithms

5- SUPERVISED MACHINE LEARNING
• Linear and polynomial regression, logistic regression, and regularized models
• k-nearest neighbours, decision trees, random forests, gradient boosting, support vector machines, and Naive Bayes classifiers
• Classification, regression, model assumptions, decision boundaries, feature importance, and interpretation of results

6- UNSUPERVISED LEARNING
• Clustering using k-means, hierarchical clustering, and density-based methods
• Principal component analysis, dimensionality reduction, anomaly detection, and pattern or structure discovery
• Method selection, evaluation of data structure, and interpretation of results without predefined labels

7- MODEL EVALUATION AND IMPROVEMENT
• Training, validation, and test sets; cross-validation; hyperparameter optimization
• Accuracy, precision, recall, specificity, F1 score, ROC–AUC, confusion matrices, MAE, MSE, RMSE, and R2
• Underfitting, overfitting, bias–variance trade-off, class imbalance, feature engineering, feature selection, scaling, and regularization

8- DEEP LEARNING
• Neural-network foundations, activation functions, forward propagation, backpropagation, and gradient descent
• Multilayer perceptrons, convolutional neural networks, recurrent neural networks, and Transformer foundations
• TensorFlow, Keras, or PyTorch depending on the learner’s project and working environment

9- ARTIFICIAL INTELLIGENCE APPLICATIONS
• Natural language processing, text classification, embeddings, sentiment analysis, and foundations of language models
• Computer vision, image classification, fundamental principles of object detection, and image preprocessing
• Recommendation systems, forecasting, anomaly detection, intelligent automation, and decision-support applications

10- GENERATIVE AI AND LARGE LANGUAGE MODELS
• Transformer architecture, tokens, embeddings, attention mechanisms, prompt engineering, Retrieval-Augmented Generation (RAG), and model evaluation
• Use of artificial-intelligence APIs, vector databases, document-retrieval systems, and structured AI-enabled workflows when relevant
• Reliability, hallucinations, bias, privacy, responsible use, and appropriate human validation

11- TOOLS AND LIBRARIES
• Python, NumPy, pandas, Matplotlib, Seaborn, scikit-learn, SciPy, Statsmodels, TensorFlow, Keras, and PyTorch
• Jupyter Notebook, Anaconda, Visual Studio Code, Git, GitHub, SQL, Excel, and Power BI when useful to the project
• Additional libraries may be introduced depending on the selected specialization and dataset

12- PROJECTS, RESEARCH, AND INTERVIEW PREPARATION
• Complete projects covering data preparation, model development, evaluation, interpretation, and presentation of results
• University assignments, dissertations, theses, research projects, portfolio projects, technical interviews, and professional applications
• Code review, debugging, documentation, reproducibility, model comparison, and communication of results

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
B- PERSONALIZED TUTORING: LEARNING HOW TO REASON
Machine learning and artificial intelligence become much more accessible when mathematics, algorithms, Python code, data, and real-world applications are clearly connected.

My lessons help you move beyond simply copying code or using models as “black boxes.” You will learn how to define the problem correctly, prepare the data, select an appropriate algorithm, understand how it works, train and evaluate the model, diagnose errors, improve performance, and interpret results rigorously and responsibly.

Each lesson is personalized according to your current level, mathematical background, programming experience, dataset, university work, research project, interview preparation, or professional objective. We begin by identifying your existing knowledge, software environment, expected outcomes, and main conceptual or technical difficulties. We then establish a structured learning plan.

The first lesson combines a discussion of your background, objectives, and tutoring needs; an initial assessment of your current knowledge; personalized planning and organization of future sessions; and a short trial lesson to determine the most effective learning approach.

A typical session may include conceptual explanation, development of mathematical intuition, live coding, guided implementation, model evaluation, technical problem solving, and a concise summary of the next steps.

You may work with your own dataset, university assignment, research project, or professional problem, provided that confidential information is handled appropriately. I can also provide structured examples and datasets suited to your level.

My goal is not simply to help you run an algorithm. It is to help you understand why it is appropriate, how it learns from data, how to evaluate it correctly, why it may fail, and how to build a reliable, interpretable, and scientifically rigorous solution.
verified badge
Learn how to build modern websites and mobile applications from scratch and develop the practical skills needed for real-world projects.

In this Frontend & Mobile Development course, I’ll guide you step by step through the technologies and tools commonly used by developers, including HTML, CSS, JavaScript, Angular, Git, GitHub, VS Code, and mobile application development.

You’ll learn how to create responsive and interactive websites, build structured applications with Angular, manage your code using Git and GitHub, and use VS Code efficiently for development. We’ll also explore how frontend technologies can be used to create mobile applications.

The course is suitable for beginners and intermediate learners. Lessons are practical and project-based, so you’ll learn by actually building websites and applications rather than only studying theory.

My goal is to help you understand how and why the code works, improve your problem-solving skills, learn professional development practices, and gain the confidence to create your own projects independently.

Lessons can be adapted to your experience level, learning pace, and personal or career goals.
Good-fit Instructor Guarantee
favorite button
message icon
Contact David