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 December 2024
Instructor since December 2024
Translated by GoogleSee original
Web Development - API Programming with Java Spring Boot
course price icon
From 21 $ /h
arrow icon
This in-depth course will help you master the development of modern RESTful APIs using the Spring Boot framework. You'll learn how to build robust, scalable, and secure web applications using industry best practices.

Educational goals :
- Understand the fundamental concepts of REST APIs
- Master the architecture and components of Spring Boot
- Develop secure and efficient APIs
- Implement good development practices

Detailed program:

1. Introduction to Spring Boot
- Presentation of the framework and its ecosystem
- Configuration and setup of the development environment
- Structure of a Spring Boot project

2. REST API Fundamentals
- REST architectural principles
- HTTP methods and status codes
- Design of RESTful APIs

3. Development with Spring Boot
- Controllers and routing
- Management of HTTP requests and responses
- Data validation
- Exception management

4. Data Persistence
- Integration with Spring Data JPA
- Database configuration
- Creation of repositories
- Management of relationships between entities

5. API Security
- Authentication and authorization
- Implementation of JWT
- Role and permission management
- Protection against common attacks

6. Testing and documentation
- Unit and integration tests
- Automatic documentation with Swagger/OpenAPI
- Good testing practices

7. Deployment and monitoring
- Configuration of environments
- Deployment on different platforms
- Monitoring and logging
- Performance and optimization

Methodology :
- Theoretical courses with practical demonstrations
- Practical exercises and concrete projects
- Development of a complete application
- Code review and debugging sessions

Prerequisite:
- Knowledge of Java (OOP, collections, exceptions)
- Basics in web development and HTTP
- SQL concepts

Recommended duration: 15 hours (minimum)

By the end of this course, you will be able to:
- Design and develop professional REST APIs
- Effectively use Spring Boot and its ecosystem
- Implement advanced security features
- Deploy and maintain Spring Boot applications
- Follow development best practices

This training combines theory and practice to allow you to acquire concrete expertise in developing APIs with Spring Boot, a skill that is highly sought after on the job market.
Location
location type icon
Online from France
About Me
Doctor of ICT, senior technical advisor at the Orange group and co-founder of the service provider IM.Coding, I combine academic expertise and field experience to train the next generation of developers. With more than 10 years of experience in software development, I share my know-how acquired on large-scale projects, particularly in the fields of Java, Angular, DevOps and Cloud. My dual role as practitioner and teacher allows me to offer training rooted in real-life situations, enriched by the latest technological innovations. I am particularly focused on transmitting not only technical fundamentals, but also essential best practices and methodologies in the industry. My courses are based on real-life cases drawn from my professional experience and entrepreneurial projects, ensuring training that is directly applicable in a professional context. Join my sessions to benefit from pragmatic learning, focused on the skills sought by digital companies.
Education
Holder of a PhD in Information and Communication Technologies (ICT) obtained in 2019 from the Higher School of Communications of Tunis (SUPCOM), I have developed in-depth expertise in research and technological innovation. This doctoral course follows my telecommunications engineering degree, obtained in 2014 also at SUPCOM, where I acquired solid technical and theoretical foundations. This dual training of excellence allowed me to develop a unique approach, combining academic rigor and innovative vision, which I apply today in my training. My doctoral training has particularly sensitized me to the transmission of knowledge and pedagogy, skills that I use to make complex technical concepts accessible.
Experience / Qualifications
As a senior technical advisor at Orange, I lead major technological innovation projects and oversee software architecture choices. My expertise has been forged through more than 10 years of software development consulting with major accounts, where I supported the digital transformation of companies in various sectors (telecommunications, finance, industry). This experience has allowed me to master a wide range of technologies and methodologies, from microservices architecture to DevOps practices. At the same time, I founded IM.Coding, a company specializing in custom application development, where we design innovative solutions that meet the highest quality standards. This triple experience - large corporation, consulting, entrepreneurship - gives me a 360° vision of the challenges of modern software development, which I use in my training to prepare developers for the real challenges of the profession.
Age
Children (7-12 years old)
Teenagers (13-17 years old)
Adults (18-64 years old)
Seniors (65+ years old)
Student level
Beginner
Intermediate
Advanced
Duration
60 minutes
The class is taught in
French
English
Reviews
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
Learn how to modernize your deployments by leveraging the best of GitLab CI/CD and AWS. This hands-on course takes you deep into modern DevOps practices by teaching you how to build and automate robust deployment pipelines. From GitLab fundamentals to advanced AWS configurations, you'll master all the steps needed to set up a professional CI/CD infrastructure. Whether you're a developer looking to automate your deployments or a DevOps professional looking to optimize your processes, you'll gain the essential skills to continuously deploy your applications with confidence and efficiency.

