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 July 2023
Instructor since July 2023
Programming lessons: All levels - Algorithms/Data structures/Objects
course price icon
From 24 £ /h
arrow icon
Hi! My name is Federico, and I am a Senior Software Engineer working with more than 10 years of professional experience.
After interviewing hundreds of candidates I see that a
good number of developers are interested in improving skills related to OOP, TDD, clean code, SOLID principles, design patterns, architecture patterns and all those techniques that help us to write more robust and testable code with a LEAN mindset. I hope I can help more curious people who share this passion about software development.
Location
location type icon
Online from Netherlands
Age
Teenagers (13-17 years old)
Adults (18-64 years old)
Seniors (65+ years old)
Student level
Beginner
Intermediate
Advanced
Duration
60 minutes
90 minutes
The class is taught in
English
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
Hello, I am a doctoral student in electrical engineering and associate professor in engineering sciences, experienced in the field of electrical engineering, I offer support courses in the subjects of engineering sciences (Electronics, automatics, electrical engineering, automation, programming).

Digital electronics
Analog electronic
electromagnetism (propagation of high frequency waves)
Automatic (continuous, sampled)
electrical engineering (transformers, electrical machines, switching power supply)
C / c ++ programming, Assembler, ARM, STM32
renewable energy (wind, PV)
engineering Sciences
RDM
Python,VHDL
PIC Microprocessor and Microcontroller
Signal processing and data acquisition
Engineering Sciences

These courses allow the student to get up to speed and regain confidence in all scientific subjects, just as they prepare him effectively for the Baccalaureate, the Preparatory Classes or various examinations of the engineering classes.

COURSE OBJECTIVES AND PEDAGOGICAL APPROACH

Resumption and deepening of fundamental concepts through exercises with course reminders.

Put the student in a situation of questioning and research.

Respond to individual issues and questions

Exercise training in order to achieve real mastery of the content.

Learn to build theoretical reasoning from observable facts or hypotheses.

Specific preparation for higher education requirements (in-depth content, increase in work capacity, enrichment of scientific background)

This educational approach is effective since it has often led me to interesting results with my students.

Associate professor provides support courses in electrical engineering
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
Python is the most in-demand programming language in the world right now — and one of the easiest to learn with the right guidance.
Whether you've never written a line of code or you're a student who needs to pass a programming course, this is a practical, no-fluff introduction that gets you writing real code from session one.
What we can cover depending on your goals:

Python fundamentals: variables, loops, functions, data structures
- Object-oriented programming (OOP)
- Data manipulation with pandas and NumPy
- Introduction to machine learning with scikit-learn
- Database management with SQL
- C and Java upon request
- MATLAB and R available for engineering/science students

Why learn with me?
I'm not a student teaching on the side — I'm a professional engineer who uses Python daily for data analysis, modeling, and automation. I know exactly which concepts matter in the real world and which ones you can skip for now.
Sessions are 100% personalized: I adapt the pace, the examples, and the exercises to your background and your goal — whether that's passing your university exam, building a project, or landing a job.
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
Take your Python programming skills to the next level with this course that builds upon the successful Python for Everybody program.
Discover fundamental programming concepts, including data structures, networked application program interfaces, and databases, and unleash your creativity as you design and develop your own cutting-edge applications for data retrieval, processing, and visualization in the final Project.

With the latest technologies and techniques at your fingertips, the possibilities are endless!
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
Classes are face-to-face at the student's home or via webcam. You will learn computer science according to your level and what you want to learn. I am a computer science student so quite versatile. As far as programming is concerned, the possible languages are: HTML, CSS, PHP, Python, C and C++, for the network, introduction to software such as Cisco packet tracer, GNS3, vmware, virtual box. Introductory computer courses, even rudimentary ones, are possible. You will learn in a jovial and encouraging atmosphere, I have a lot of experience in the field of teaching and I am comfortable with children
verified badge
Description:
Get started with web development and learn how to create modern applications. This course takes you from the basics (HTML/CSS) to advanced concepts (security, APIs).

Goals :

Master HTML, CSS and JavaScript.
Understand the basics of authentication and web services.
Explore the concepts of security and load testing.
Course methods and format:

