facebook
favorite button
1/14
dot icon
Recently active
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 April 2025
Instructor since April 2025
repeat students icon
2 repeat students
Trusted choice for 2 returning students
Translated by GoogleSee original
Learn Object-Oriented Programming in JavaScript 🧠⚙️
course price icon
From 24 $ /h
arrow icon
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
Extra information
i️ Practical information

Prerequisite:
JavaScript basics (variables, functions, conditions)

Necessary material :
💻 Computer with web browser
🧑‍💻 Code editor (Visual Studio Code recommended)
🎧 Microphone + webcam
🌐 Stable internet connection
Location
location type icon
Online from Algeria
About Me
Hi! I'm Farouk, from Algiers, Algeria 🇩🇿. I'm naturally curious and passionate about learning—especially when it comes to HTML, CSS, and JavaScript 💻✨. Right now, I'm focused on creating courses that are both effective and engaging, with a strong emphasis on pedagogy 📚🎯.

In my free time, I love to read 📖, play video games 🎮, travel ✈️, and cook 🍳. I'm always looking for new ways to grow—both personally and professionally 🚀🌱. I'm motivated, open-minded, and always ready to take on new challenges 💪🧠.

Looking forward to learning and sharing with you! 🤝😊
Education
1. Informal Training – State-accredited center, Algiers 🇩🇿
2008
Certificate of internship in dynamic website creation: HTML, CSS, JavaScript, PHP, MySQL 💻
Computer training applied to web development.

2. Houari Boumediene University of Science and Technology (USTHB) – Algiers
2004 - 2005
Common Core in Electronic Sciences and Computer Technology 🧠⚙️

3. Yahya Ould El Turki High School – Bou Ismaïl
2001 - 2002
Baccalaureate – Scientific stream with honors ✅🔬
Experience / Qualifications
Mentor – Since 2021 🎓

Supporting students in various academic paths:

• Web Developer
• Web Integrator
• Application Developer – JavaScript / React

Main responsibilities:

1- Personalized educational support

2- Project review and feedback

3- Technical and methodological coaching

4- Assistance in preparing for technical interviews


Freelance – Since 2015 💼

Platforms: Upwork, Fiverr, Comeup

• Creation of static and dynamic websites
• Responsive integration (HTML/CSS/JavaScript)
• Maintenance and optimization of web projects
• Collaboration with international clients
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
30 minutes
45 minutes
60 minutes
90 minutes
120 minutes
The class is taught in
French
Arabic
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
This module is a crucial step for any web developer wishing to move from simple DOM manipulation to mastering modern frameworks. The objective is clear: to understand the "invisible foundations" of the language in order to write shorter, more readable code and, above all, be ready to code professionally in React.

🎯 Training Objectives

1- Demystify the modern syntax (ES6+) often used in React.
2- Increase efficiency by using the most powerful syntactic shortcuts.
3- Secure your code to avoid frequent bugs related to missing data.
4- Mastering asynchronicity to manage data calls (API).

📖 Detailed program content

The course is divided into 13 key concepts, illustrated by comparative examples (classic syntax vs. modern syntax) and concrete use cases in React:

1- Ease of writing: Use of Template Literals (`backticks`) for dynamic character strings and Shorthand property names to simplify the creation of objects.

2- Logic and Functions: Mastery of Arrow => Functions (arrow functions) and their implicit return, essential for React components and hooks.

Data manipulation:

1- Destructuring (decomposition) to properly extract data from objects and arrays (e.g., Props and States).

2- Rest & Spread Operators (...) to copy arrays or merge objects without modifying the original (concept of immutability).

Code robustness:

1- Managing default parameter values.

2- Advanced security with Optional Chaining (?.) and Nullish Coalescing (??) to prevent application crashes.

3- Functional Programming: Intensive use of array methods (.map(), .filter(), .reduce(), .find()) to transform data into user interfaces.

4- Architecture and Asynchronism: Code organization via modules (Import/Export) and API request management with Promises and Async/Await.

🛠️ Teaching method: "Learning by doing"

This course is not just about theory. It includes:

The "Interstellar Dashboard" Exercise: A 15-minute thematic case study where students manipulate data from space missions. This allows them to immediately apply destructuring, filtering, and asynchronicity to a real-world project.

The Interactive Quiz: A series of 10 questions designed to validate understanding of each concept before moving on. Each question presents real-world scenarios that developers will encounter in React.

🚀 Learner's result

By the end of this course, students will not only "know" JavaScript; they will understand why and how each syntax is used to build efficient React components. They will leave with a solid foundation to confidently tackle Hooks (useState, useEffect) and complex state management.

Format: Clean visual presentation, coloured syntax for code, and focus on readability.
Read more
These courses are part of a practical and accessible introductory training course in web development 🌐💻, designed for those who want to learn how to create a website from A to Z.
Using fundamental web technologies—HTML 🧱, CSS 🎨, and JavaScript ⚙️—you'll learn how to structure pages, style them, and make them interactive.

