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 2020
Instructor since September 2020
Learn computer programming and dive into the vast world of coding!
course price icon
From 36 £ /h
arrow icon
Unlock Your Coding Potential with Personalized Guidance!

Welcome future coder enthusiast! I'm excited about helping people succeed in the IT industry by translating complex programming principles into useful skills. With a lot of expertise from both employed positions and freelance work in the IT domain, and having a degree in Computer Science from Royal Holloway University of London, I'm eager to help any student enter the world of programming!

Tailored Learning for Every Aspiring Developer:
My approach to teaching is centered on getting to know your individual learning style, goals, and journey. I've successfully led students through immersive summer school programs at prestigious schools including Chelsea Independent College, Kensington Park School, and Mander Portman Woodward using adaptive strategies.

Diverse Programming Language Proficiency:
I have you covered whether you're interested in learning about Python, C, C++, Java, JavaScript, C#, or even exploring the world of CSS and HTML for web development. I adjust to your preferences and requirements to make sure you have an engaging learning experience.

Real-World Application Emphasis:
Beyond academic understanding, practical experience is what I emphasize on. My classes connect the theory and practical applications through the creation of interesting PC/Mobile games, applications, online services, and websites and more. Since I began learning programming in 2015, I've made an effort to get involved in a variety of projects in order to expand my knowledge and obtain practical experience in the tasks performed by programmers. And now that I have this skill in my repertoire, I want to make it available to any motivated learner who wishes to succeed in the computer industry and acquire outstanding information.

Structured Classes and Future-Centric Planning:
I think it's important to dive into theoretical principles to lay a solid basis while also fostering your creativity through projects. Taking into account your goals for the future, I create a customized lesson plan for every student. Not only do I teach programming, but I also want to give you the tools you need to use code to create the future.

Come along with me on this thrilling trip into the world of coding, where your potential is limitless and your ambitions become milestones. Let's code together!
Extra information
You must require:
- laptop / PC (preferably with Windows OS)
Location
location type icon
Online from United Kingdom
About Me
I have been teaching Mathematics, English and Programming to students and children since 2017 and I am constantly on the lookout to share my programming knowledge as I believe that this is one of the most vital and practical skills anyone can possibly acquire. Therefore, I want to dedicate my time to people who want to learn how to code. As a university student, I am eager to learn from my students by teaching what I have known since 2012. The lessons that I provide are fit for any type of student, regardless of their experience with programming. My goal with these lessons is to make programming easy to understand, to give confidence in people that they can create anything by simply understanding basic notions of coding and to open doors to paths that they may not even heard about.
Learning is a fun activity, especially with someone who is eager to offer lots of help and that is why I am here.
Education
1) Theoretical Highschool “Mihail Kogalniceanu” | September 2015 – June 2019
• Romanian Literature Baccalaureate – 9.2 / 10.0
• Mathematics Baccalaureate – 10.0 / 10.0
• Informatics Baccalaureate – 8.8 / 10.0

2) Royal Holloway University of London | September 2019 – 2022
• BSc Computer Science and Information Security
Experience / Qualifications
1) IELTS | May 2018 – 2020
• 7.5 - Overall Band
• 6.5 - Reading Task
• 7 - Writing Task
• 7.5 - Speaking Task
• 8 - Listening Task

2) FiiPractic Training Programme Back-End Development (April 2018) - 2nd place
Skills acquired:
- Developed my first API using .NET
- Developed skills in working with Git

3) FiiPractic Training Programme Back-End Development (April 2019) - 3rd place
Skills acquired:
- Improved my skills in working with Git
- Developed my second API using a different approach with .NET

4) FiiPractic Training Programme Game Development Development (April 2019) - 1st place
Skills acquired:
- Improved my skills in working with Git
- Developed a complete 3D Unity Game in 2 weeks using only hand written code
- Used Blender to create my own objects for my personal project

5) Summer School Staff – Chelsea Independent College (July 2019 – August 2019)
Skills acquired:
• Interactive experience with students, and behavior management
• Assumed the responsibility to take care of the students during the scheduled activities
• Assumed the responsibilities of keeping the students safe outside their activity hours
• Assisted Computer Science teacher with teaching basic Computing & Engineering skills such as: building a robot, coding a simple game using JavaScript, understanding the simple tasks behind the security of internet routers and AI

6) Translator for an American Medical Team – Romania, Vaslui, Negresti (Summer 2012, Summer 2013)
Skills acquired:
• Eased the communication between medics from the United States and sick people from poor villages
• Taught English to children from poor villages, as well as fun Mathematics