Video course: Creation of interactive mini-web projects.
Flexibility: Adapted to specific needs (beginner or advanced).
For who ?
Students, budding developers or professionals wishing to get started in the web.
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 for anyone interested in learning data science using Python. It provides a hands-on introduction to fundamental data analysis tools such as NumPy, pandas, matplotlib, and seaborn. You'll learn how to manipulate datasets, create visualizations, and lay the foundations for statistical analysis and machine learning.

The course combines theory and practical exercises for effective, practical progress. No prior programming experience is necessary: we'll start with the basics to build solid, usable skills quickly.
verified badge
# **Master C/C++: Build the Foundation of Modern Software Development**

Unlock the power of one of the most influential programming languages in computing history! Whether you're an absolute beginner or looking to deepen your expertise, this comprehensive C/C++ course delivers structured learning from fundamentals to advanced concepts that power operating systems, game engines, and high-performance applications.

## **Why Choose This C/C++ Program?**

**Industry-Relevant Curriculum:** Learn expert guidance on the design of effective classes, functions, templates, and inheritance patterns that form the backbone of professional C++ development. Move beyond basic syntax to understand how to write clean, efficient, and maintainable code that stands the test of time.

**Templates & Generic Programming Mastery:** Go beyond introductory material with in-depth coverage of templates—the cornerstone of modern C++—enabling you to create robust, reusable code components that work across multiple data types. Discover how function templates, class templates, and variadic templates work to maximize your coding efficiency.

**Practical, Hands-On Approach:** This isn't just theory! You'll build real-world projects that demonstrate memory management, object-oriented programming, and system-level programming techniques used in today's technology landscape.

## **Your Learning Journey**

Our structured path takes you from writing your first "Hello World" program through advanced template metaprogramming, with special attention to modern C++ standards (up to C++20). You'll gain the confidence to tackle complex programming challenges and understand the "why" behind effective C++ practices—not just the "how."

## **Transform Your Career Today**

C/C++ skills remain in high demand across industries from finance to gaming to IoT. By mastering these foundational languages, you'll develop problem-solving abilities that translate to any programming environment.
verified badge
🐍 Python Course – Learn to code and create your projects!

This course is for anyone who wants to:

✅ Learn Python from the beginning
✅ Strengthen their programming skills

📚 On the program:

Variables

Loops

Functions

Data structures

Practical projects for implementation

💡 How does the course work?

Clear explanations to understand the programming logic

Targeted exercises adapted to your level

Concrete projects to create your own applications

🎯 My goal:

Helping you understand the logic behind the code

Progress at your own pace

Create your own projects in Python and gain independence
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
I teach machine learning, AI and Python online to university students, postgraduates, career changers and serious beginners across the UK and Europe. Lessons are in English.

I hold an MSc in Electronics and Electrical Engineering with Distinction and I teach as a Visiting Lecturer on a Master's level module covering data analytics, machine learning and generative AI at a UK university. I also have two accepted international conference papers on deep learning for image classification. I set and mark postgraduate assignments myself, so I know where marks are won and lost on this kind of work.

Who this is for

Undergraduates and postgraduates on AI, ML, data science or computer science modules at any European university. Final year, Master's and thesis students working on a machine learning project. IB and A Level students moving into computing or engineering. Professionals retraining for data roles. Complete beginners who want to learn Python properly rather than copying it from videos.

I work with students on UK, IB and continental European programmes. I have tutored engineering students in Germany and international school students across several countries, so an unfamiliar syllabus or a module taught in a different structure is not a problem. Send me the material and I will work from it.

What we cover

Python for data science with NumPy, Pandas, Matplotlib and scikit-learn. Deep learning using TensorFlow and Keras. Core theory including regression, classification, clustering, decision trees, random forests, neural networks and CNNs, together with the linear algebra, calculus and statistics underneath them. Computer vision and image classification, which is my published research area. Model evaluation, overfitting and hyperparameter tuning. Writing machine learning work up to academic standard, covering methodology, results and critical evaluation.

How lessons work

Send me your module handbook, assignment brief, thesis spec or the code that will not run, and I plan the session around it before we meet. Nothing generic.

In the lesson I explain the concept with a worked example, then you take the keyboard while I watch and correct, because you learn far more doing it than watching me do it. You finish with annotated notes and a clear next step, and you can message me between sessions with questions.

Practical details