In the program :

Mastery of GitLab CI/CD fundamentals
Configuring and optimizing continuous integration pipelines
Automated deployment on AWS services (EC2, ECS, S3, etc.)
Implementation of DevOps best practices
Securing your deployments with secrets and access management
Monitoring and optimization of your pipelines
Read more
Java is an essential object-oriented programming language in the world of software development. This foundational course will guide you through the key concepts of Java, starting with basic syntax and control structures (loops, conditionals). You will then discover the principles of object-oriented programming: classes, objects, inheritance, polymorphism, and encapsulation. The course also covers exception handling, Java collections (ArrayList, HashMap), and interfaces. Through practical exercises and real-world projects, you will learn how to write clean and maintainable code. Special attention will be paid to good development practices and Java naming conventions. By the end of the course, you will be able to design and develop simple yet functional Java applications, laying the foundation for more advanced development.
Read more
Show more
arrow icon
Similar classes
arrow icon previousarrow icon next
verified badge
Engineer and senior professor of engineering sciences provides support courses in analog and digital electronics at all levels, engineering schools. having a scientific and technical knowledge, five years of experience in the field of teaching, teaching and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they have difficulties. for more info please contact me
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
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
* 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
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
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
In this course, you will learn how to efficiently package, containerize, and deploy Python applications and microservices using Docker. The course covers fundamental Docker concepts, best practices for structuring Python projects, and strategies for building scalable and portable applications. Through hands-on projects, you will gain practical experience in creating Docker images, managing containers, and orchestrating microservices, enabling seamless deployment across different environments.

Contact me if you want to have more information about the course!
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
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.
verified badge
I'm a working MEP engineer, currently building Python automation for Revit workflows daily - plan checks, model coordination, and repetitive drafting tasks. I teach other engineers, architects, and BIM professionals how to do the same, using pyRevit and real project workflows, not toy examples.

Topics include:
pyRevit fundamentals and setup
Automating repetitive Revit tasks (model checks, plan generation, data extraction)
Writing custom scripts for your firm's specific workflows
Applying Python automation to real MEP/BIM projects
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 Mohamed el
repeat students icon
1st lesson is backed
by our
Good-fit Instructor Guarantee
Similar classes
arrow icon previousarrow icon next
verified badge
Engineer and senior professor of engineering sciences provides support courses in analog and digital electronics at all levels, engineering schools. having a scientific and technical knowledge, five years of experience in the field of teaching, teaching and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they have difficulties. for more info please contact me
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
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
* 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
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
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
In this course, you will learn how to efficiently package, containerize, and deploy Python applications and microservices using Docker. The course covers fundamental Docker concepts, best practices for structuring Python projects, and strategies for building scalable and portable applications. Through hands-on projects, you will gain practical experience in creating Docker images, managing containers, and orchestrating microservices, enabling seamless deployment across different environments.

Contact me if you want to have more information about the course!
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
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.
verified badge
I'm a working MEP engineer, currently building Python automation for Revit workflows daily - plan checks, model coordination, and repetitive drafting tasks. I teach other engineers, architects, and BIM professionals how to do the same, using pyRevit and real project workflows, not toy examples.

Topics include:
pyRevit fundamentals and setup
Automating repetitive Revit tasks (model checks, plan generation, data extraction)
Writing custom scripts for your firm's specific workflows
Applying Python automation to real MEP/BIM projects
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 Mohamed el