My teaching approach is hands-on: each concept is accompanied by concrete examples and progressive exercises to consolidate your knowledge. You'll discover how to build a responsive interface 📱💡, manage user events 🖱️, and apply simple animations ✨ to improve the user experience.

Whether you are a beginner or looking to consolidate your foundations, this training will guide you step by step towards autonomy in creating your own web projects 🚀

Training plan in 10 modules:

1. Introduction to programming 🧠💡
Understand the basics: logic, Linux commands, simple instructions and algorithms.

2. Introduction to HTML 🧱📄
Structure of a web page, main tags, links, images, tables, forms.

3. Accessibility and SEO ♿🔍
Create inclusive and well-referenced sites: semantic tags, ARIA attributes, good SEO practices.

4. Introduction to CSS 🎨🖌️
Formatting, colors, typography, boxes, flexbox and responsive layout.

5. Git & GitHub 🗂️⚙️
Version your code and collaborate effectively: Git commands, creating repositories, push/pull, pull requests.

6. JavaScript - Data Types 🔢📝
Numbers, strings, booleans, objects, arrays... Learn to manipulate data.

7. JavaScript - Functions and Methods ⚙️🧩
Define and call functions, understand scope, use native methods.

8. JavaScript - Terms ❓🔁
Master the if, else, switch statements to handle specific cases.

9. JavaScript - Arrays and Loops 🔄📊
Iterate efficiently with for, while, forEach, manipulate arrays like a pro.

10. DOM Manipulation & Closures 🌐✨
Edit HTML/CSS from JS, add events, understand closures for advanced interactions.
Read more
Show more
arrow icon
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
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
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
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
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
Private Programming Lessons for you / your family / your company employees
Programming Tutor – IGCSE & Computer Science Subjects
Deeper understanding, stronger results

• Lecturer at the American University AUC
• Over 20 years of experience in training students for government employees, oil companies (BP), food companies (Nestle), banks (CIB), and telecommunications companies (Vodafone).

• Teaching curricula, syllabuses, courses:
o IGCSE (Computer Science 0478, ICT 0417)
o Programming and computer courses for all educational levels (from primary to university)
o Microsoft Windows, Word, Excel, PowerPoint, Outlook, MS-Project
o Programming, C, C++, VB.NET, C#, Python, Database, SQL, MQL, VBA
o HTML, CSS, JavaScript, Angular
o Different database systems
o Data analysis using Excel
o Computer and Information Colleges Curricula
o Using artificial intelligence in life and work

• Master office applications to improve your job performance.
• Prepare yourself to work as a Front-End / Back-End / Full Stack Developer
• Theoretical and practical training for market requirements
• Don't miss out on technology. Lessons are designed for the elderly, in a simple and understandable way (use of computers and their programs, use of mobile phones, dealing with the Internet and social media).
• Lessons are available in person or online.
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
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
A patient and passionate instructor offers a customized learning path in Java, JavaScript, or Python. The goal of this course is to enable you to develop strong algorithmic thinking skills, regardless of your starting level. Throughout the course, active listening and patience are emphasized to ensure that no question goes unanswered. The sessions are highly interactive, and the problem is broken down step by step.
Video thumbnail
Play icon
Farouk's video
message icon
Contact Farouk
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
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
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
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
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
Private Programming Lessons for you / your family / your company employees
Programming Tutor – IGCSE & Computer Science Subjects
Deeper understanding, stronger results

• Lecturer at the American University AUC
• Over 20 years of experience in training students for government employees, oil companies (BP), food companies (Nestle), banks (CIB), and telecommunications companies (Vodafone).

• Teaching curricula, syllabuses, courses:
o IGCSE (Computer Science 0478, ICT 0417)
o Programming and computer courses for all educational levels (from primary to university)
o Microsoft Windows, Word, Excel, PowerPoint, Outlook, MS-Project
o Programming, C, C++, VB.NET, C#, Python, Database, SQL, MQL, VBA
o HTML, CSS, JavaScript, Angular
o Different database systems
o Data analysis using Excel
o Computer and Information Colleges Curricula
o Using artificial intelligence in life and work

• Master office applications to improve your job performance.
• Prepare yourself to work as a Front-End / Back-End / Full Stack Developer
• Theoretical and practical training for market requirements
• Don't miss out on technology. Lessons are designed for the elderly, in a simple and understandable way (use of computers and their programs, use of mobile phones, dealing with the Internet and social media).
• Lessons are available in person or online.
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
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
A patient and passionate instructor offers a customized learning path in Java, JavaScript, or Python. The goal of this course is to enable you to develop strong algorithmic thinking skills, regardless of your starting level. Throughout the course, active listening and patience are emphasized to ensure that no question goes unanswered. The sessions are highly interactive, and the problem is broken down step by step.
Good-fit Instructor Guarantee
favorite button
message icon
Contact Farouk