Online over Google Meet or Zoom with screen sharing and a shared whiteboard. Sessions run 60 or 90 minutes. I am based in the UK and teach across GMT and Central European time, with evening and weekend slots that suit students anywhere in Europe.

Tell me your course, your deadline and exactly where you are stuck, and I will come back with a plan for the first session.
message icon
Contact Federico
repeat students icon
1st lesson is backed
by our
Good-fit Instructor Guarantee
Similar classes
arrow icon previousarrow icon next
verified badge
Hello, I am a doctoral student in electrical engineering and associate professor in engineering sciences, experienced in the field of electrical engineering, I offer support courses in the subjects of engineering sciences (Electronics, automatics, electrical engineering, automation, programming).

Digital electronics
Analog electronic
electromagnetism (propagation of high frequency waves)
Automatic (continuous, sampled)
electrical engineering (transformers, electrical machines, switching power supply)
C / c ++ programming, Assembler, ARM, STM32
renewable energy (wind, PV)
engineering Sciences
RDM
Python,VHDL
PIC Microprocessor and Microcontroller
Signal processing and data acquisition
Engineering Sciences

These courses allow the student to get up to speed and regain confidence in all scientific subjects, just as they prepare him effectively for the Baccalaureate, the Preparatory Classes or various examinations of the engineering classes.

COURSE OBJECTIVES AND PEDAGOGICAL APPROACH

Resumption and deepening of fundamental concepts through exercises with course reminders.

Put the student in a situation of questioning and research.

Respond to individual issues and questions

Exercise training in order to achieve real mastery of the content.

Learn to build theoretical reasoning from observable facts or hypotheses.

Specific preparation for higher education requirements (in-depth content, increase in work capacity, enrichment of scientific background)

This educational approach is effective since it has often led me to interesting results with my students.

Associate professor provides support courses in electrical engineering
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
Python is the most in-demand programming language in the world right now — and one of the easiest to learn with the right guidance.
Whether you've never written a line of code or you're a student who needs to pass a programming course, this is a practical, no-fluff introduction that gets you writing real code from session one.
What we can cover depending on your goals:

Python fundamentals: variables, loops, functions, data structures
- Object-oriented programming (OOP)
- Data manipulation with pandas and NumPy
- Introduction to machine learning with scikit-learn
- Database management with SQL
- C and Java upon request
- MATLAB and R available for engineering/science students

Why learn with me?
I'm not a student teaching on the side — I'm a professional engineer who uses Python daily for data analysis, modeling, and automation. I know exactly which concepts matter in the real world and which ones you can skip for now.
Sessions are 100% personalized: I adapt the pace, the examples, and the exercises to your background and your goal — whether that's passing your university exam, building a project, or landing a job.
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
Take your Python programming skills to the next level with this course that builds upon the successful Python for Everybody program.
Discover fundamental programming concepts, including data structures, networked application program interfaces, and databases, and unleash your creativity as you design and develop your own cutting-edge applications for data retrieval, processing, and visualization in the final Project.

With the latest technologies and techniques at your fingertips, the possibilities are endless!
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
Classes are face-to-face at the student's home or via webcam. You will learn computer science according to your level and what you want to learn. I am a computer science student so quite versatile. As far as programming is concerned, the possible languages are: HTML, CSS, PHP, Python, C and C++, for the network, introduction to software such as Cisco packet tracer, GNS3, vmware, virtual box. Introductory computer courses, even rudimentary ones, are possible. You will learn in a jovial and encouraging atmosphere, I have a lot of experience in the field of teaching and I am comfortable with children
verified badge
Description:
Get started with web development and learn how to create modern applications. This course takes you from the basics (HTML/CSS) to advanced concepts (security, APIs).

Goals :

Master HTML, CSS and JavaScript.
Understand the basics of authentication and web services.
Explore the concepts of security and load testing.
Course methods and format:

Video course: Creation of interactive mini-web projects.
Flexibility: Adapted to specific needs (beginner or advanced).
For who ?
Students, budding developers or professionals wishing to get started in the web.
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 for anyone interested in learning data science using Python. It provides a hands-on introduction to fundamental data analysis tools such as NumPy, pandas, matplotlib, and seaborn. You'll learn how to manipulate datasets, create visualizations, and lay the foundations for statistical analysis and machine learning.