7) Voluntary Activity Staff - Romania, Vaslui, Vaslui (July 2017)
Skills acquired:
• Supported educational activities aimed at fostering and harnessing the potential of children in the areas of Computer Science and English
• Improved communication in English
• Improved teaching skills
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
120 minutes
The class is taught in
English
Romanian
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
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 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
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
I offer private lessons in SCRATCH, a fun and educational programming platform specifically designed for children. SCRATCH allows young people to discover the basics of programming while stimulating their creativity and logic.

What your children will learn:

The fundamental concepts of programming
The creation of their own games and animations
Problem-solving in a playful way
Logical and structured thinking
Why choose SCRATCH?

Intuitive and child-friendly interface
Encourages creativity and innovation
Learning through practice and play
Who are these courses for?

Children aged 7 to 14
Beginners with no prior programming experience
Join me for interactive and enriching sessions where your children can develop essential skills for the future in a fun and engaging 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
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
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 Python, C and C++ one to one, online or in person around Birmingham.

Most of my students fall into one of three groups. Some are at GCSE or A-Level and need to get comfortable with a language before an exam or a coursework deadline. Some are at university, usually on an engineering or computing degree, and have hit something specific that isn't clicking: pointers, memory, recursion, object orientation, or a project that won't compile. And some are adults starting from nothing, often because work has started asking them to automate things.

Lessons are built around code you can run. I'll ask what you're working on and where you got stuck, then we write something small together, break it on purpose, and work out what the error message is actually telling you. Reading error messages properly is half of programming and almost nobody teaches it.

Areas I cover regularly:

Python from the basics through functions, data structures, file handling, object orientation and libraries like NumPy and Pandas
C and C++, including the parts that cause most of the trouble: pointers, memory management, structs, classes and compilation
GCSE and A-Level Computer Science across all exam boards, including pseudocode, trace tables and written paper technique
A-Level NEA projects and university coursework, plus debugging sessions and code review
Embedded C for Arduino, ESP32 and microcontroller projects, which is the work I do professionally

After each lesson I send written notes covering what we did, worked through step by step, so you have something to revise from later rather than trying to remember what was on screen.

First session is free and lasts 30 minutes. We use it to work out what you need and whether I'm the right person for it. If I'm not, I'll say so and point you somewhere better.

Message me with what you're studying and what's giving you trouble, and I'll tell you honestly how I'd approach it.
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 Stefan
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 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
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
I offer private lessons in SCRATCH, a fun and educational programming platform specifically designed for children. SCRATCH allows young people to discover the basics of programming while stimulating their creativity and logic.

What your children will learn:

The fundamental concepts of programming
The creation of their own games and animations
Problem-solving in a playful way
Logical and structured thinking
Why choose SCRATCH?

Intuitive and child-friendly interface
Encourages creativity and innovation
Learning through practice and play
Who are these courses for?

Children aged 7 to 14
Beginners with no prior programming experience
Join me for interactive and enriching sessions where your children can develop essential skills for the future in a fun and engaging 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
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
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 Python, C and C++ one to one, online or in person around Birmingham.

Most of my students fall into one of three groups. Some are at GCSE or A-Level and need to get comfortable with a language before an exam or a coursework deadline. Some are at university, usually on an engineering or computing degree, and have hit something specific that isn't clicking: pointers, memory, recursion, object orientation, or a project that won't compile. And some are adults starting from nothing, often because work has started asking them to automate things.

Lessons are built around code you can run. I'll ask what you're working on and where you got stuck, then we write something small together, break it on purpose, and work out what the error message is actually telling you. Reading error messages properly is half of programming and almost nobody teaches it.

Areas I cover regularly:

Python from the basics through functions, data structures, file handling, object orientation and libraries like NumPy and Pandas
C and C++, including the parts that cause most of the trouble: pointers, memory management, structs, classes and compilation
GCSE and A-Level Computer Science across all exam boards, including pseudocode, trace tables and written paper technique
A-Level NEA projects and university coursework, plus debugging sessions and code review
Embedded C for Arduino, ESP32 and microcontroller projects, which is the work I do professionally

After each lesson I send written notes covering what we did, worked through step by step, so you have something to revise from later rather than trying to remember what was on screen.

First session is free and lasts 30 minutes. We use it to work out what you need and whether I'm the right person for it. If I'm not, I'll say so and point you somewhere better.

Message me with what you're studying and what's giving you trouble, and I'll tell you honestly how I'd approach it.
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 Stefan