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 2021
Instructor since September 2021
repeat students icon
2 repeat students
Trusted choice for 2 returning students
Translated by GoogleSee original
I help you learn algorithms and programming languages: Python, C, Go, JavaScript and Java for all levels
course price icon
From 27 $ /h
arrow icon
Python is the programming language these days. It is simple, nice and almost all modern applications use it. With Python, we can now create artificial intelligence models that reduce human effort and give us more accurate and reliable results. The Java and C languages are not lacking in importance, they also make it possible to create applications optimized in terms of RAM.

The composition of the course depends on the level of the student and his own objectives. The first session is a one-hour evaluation session which allows the diagnosis of the level and the needs of the student. From this diagnosis we establish together a program that we will follow during our course.

Generally the course allows the student to assimilate:
* Predefined Data Types & Variables;
* Conditional Structures & Loops;
* Functions ;
* Object-oriented programming (OOP);
* Digital engineering;
* An introduction to databases (Examples and uses)
* Relational Algebra
* LDD, LCD, LMD, LCT
* SQL queries (SELECT, UPDATE, ...)
* Creation of a database and automation of queries using the Python language
* Handling files (TXT, Excel, CSV, JSON, Word);
* Data science;
* Introduction and some applications of Artificial Intelligence.

I am waiting for you to start this adventure.
Location
location type icon
Online from Morocco
About Me
Ahmed, state engineer, graduate of preparatory classes in the MP track, and graduate of IAV Hassan II (Rural Engineering – Water and Environment option). I have been teaching computer science (Python + SQL) for 6 years to students in preparatory classes for the grandes écoles in Rabat and Salé. I also teach mathematics and physics–chemistry to middle school and high school students in Physical Sciences and Mathematical Sciences streams.
Education
Baccalaureate in Mathematical Sciences A – with Honors – 2014
Preparatory Classes for the Grandes Écoles – Admitted, Oral Exam Waived – 2016
IAV Hassan II – State Engineer in Water and Environment – Rabat – 2019
University of Michigan – Certificate in Data Science using Python – 2021
Experience / Qualifications
Experience:
* Providing tutoring for preparatory class students since 2016
* Providing tutoring in mathematics for middle and high school students since 2016
* Providing tutoring in physics–chemistry for middle and high school students since 2016
Qualifications:
* Proficient in the programming languages Python, C, R, MATLAB, GO, JAVASCRIPT and Java
* Proficient with the Next.js, React, Angular, and Spring frameworks (Spring Boot, Spring JPA, Spring Security).
* Proficient in SQL for database management
* Deep understanding of pedagogical teaching methods
Age
Teenagers (13-17 years old)
Adults (18-64 years old)
Seniors (65+ years old)
Student level
Beginner
Intermediate
Advanced
Duration
45 minutes
60 minutes
90 minutes
120 minutes
The class is taught in
French
Arabic
English
Reviews
Availability of a typical week
(GMT -05: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
Most kids think coding is for "smart kids" or "future programmers."
It's not. Coding is how real people solve real problems.
In this class, we skip the theory. Your child creates real things.

What they'll do:
✓ Build real projects in Scratch: a working game, an interactive animation, a story they coded
✓ Program virtual robots: solve real-world challenges (navigate a maze, automate a task, build a system)
✓ Create in Minecraft Education: design worlds, automate constructions, solve logic problems
✓ Experiment with different languages: not just learn "the right way," but understand that there are many ways to think about a problem
✓ Collaborate and share: work with other kids, get feedback, improve their work
✓ Develop logical thinking: not just for coding, but for anything: solving math problems, science challenges, real-world situations


Why this is different:
We don't teach syntax. We teach how programmers think.
Most children's coding courses say "here's the code, copy it." We teach "what problem are we trying to solve? How could we break it into steps? What options do we have?"
When your child learns to think like a programmer, they can learn any language afterward.

What they take home:
A portfolio of 3–4 completed, working projects. The ability to say "I built this." And the deep understanding that code is a tool to make real things happen.

Format: Online or Barcelona | 60–90 min sessions | Flexible pace, no prior experience needed
For curious 8-12 year olds who want to build.
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
Learn to code with method and logic
Whether it's to succeed in the NSI (Digital Sciences and Technology) specialization in high school, design personal projects, or prepare for higher scientific studies, mastering code relies on solid algorithmic thinking. I help students understand the structure of programming languages and the logic of data.

Subject areas and languages taught:

Algorithms & Logic: Designing data structures and solving problems.

Programming Languages: Python, C/C++, C# and Java.

Data Management: Analysis and SQL queries / databases.

Basic Web Development: HTML & CSS for creating structured pages.

The goal is to take the student from simply writing code to true autonomy in development.
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
Don't settle for anything less than excellence.
I am an Aerospace Engineer with a Master's degree in Quantum Physics and have completed Ph.D. work at the University of Cambridge in Computational Physics. Additionally, I have 4 years of experience developing MATLAB and possess deep programming skills in MATLAB/Simulink family, C/C++, Fortran, and Python.

With over 12 years of tutoring experience, I have successfully guided more than 50 students worldwide to achieve distinction in various fields. Consistent results are my priority, and I strive for excellence in all aspects of my teaching.

My lessons are customized to meet each student's unique needs and are designed to be engaging and insightful.

Whether you are at a school level or require advanced or professional-level instruction, I offer support in the following areas:
- Preparation for IB/IA, A-Levels, GCSE, University Entry, or equivalent.
- Experience in preparing students to access world-class schools and universities, including Cambridge University, Oxford, Ivy League and other top institutions in the UK and US.
- University levels (undergraduate and postgraduate).
- High school studies and diploma programs.
- Assistance with specific projects at a professional level, including job interview preparation.
- Extensive experience working with children.

Every lesson is meticulously planned in advance to ensure that it aligns with your goals and targets areas for improvement.
I prioritize a dynamic and interactive learning experience, with one-on-one sessions tailored to your individual requirements. Lessons will be conducted via webcam, enabling you to connect from anywhere.

I have a highly flexible schedule and can adapt to accommodate your needs.
If you have any questions about my teaching method, availability, or pricing, please don't hesitate to reach out. I am here to assist you and provide the support you need.
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
Do you need a boost in mathematics to better understand lessons, pass your exams or prepare for a competition? Do you want to learn to program in C, C++, Python or Java to develop skills sought after in the digital world?
This comprehensive and personalized academic support program is designed to meet your needs and help you succeed!

💡 Why Choose this Program?
This course offers tailor-made support, adapted to your level and your objectives:

🎯 Progress in mathematics by strengthening your foundations and mastering advanced concepts.
💡 Understand theoretical concepts in depth to better apply them in exercises and problems.
💻 Learn to program in C, C++, Python and Java with clear explanations and practical exercises.
🚀 Develop essential skills in algorithms and computer problem solving.
🎓 Effectively prepare for your exams (Bac, Licence, competitive exams) thanks to targeted revisions and practice subjects.
With a caring educational approach, this course helps you gain confidence and achieve your academic goals.

📘 Mathematics – From Secondary to Bachelor
Mathematics is the key to academic success in many scientific and technical fields.
This module covers:

Secondary Level (Middle and High School):

Arithmetic, fractions, percentages, proportionality.
Algebra: Equations, inequalities, functions (linear, quadratic, exponential, logarithmic).
Geometry: Theorems, trigonometry, analytical geometry.
Statistics and probability: Analyze data, calculate probabilities.
Preparation for exams: Brevet, Bac, entrance exams for grandes écoles.
University Level (Bachelor):

Differential and integral calculus: Derivatives, integrals, sequences and series.
Linear Algebra: Matrices, vectors, systems of linear equations.
Advanced Probability and Statistics: Random variables, probability laws, estimation and hypothesis testing.
Numerical analysis: Methods for approximate resolution of equations and systems of equations.
Discrete Mathematics: Graphs, Boolean logic, combinatorics.
This module offers progressive exercises, clear explanations and detailed corrections to understand in depth and train effectively.

💻 Programming – C, C++, Python and Java
Mastering programming is a major asset for success in the digital and technological field.
This module covers the fundamentals of programming to enable you to:

Understand algorithmic logic and computer problem solving.
Master the syntax of the C, C++, Python and Java languages.
Writing your first programs: Variables, conditional structures, loops, functions.
Work on practical projects: Calculator, data management, simple games, sorting and searching algorithms.
Develop advanced skills:
Object-oriented programming (C++, Java): Classes, inheritance, polymorphism.
Memory management (C, C++): Dynamic allocation, pointers.
File manipulation: Reading and writing data.
Data structures: Lists, stacks, queues, binary trees.
Code optimization for faster and more efficient programs.
This module offers concrete examples, practical exercises and motivating projects to help you learn while having fun while developing skills useful in the professional world.

🎯 Interactive and Motivating Teaching
Dynamic online courses: Learn from home in an interactive format with audio and screen sharing.
Tailor-made method: The courses are designed according to your level and your objectives for learning at your own pace.
Practical exercises and concrete projects: To apply theoretical concepts and develop your skills.
Personalized monitoring: Regular support to monitor your progress and adapt the program to your needs.
Encouragement and motivation: A positive approach to building your confidence in your abilities.
🔔 For Who?
This program is aimed at:

High school students wishing to strengthen their foundations in mathematics or learn to program.
University students in science or computer science looking to deepen their knowledge of math and programming.
Candidates for exams and competitions preparing for the Baccalaureate, a License, or entrance exams to the grandes écoles.
Programming enthusiasts wanting to learn the fundamentals of C, C++, Python or Java.
Adults in professional retraining wishing to acquire programming skills.
🚀 Ready to Succeed?
Join the "🎓 Academic Support – 📘 Maths from Secondary to Bachelor & 💻 Programming in C, C++, Python and Java!" and benefit from personalized support to achieve your goals.
Whether you want to improve your grades, pass your exams or develop programming skills, this program will give you knowledge, confidence and motivation.

Register today and take the first step towards success!
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
Understanding algorithms is essential for anyone pursuing computer science or programming. In this course, I provide a structured approach to learning algorithms—from fundamental concepts like sorting and searching to advanced techniques such as dynamic programming and graph theory. Whether you're preparing for exams, coding interviews, or aiming to improve your problem-solving skills, this course is designed to build strong algorithmic thinking. Through practical examples and step-by-step explanations, I help students master the logic and techniques needed to write efficient and elegant code.
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
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
📊Microsoft Office: To establish your office skills, manage data via Excel, write professional reports with Word, and prepare impressive presentations with PowerPoint.

📐 AutoCAD: To learn engineering drawing and design two-dimensional and three-dimensional plans with high accuracy and speed.

🛣️ Civil 3D: To learn road design, network design, surveying, and quantity surveying in a scientific and practical way
verified badge
You have a kid that's interested in programming?? Set up a class for him with me. Aya a software engineer turned teacher. I was a software engineer for 3 years before I joined the teaching industry and I currently teach computer science in Chichester College in United Kingdom. I want to advocate for computer science and help familiarise kids at a young age with programming in Python.

Send me a message let's chat about what you want your kid to learn and what I can offer! :)
message icon
Contact Ahmed
repeat students icon
1st lesson is backed
by our
Good-fit Instructor Guarantee
Similar classes
arrow icon previousarrow icon next
verified badge
Most kids think coding is for "smart kids" or "future programmers."
It's not. Coding is how real people solve real problems.
In this class, we skip the theory. Your child creates real things.

What they'll do:
✓ Build real projects in Scratch: a working game, an interactive animation, a story they coded
✓ Program virtual robots: solve real-world challenges (navigate a maze, automate a task, build a system)
✓ Create in Minecraft Education: design worlds, automate constructions, solve logic problems
✓ Experiment with different languages: not just learn "the right way," but understand that there are many ways to think about a problem
✓ Collaborate and share: work with other kids, get feedback, improve their work
✓ Develop logical thinking: not just for coding, but for anything: solving math problems, science challenges, real-world situations


Why this is different:
We don't teach syntax. We teach how programmers think.
Most children's coding courses say "here's the code, copy it." We teach "what problem are we trying to solve? How could we break it into steps? What options do we have?"
When your child learns to think like a programmer, they can learn any language afterward.

What they take home:
A portfolio of 3–4 completed, working projects. The ability to say "I built this." And the deep understanding that code is a tool to make real things happen.

Format: Online or Barcelona | 60–90 min sessions | Flexible pace, no prior experience needed
For curious 8-12 year olds who want to build.
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
Learn to code with method and logic
Whether it's to succeed in the NSI (Digital Sciences and Technology) specialization in high school, design personal projects, or prepare for higher scientific studies, mastering code relies on solid algorithmic thinking. I help students understand the structure of programming languages and the logic of data.

Subject areas and languages taught:

Algorithms & Logic: Designing data structures and solving problems.

Programming Languages: Python, C/C++, C# and Java.

Data Management: Analysis and SQL queries / databases.

Basic Web Development: HTML & CSS for creating structured pages.

The goal is to take the student from simply writing code to true autonomy in development.
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
Don't settle for anything less than excellence.
I am an Aerospace Engineer with a Master's degree in Quantum Physics and have completed Ph.D. work at the University of Cambridge in Computational Physics. Additionally, I have 4 years of experience developing MATLAB and possess deep programming skills in MATLAB/Simulink family, C/C++, Fortran, and Python.

With over 12 years of tutoring experience, I have successfully guided more than 50 students worldwide to achieve distinction in various fields. Consistent results are my priority, and I strive for excellence in all aspects of my teaching.

My lessons are customized to meet each student's unique needs and are designed to be engaging and insightful.

Whether you are at a school level or require advanced or professional-level instruction, I offer support in the following areas:
- Preparation for IB/IA, A-Levels, GCSE, University Entry, or equivalent.
- Experience in preparing students to access world-class schools and universities, including Cambridge University, Oxford, Ivy League and other top institutions in the UK and US.
- University levels (undergraduate and postgraduate).
- High school studies and diploma programs.
- Assistance with specific projects at a professional level, including job interview preparation.
- Extensive experience working with children.

Every lesson is meticulously planned in advance to ensure that it aligns with your goals and targets areas for improvement.
I prioritize a dynamic and interactive learning experience, with one-on-one sessions tailored to your individual requirements. Lessons will be conducted via webcam, enabling you to connect from anywhere.

I have a highly flexible schedule and can adapt to accommodate your needs.
If you have any questions about my teaching method, availability, or pricing, please don't hesitate to reach out. I am here to assist you and provide the support you need.
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
Do you need a boost in mathematics to better understand lessons, pass your exams or prepare for a competition? Do you want to learn to program in C, C++, Python or Java to develop skills sought after in the digital world?
This comprehensive and personalized academic support program is designed to meet your needs and help you succeed!

💡 Why Choose this Program?
This course offers tailor-made support, adapted to your level and your objectives:

🎯 Progress in mathematics by strengthening your foundations and mastering advanced concepts.
💡 Understand theoretical concepts in depth to better apply them in exercises and problems.
💻 Learn to program in C, C++, Python and Java with clear explanations and practical exercises.
🚀 Develop essential skills in algorithms and computer problem solving.
🎓 Effectively prepare for your exams (Bac, Licence, competitive exams) thanks to targeted revisions and practice subjects.
With a caring educational approach, this course helps you gain confidence and achieve your academic goals.

📘 Mathematics – From Secondary to Bachelor
Mathematics is the key to academic success in many scientific and technical fields.
This module covers:

Secondary Level (Middle and High School):

Arithmetic, fractions, percentages, proportionality.
Algebra: Equations, inequalities, functions (linear, quadratic, exponential, logarithmic).
Geometry: Theorems, trigonometry, analytical geometry.
Statistics and probability: Analyze data, calculate probabilities.
Preparation for exams: Brevet, Bac, entrance exams for grandes écoles.
University Level (Bachelor):

Differential and integral calculus: Derivatives, integrals, sequences and series.
Linear Algebra: Matrices, vectors, systems of linear equations.
Advanced Probability and Statistics: Random variables, probability laws, estimation and hypothesis testing.
Numerical analysis: Methods for approximate resolution of equations and systems of equations.
Discrete Mathematics: Graphs, Boolean logic, combinatorics.
This module offers progressive exercises, clear explanations and detailed corrections to understand in depth and train effectively.

💻 Programming – C, C++, Python and Java
Mastering programming is a major asset for success in the digital and technological field.
This module covers the fundamentals of programming to enable you to:

Understand algorithmic logic and computer problem solving.
Master the syntax of the C, C++, Python and Java languages.
Writing your first programs: Variables, conditional structures, loops, functions.
Work on practical projects: Calculator, data management, simple games, sorting and searching algorithms.
Develop advanced skills:
Object-oriented programming (C++, Java): Classes, inheritance, polymorphism.
Memory management (C, C++): Dynamic allocation, pointers.
File manipulation: Reading and writing data.
Data structures: Lists, stacks, queues, binary trees.
Code optimization for faster and more efficient programs.
This module offers concrete examples, practical exercises and motivating projects to help you learn while having fun while developing skills useful in the professional world.

🎯 Interactive and Motivating Teaching
Dynamic online courses: Learn from home in an interactive format with audio and screen sharing.
Tailor-made method: The courses are designed according to your level and your objectives for learning at your own pace.
Practical exercises and concrete projects: To apply theoretical concepts and develop your skills.
Personalized monitoring: Regular support to monitor your progress and adapt the program to your needs.
Encouragement and motivation: A positive approach to building your confidence in your abilities.
🔔 For Who?
This program is aimed at:

High school students wishing to strengthen their foundations in mathematics or learn to program.
University students in science or computer science looking to deepen their knowledge of math and programming.
Candidates for exams and competitions preparing for the Baccalaureate, a License, or entrance exams to the grandes écoles.
Programming enthusiasts wanting to learn the fundamentals of C, C++, Python or Java.
Adults in professional retraining wishing to acquire programming skills.
🚀 Ready to Succeed?
Join the "🎓 Academic Support – 📘 Maths from Secondary to Bachelor & 💻 Programming in C, C++, Python and Java!" and benefit from personalized support to achieve your goals.
Whether you want to improve your grades, pass your exams or develop programming skills, this program will give you knowledge, confidence and motivation.

Register today and take the first step towards success!
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
Understanding algorithms is essential for anyone pursuing computer science or programming. In this course, I provide a structured approach to learning algorithms—from fundamental concepts like sorting and searching to advanced techniques such as dynamic programming and graph theory. Whether you're preparing for exams, coding interviews, or aiming to improve your problem-solving skills, this course is designed to build strong algorithmic thinking. Through practical examples and step-by-step explanations, I help students master the logic and techniques needed to write efficient and elegant code.
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
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
📊Microsoft Office: To establish your office skills, manage data via Excel, write professional reports with Word, and prepare impressive presentations with PowerPoint.

📐 AutoCAD: To learn engineering drawing and design two-dimensional and three-dimensional plans with high accuracy and speed.

🛣️ Civil 3D: To learn road design, network design, surveying, and quantity surveying in a scientific and practical way
verified badge
You have a kid that's interested in programming?? Set up a class for him with me. Aya a software engineer turned teacher. I was a software engineer for 3 years before I joined the teaching industry and I currently teach computer science in Chichester College in United Kingdom. I want to advocate for computer science and help familiarise kids at a young age with programming in Python.

Send me a message let's chat about what you want your kid to learn and what I can offer! :)
Good-fit Instructor Guarantee
favorite button
message icon
Contact Ahmed