The course combines theory and practical exercises for effective, practical progress. No prior programming experience is necessary: we'll start with the basics to build solid, usable skills quickly.
verified badge
# **Master C/C++: Build the Foundation of Modern Software Development**

Unlock the power of one of the most influential programming languages in computing history! Whether you're an absolute beginner or looking to deepen your expertise, this comprehensive C/C++ course delivers structured learning from fundamentals to advanced concepts that power operating systems, game engines, and high-performance applications.

## **Why Choose This C/C++ Program?**

**Industry-Relevant Curriculum:** Learn expert guidance on the design of effective classes, functions, templates, and inheritance patterns that form the backbone of professional C++ development. Move beyond basic syntax to understand how to write clean, efficient, and maintainable code that stands the test of time.

**Templates & Generic Programming Mastery:** Go beyond introductory material with in-depth coverage of templates—the cornerstone of modern C++—enabling you to create robust, reusable code components that work across multiple data types. Discover how function templates, class templates, and variadic templates work to maximize your coding efficiency.

**Practical, Hands-On Approach:** This isn't just theory! You'll build real-world projects that demonstrate memory management, object-oriented programming, and system-level programming techniques used in today's technology landscape.

## **Your Learning Journey**

Our structured path takes you from writing your first "Hello World" program through advanced template metaprogramming, with special attention to modern C++ standards (up to C++20). You'll gain the confidence to tackle complex programming challenges and understand the "why" behind effective C++ practices—not just the "how."

## **Transform Your Career Today**

C/C++ skills remain in high demand across industries from finance to gaming to IoT. By mastering these foundational languages, you'll develop problem-solving abilities that translate to any programming environment.
verified badge
🐍 Python Course – Learn to code and create your projects!

This course is for anyone who wants to:

✅ Learn Python from the beginning
✅ Strengthen their programming skills

📚 On the program:

Variables

Loops

Functions

Data structures

Practical projects for implementation

💡 How does the course work?

Clear explanations to understand the programming logic

Targeted exercises adapted to your level

Concrete projects to create your own applications

🎯 My goal:

Helping you understand the logic behind the code

Progress at your own pace

Create your own projects in Python and gain independence
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
I teach machine learning, AI and Python online to university students, postgraduates, career changers and serious beginners across the UK and Europe. Lessons are in English.

I hold an MSc in Electronics and Electrical Engineering with Distinction and I teach as a Visiting Lecturer on a Master's level module covering data analytics, machine learning and generative AI at a UK university. I also have two accepted international conference papers on deep learning for image classification. I set and mark postgraduate assignments myself, so I know where marks are won and lost on this kind of work.

Who this is for

Undergraduates and postgraduates on AI, ML, data science or computer science modules at any European university. Final year, Master's and thesis students working on a machine learning project. IB and A Level students moving into computing or engineering. Professionals retraining for data roles. Complete beginners who want to learn Python properly rather than copying it from videos.

I work with students on UK, IB and continental European programmes. I have tutored engineering students in Germany and international school students across several countries, so an unfamiliar syllabus or a module taught in a different structure is not a problem. Send me the material and I will work from it.

What we cover

Python for data science with NumPy, Pandas, Matplotlib and scikit-learn. Deep learning using TensorFlow and Keras. Core theory including regression, classification, clustering, decision trees, random forests, neural networks and CNNs, together with the linear algebra, calculus and statistics underneath them. Computer vision and image classification, which is my published research area. Model evaluation, overfitting and hyperparameter tuning. Writing machine learning work up to academic standard, covering methodology, results and critical evaluation.

How lessons work

Send me your module handbook, assignment brief, thesis spec or the code that will not run, and I plan the session around it before we meet. Nothing generic.

In the lesson I explain the concept with a worked example, then you take the keyboard while I watch and correct, because you learn far more doing it than watching me do it. You finish with annotated notes and a clear next step, and you can message me between sessions with questions.

Practical details

Online over Google Meet or Zoom with screen sharing and a shared whiteboard. Sessions run 60 or 90 minutes. I am based in the UK and teach across GMT and Central European time, with evening and weekend slots that suit students anywhere in Europe.

Tell me your course, your deadline and exactly where you are stuck, and I will come back with a plan for the first session.
Good-fit Instructor Guarantee
favorite button
message icon
Contact Federico