Ammar - Python tutor - Montréal
1st lesson free
Ammar - Python tutor - Montréal

One of our best tutors. Quality profile, experience in their field, verified qualifications and a great response time. Ammar will be happy to arrange your first Python lesson.

Ammar

One of our best tutors. Quality profile, experience in their field, verified qualifications and a great response time. Ammar will be happy to arrange your first Python lesson.

  • Price $31
  • Answer 2h
  • Students

    Number of students Ammar has accompanied since arriving at Superprof

    50+

    Number of students Ammar has accompanied since arriving at Superprof

Ammar - Python tutor - Montréal
  • 5 (28 reviews)

$31/h

1st lesson free

Contact

1st lesson free

1st lesson free

  • Python
  • Programming languages
  • C++
  • Java
  • Visual basic

Master Python, C++, Java, VB.NET, JavaScript, OOP, Debugging & Real Projects with a PhD Engineer and Professor | 25+ Years’ Expertise | Beginner to University, Research and Professional Levels

  • Python
  • Programming languages
  • C++
  • Java
  • Visual basic

Lesson location

Ambassador

One of our best tutors. Quality profile, experience in their field, verified qualifications and a great response time. Ammar will be happy to arrange your first Python lesson.

About Ammar

A- PROFESSIONAL PROFILE
I am a PhD Engineer, Professor, Researcher, Programming and Software-Development Educator, Trainer, and Consultant with more than 25 years of experience in programming, information technology, intelligent systems, professional training, research, and applied technical problem-solving.
I teach programming as a disciplined process of analysing problems, designing logical solutions, writing clear and maintainable code, testing assumptions, diagnosing errors, and developing complete working applications. I support complete beginners, school and university students, researchers, engineers, professionals, and career-transition learners.

B- EDUCATIONAL AND COMPUTATIONAL BACKGROUND
My multidisciplinary academic background includes Engineering, a Master’s degree in Management Information Systems, and a PhD in Knowledge Management and Artificial Intelligence.
My Engineering education developed rigorous capabilities in mathematical modelling, algorithms, systems analysis, computational reasoning, simulation, optimization, and technical problem-solving.
My Master’s degree in Management Information Systems strengthened my expertise in systems analysis, software requirements, databases, information architecture, business applications, organizational workflows, and technology-supported decision-making.
My PhD in Knowledge Management and Artificial Intelligence further developed my competence in intelligent systems, computational logic, algorithms, knowledge representation, research software, and the interaction between data, information, knowledge, and executable systems.
This combination enables me to connect programming theory with Engineering, research, data, intelligent systems, business requirements, and practical software applications.

C- PROGRAMMING LANGUAGES
My programming experience includes Python, C++, Java, Visual Basic and VB.NET, JavaScript, and related technologies, with emphasis on transferable programming principles rather than isolated syntax.
I help learners understand how core concepts such as variables, conditions, loops, functions, classes, collections, exceptions, files, modules, and algorithms are represented across different languages.
I also explain the differences between procedural, object-oriented, functional, event-driven, compiled, interpreted, and asynchronous programming approaches and when each approach is appropriate.

D- PYTHON APPLICATIONS
Python may be used for general programming, automation, data processing, scientific computing, research, Artificial Intelligence, scripting, file management, desktop applications, and rapid prototyping.
I help learners develop strong foundations in Python syntax, program structure, functions, modules, object-oriented programming, exception handling, file operations, debugging, testing, and project development.

E- C++ APPLICATIONS
C++ provides a strong environment for understanding compiled programs, memory, performance, data structures, algorithms, object-oriented design, Engineering applications, and systems-oriented programming.
I support learners in building accurate mental models of variables, references, pointers, memory allocation, classes, inheritance, templates, collections, algorithmic efficiency, and program execution.

F- JAVA, VB.NET, AND JAVASCRIPT APPLICATIONS
Java may be used for object-oriented programming, university Computer Science courses, backend systems, desktop applications, Android-related foundations, algorithms, and enterprise-oriented software.
Visual Basic and VB.NET may be used for structured and event-driven programming, Windows applications, graphical forms, database-connected systems, automation, and the maintenance or modernization of existing applications.
JavaScript may be used for browser programming, interactive interfaces, web applications, asynchronous operations, APIs, data exchange, and full-stack development foundations.
I help learners compare equivalent concepts across languages so that they become adaptable programmers rather than users of only one syntax.

G- ALGORITHMS, DATA STRUCTURES, AND PROGRAM DESIGN
Core areas include algorithms, data structures, control flow, functions, recursion, object-oriented design, modular programming, file processing, exception handling, interfaces, databases, debugging, testing, automation, and complete project development.
I also address computational complexity, memory use, program performance, code organization, abstraction, encapsulation, inheritance, polymorphism, design trade-offs, and the selection of suitable algorithms and data structures.
My objective is to help learners move beyond code imitation and understand how to construct efficient, logical, scalable, and reliable solutions.

H- SOFTWARE-DEVELOPMENT LIFECYCLE
Throughout my academic, consulting, research, and professional career, I have contributed to, supervised, and supported hundreds of technical, software, Engineering, information-systems, analytical, and multidisciplinary projects.
I guide learners through the complete software-development lifecycle: clarifying the requirement, identifying users and constraints, analysing the problem, modelling the solution, selecting suitable technologies, designing the program structure, implementing the code, testing and debugging it, documenting it, deploying it where appropriate, and maintaining or improving it.
This complete process helps learners understand that successful programming requires more than writing statements that execute without errors.

I- PROFESSIONAL PROGRAMMING PRACTICES
Professional practices may include Git and GitHub, version control, virtual environments, package and dependency management, unit testing, logging, code review, refactoring, modularity, documentation, reusable components, and reproducible development environments.
Development environments may include Visual Studio Code, Visual Studio, PyCharm, IntelliJ IDEA, Eclipse, Jupyter Notebook, Google Colab, and other tools required by the learner’s course, project, or workplace.
I emphasize readable naming, clear program structure, separation of responsibilities, error handling, validation, maintainability, and systematic testing.

J- DEBUGGING AND ERROR ANALYSIS
Debugging is treated as a central programming skill rather than an emergency procedure. I help learners interpret error messages, inspect variables, trace execution, isolate faulty assumptions, design test cases, use breakpoints, compare expected and actual results, and correct the root cause of a problem.
I also help learners distinguish syntax errors, runtime errors, logical errors, data errors, performance problems, and design weaknesses.
The aim is to develop programmers who can diagnose unfamiliar problems independently and improve their code systematically.

K- ENGINEERING, RESEARCH, AND PROFESSIONAL APPLICATIONS
My Engineering and research experience enables me to connect programming with modelling, simulation, experimentation, data processing, automation, technical calculations, prototypes, information systems, Artificial Intelligence, and research reproducibility.
I support coursework, examination preparation, assignments, debugging, coding challenges, technical interviews, research software, workplace automation, legacy-code understanding, and independent projects.
For assessed work, I guide the learner’s reasoning, explain errors, improve understanding, and support the development of the solution while preserving academic integrity and ensuring that the learner understands and owns the submitted work.

L- PROJECT AND PORTFOLIO DEVELOPMENT
Learners may build complete projects adapted to their academic, professional, or personal objectives.
A project may involve requirements, algorithms, program architecture, source code, interfaces, data storage, testing, documentation, version history, deployment, and presentation of the final solution.
For career-transition and professional learners, projects may be organized as portfolio case studies demonstrating problem analysis, programming competence, code quality, debugging, testing, documentation, and independent project delivery.

M- TEACHING APPROACH
My teaching approach is structured, rigorous, patient, and application-oriented. I begin by identifying the learner’s current level, objectives, programming background, course requirements, preferred language, technical environment, and expected outcomes.
I connect theory, algorithms, program design, code, debugging, testing, and practical applications. I explain not only how to write a solution, but why it works, how alternative approaches differ, what limitations exist, and how the program can be verified and improved.
My objective is to develop independent programmers who can analyse an unfamiliar problem, design an appropriate solution, write readable code, diagnose errors, test assumptions, document their work, and improve their programs systematically.

N- LEARNER LEVELS AND PERSONALIZATION
I support complete beginners, school students, college and university learners, graduate researchers, engineers, developers, analysts, professionals, and career-transition learners.
Lessons may focus on programming foundations, university courses, examination preparation, assignments, debugging, algorithms, object-oriented programming, automation, research applications, workplace projects, or complete software development.
I teach in English, French, and Arabic, and I adapt every lesson to the learner’s background, profession, technical confidence, pace, software environment, and objectives.

see more

About the lesson

  • Primary School
  • High School
  • Year 10
  • +12
  • levels :

    Primary School

    High School

    Year 10

    TAFE

    Adult

    Diploma/Certificate

    Early childhood education

    Beginner

    Intermediate

    Advanced

    Professional

    Kids

    Year 11-12

    Year 12

    PhD

  • French
  • English

All languages in which the lesson is available :

French

English

Programming is not merely memorizing syntax or copying code. It is a disciplined problem-solving process:

**Understand the requirement → design the logic → choose suitable data structures → implement the solution → test it → debug it → improve its quality → document and maintain it.**

My lessons help you develop this complete programming mindset so that you can understand how code works, solve unfamiliar problems systematically, identify errors independently, and build reliable programs with confidence.

I teach beginners, school and university students, researchers, engineers, professionals, and career-transition learners. Each lesson is adapted to your current knowledge, programming language, development environment, syllabus, assignment, examination, project, or professional objective.

At the beginning, I identify your existing programming skills, prerequisite gaps, recurring errors, course or project requirements, development environment, and intended outcome. We then establish a focused pathway from your present level toward increasingly independent programming and software development.

A- Programming and computer-science foundations

Lessons may cover:
• Algorithms, source code, compilers, interpreters, runtime environments, and how programming instructions are executed
• Variables, constants, primitive and reference types, expressions, operators, assignment, input, output, and type conversion
• Control flow using conditions, Boolean logic, loops, nested structures, and decision-making
• Procedural, object-oriented, functional, event-driven, and asynchronous programming foundations, including when each style is appropriate
• Translating requirements or word problems into inputs, outputs, constraints, examples, pseudocode, flowcharts, algorithms, test cases, and implementable program structures
• Code tracing, memory-state reasoning, data movement, and predicting program behaviour before execution
• Recursion and iteration, including how to select the safer and more efficient approach

B- Python programming

Python lessons may include:
• Python syntax, variables, data types, operators, input, output, conditions, loops, and functions
• Strings, lists, tuples, sets, dictionaries, nested data structures, comprehensions, slicing, and iteration
• Functions, parameters, return values, scope, recursion, lambda expressions, and higher-order-function foundations
• Modules, packages, imports, namespaces, virtual environments, and dependency management using `venv` and pip
• Object-oriented programming with classes, objects, constructors, methods, attributes, encapsulation, inheritance, polymorphism, abstraction, and composition
• Text, CSV, JSON, and structured-file processing
• Exception handling, validation, defensive programming, and meaningful error messages
• Automation and scripting for files, folders, repetitive operations, reporting, and productivity tasks
• Graphical and event-driven applications using Tkinter when appropriate
• Database-connected applications using SQLite, MySQL, or another agreed database
• API interaction, web requests, JSON processing, and external-service integration
• Unit testing using `unittest` or `pytest`
• Jupyter Notebook, PyCharm, Visual Studio Code, or another suitable environment

Python is taught here as a general programming and software-development language. Advanced Machine Learning, Deep Learning, RAG, and AI-agent development remain within the dedicated Artificial Intelligence advertisement.

C- C++ programming

C++ lessons may include:
• Syntax, variables, primitive types, expressions, conditions, loops, functions, and namespaces
• Arrays, strings, vectors, references, pointers, and pointer arithmetic foundations
• Stack and heap memory
• Dynamic memory allocation
• Classes, objects, constructors, destructors, encapsulation, inheritance, polymorphism, abstraction, and composition
• Copy construction, assignment, resource ownership, and resource-management foundations
• Templates and generic programming
• Exception handling
• File input and output
• Structures, enumerations, header files, implementation files, and modular project organization
• The Standard Template Library, including vectors, lists, stacks, queues, sets, maps, iterators, and algorithms
• Compilation, preprocessing, linking, executables, and build errors
• Debugging memory, pointer, compilation, linking, runtime, and logical problems
• GCC, Clang, Visual Studio, and CMake foundations when appropriate
• Safe memory and resource management using modern C++ practices

D- Java programming

Java lessons may include:
• Syntax, primitive and reference types, operators, arrays, strings, conditions, loops, methods, and packages
• Classes, objects, constructors, encapsulation, inheritance, polymorphism, abstraction, interfaces, and abstract classes
• Method overloading and overriding
• Generics and collections
• Lists, sets, maps, queues, iterators, and comparable standard-library structures
• Exception handling and custom exceptions
• File handling and serialization foundations
• Streams and lambda-expression foundations
• Object equality, immutability, and reference behaviour
• Unit testing using JUnit
• Maven or Gradle foundations for dependency and build management
• JavaFX or Swing for graphical applications when required
• Database connectivity when relevant
• IntelliJ IDEA, Eclipse, or NetBeans

E- JavaScript programming

JavaScript lessons may include:
• Variables, types, operators, arrays, objects, conditions, loops, and functions
• Scope, closures, callbacks, higher-order functions, and modern JavaScript syntax
• Objects, prototypes, classes, inheritance, modules, and reusable code organization
• The Document Object Model
• Events and event-driven programming
• Form handling and validation
• HTML and CSS integration when required by the project
• Asynchronous programming
• Promises
• `async` and `await`
• Fetch, HTTP requests, APIs, and JSON
• Error handling and debugging using browser developer tools
• Node.js foundations
• npm and package management
• Unit testing using Jest when appropriate
• Frontend or backend foundations using suitable frameworks only when they form part of the agreed learning objective

F- Visual Basic and VB.NET

Lessons may include:
• Variables, types, expressions, conditions, loops, arrays, procedures, and functions
• Classes, objects, constructors, inheritance, encapsulation, and interfaces
• Exception handling and validation
• Text and file processing
• Event-driven programming
• Windows Forms application development
• Controls, events, forms, dialogs, and user-interface logic
• Database connectivity and data-bound applications when required
• Project organization and debugging in Visual Studio

G- C programming foundations

When required by the learner’s course or project, lessons may also cover:
• C syntax, variables, functions, arrays, strings, pointers, structures, enumerations, and header files
• Memory allocation and deallocation
• Stack and heap behaviour
• File handling
• Compilation and linking
• Low-level program reasoning
• Defensive programming and memory safety

H- Data structures

You may learn:
• Arrays and dynamic arrays
• Strings
• Lists and linked lists
• Stacks
• Queues
• Sets
• Dictionaries and hash tables
• Trees and binary-search trees
• Heaps and priority queues
• Graphs
• Choosing an appropriate data structure according to access speed, insertion, deletion, memory use, ordering, and problem requirements

I- Algorithms and computational efficiency

Topics may include:
• Iterative and recursive algorithms
• Linear and binary search
• Sorting algorithms
• Tree and graph traversal
• Divide-and-conquer foundations
• Greedy reasoning foundations
• Dynamic-programming foundations when appropriate
• Algorithm correctness
• Time and space complexity
• Big-O, Big-Theta, and Big-Omega reasoning when required
• Comparing alternative solutions according to correctness, readability, memory use, and performance

J- Object-oriented programming and software design

Lessons may include:
• Classes and objects
• Encapsulation
• Abstraction
• Inheritance
• Polymorphism
• Interfaces and abstract classes
• Composition and aggregation
• Dependency relationships
• Choosing composition instead of inheritance when appropriate
• Cohesion and coupling
• SOLID foundations
• Separation of concerns
• Modular design
• Selected design patterns when relevant
• Refactoring poorly structured code into clearer and more maintainable designs

K- Program and software modelling

You may learn to design programs using:
• Pseudocode
• Flowcharts
• Use cases
• Class diagrams
• Sequence diagrams
• State and activity concepts when appropriate
• Modular decomposition
• Interfaces and contracts
• Layered application structures
• Separation of user-interface, business-logic, and data-access responsibilities

L- Debugging and troubleshooting

Debugging is treated as a core programming skill rather than a final emergency step.

Lessons may cover:
• Syntax, compilation, linking, runtime, logical, and environment errors
• Reading tracebacks, stack traces, compiler messages, and warnings
• Reproducing errors consistently
• Isolating the smallest failing case
• Using print tracing, logging, breakpoints, watches, step execution, and debuggers
• Inspecting variables, call stacks, objects, memory, and program state
• Distinguishing symptoms from root causes
• Testing assumptions systematically
• Diagnosing infinite loops, incorrect conditions, off-by-one errors, invalid indexes, null references, pointer errors, and unexpected state changes
• Writing clear bug descriptions and documenting the correction

M- Software testing

Lessons may include:
• Assertions
• Test-case design
• Normal, boundary, invalid, and edge cases
• Unit testing
• Integration-testing foundations
• Regression testing
• Automated testing
• Mocking and dependency isolation foundations when appropriate
• Code-coverage concepts
• Test-driven-development foundations

Practical testing may use:
• `unittest` or `pytest` for Python
• JUnit for Java
• Jest for JavaScript
• The testing framework relevant to C++, VB.NET, or the learner’s project

N- Clean code and maintainability

You may learn:
• Meaningful variable, function, class, and module names
• Small, cohesive functions
• Modular structure
• Low coupling and clear interfaces
• Avoiding unnecessary complexity
• Removing duplication
• Comments that explain decisions rather than repeat obvious code
• Docstrings and professional documentation
• Code review
• Refactoring
• Balancing readability, reliability, extensibility, and performance
• Recognizing technical debt and unsafe shortcuts

O- Secure and defensive programming

Topics may include:
• Input validation
• Boundary checking
• Safe exception handling
• Parameterized database queries
• File and path safety
• Permissions
• Password, token, secret, and API-key protection
• Injection risks
• Dependency awareness
• Privacy and confidential-data protection
• Avoiding unsafe coding practices
• Designing programs that fail safely and provide useful diagnostic information

P- Git, GitHub, and version control

Lessons may include:
• Creating and cloning repositories
• Tracking changes
• Commits and meaningful commit messages
• Branches
• Merging
• Conflict resolution
• Remote repositories
• Pull and push workflows
• Rollback and recovery
• Tags and releases foundations
• Issues and pull-request foundations
• `.gitignore`
• Maintaining a professional and understandable project history
• Using Git and GitHub for individual projects, collaboration, coursework, and portfolio development

Q- Development environments and professional tools

Depending on the language and project, lessons may use:
• Visual Studio Code
• PyCharm
• Jupyter Notebook
• IntelliJ IDEA
• Eclipse
• NetBeans
• Visual Studio
• Browser developer tools
• Windows Terminal
• PowerShell
• Command Prompt
• Unix-style terminal environments when appropriate
• Git and GitHub
• Linters
• Formatters
• Static-analysis foundations
• Debuggers
• Documentation tools
• Postman for API testing
• Markdown and language-specific documentation systems

R- Packages, dependencies, and build systems

You may learn:
• Python virtual environments and pip
• Java Maven or Gradle foundations
• JavaScript npm and package management
• C++ compilation and CMake foundations
• Dependency installation, updating, compatibility, and troubleshooting
• Project structure
• Configuration files
• Reproducible development environments

S- Files, data, and external services

Lessons may include:
• Reading and writing text files
• CSV and JSON processing
• Binary-file foundations when appropriate
• File-system navigation and automation
• API integration
• HTTP requests and responses
• REST concepts
• Authentication foundations
• API documentation
• Error and rate-limit handling
• Data validation
• External-service integration

T- Database-connected programming

You may learn:
• Connecting a program to SQLite, MySQL, or another agreed relational database
• Executing queries safely
• Using parameterized statements
• Reading, inserting, updating, and deleting data
• Handling transactions and errors
• Mapping database results into program objects or structures
• Separating application logic from data-access logic
• Validating data across the application and database layers

Full database design, advanced SQL, data warehousing, Power BI, and Tableau remain within the dedicated Database Management and Data Analysis advertisement.

U- Graphical, event-driven, and interactive applications

Depending on the language and project, lessons may include:
• Tkinter
• JavaFX
• Swing
• Windows Forms
• Browser interfaces
• Events and handlers
• Controls and widgets
• Input validation
• Layout management
• Application state
• Interaction between the interface, program logic, and stored data

V- Concurrency and asynchronous programming

For advanced learners, lessons may include:
• Processes
• Threads
• Tasks
• Event loops
• Asynchronous functions
• Synchronization
• Shared resources
• Race conditions
• Deadlocks
• Choosing between sequential, concurrent, asynchronous, and parallel solutions
• Designing responsive and safe applications

W- Software-development lifecycle

You may learn the complete development process:

**Requirements → analysis → design → implementation → version control → testing → debugging → documentation → release → maintenance and improvement**

Topics may include:
• Understanding functional and non-functional requirements
• Estimating project scope
• Dividing work into manageable stages
• Building a minimum working version
• Incremental development
• Testing each component
• Integrating modules
• Reviewing quality
• Preparing documentation
• Demonstrating the final application
• Maintaining and extending completed software

X- End-to-end projects

Projects may progress from initial requirements and design through implementation, Git version control, testing, debugging, documentation, refinement, and final demonstration.

Possible project types include:
• Automation utilities
• Educational programs
• File-processing tools
• Command-line applications
• Graphical interfaces
• API clients
• Small games
• Database-connected applications
• Scheduling or management tools
• Engineering or scientific utilities
• Web-based applications when the required technologies are within the agreed scope
• Another project suited to your level, course, or professional objective

Projects are selected to teach transferable programming skills rather than produce copied solutions that the learner cannot explain.

Y- Academic, examination, and competition preparation

Support may include:
• School, college, and university programming courses
• Course-specific assignments and projects
• Midterm and final examination preparation
• Code-tracing questions
• Output-prediction questions
• Error identification and debugging exercises
• Object-oriented design questions
• Data-structure and algorithm problems
• AP Computer Science A
• AP Computer Science Principles
• Canadian Computing Competition foundations
• Coding challenges and enrichment activities
• Technical programming examinations
• Systematic practice using relevant course or competition formats

Y- Coding-interview preparation

When appropriate, interview-oriented learners may work on:
• Arrays, strings, hash tables, linked lists, stacks, queues, trees, graphs, and heaps
• Searching and sorting
• Recursion
• Complexity analysis
• Explaining code clearly
• Debugging under time constraints
• Comparing alternative solutions
• Recognizing edge cases
• Timed programming problems
• Structured practice using platforms such as LeetCode or HackerRank
• Discussing decisions, trade-offs, and testing strategy during an interview

Z- Responsible use of AI coding assistants

Tools such as ChatGPT, GitHub Copilot, or comparable coding assistants may be used responsibly for:
• Explaining unfamiliar concepts
• Brainstorming solution approaches
• Generating test cases
• Reviewing code
• Improving documentation
• Identifying possible errors

Generated code is never accepted automatically. You will learn to:
• Verify correctness
• Test edge cases
• Understand every important line
• Detect invented or unsafe APIs
• Protect confidential information
• Avoid dependency on generated solutions
• Maintain academic integrity and genuine programming competence

# Lesson structure and deliverables

A lesson may include:
• A diagnostic review
• Concept explanation
• Code tracing
• Live implementation
• Guided exercises
• Independent coding
• Debugging
• Testing
• Code review
• Refactoring
• Discussion of complexity, quality, or security
• A final summary and recommended next steps

When useful, you may receive:
• Annotated source code
• Pseudocode
• Flowcharts and UML diagrams
• Debugging records
• Test cases
• Targeted exercises
• Project templates
• Reference notes
• Git repositories
• Code-review comments
• A structured software-development plan

For ongoing instruction, we can follow a progressive curriculum, monitor concept mastery, maintain a project portfolio, review recurring errors, and move systematically from guided coding toward independent software development.

My objective is not merely to help you make one program run. It is to help you understand how and why the program works, design reliable solutions, select suitable structures and algorithms, test assumptions, diagnose failures, write maintainable code, and explain your decisions clearly.

Whether you are learning programming for the first time, completing a university course, preparing for an examination, building a software project, improving professional coding skills, or preparing for technical interviews, every lesson will be structured around your actual objective.

You may choose either a brief free Zoom consultation to discuss your needs and establish an appropriate learning plan—with no booking or payment required—or begin tutoring immediately if your objectives and materials are already clear.

see more

Rates

Price

  • $31

Pack prices

  • 5h: $153
  • 10h: $306

online

  • $31/h

travel fee

  • + $10

free lessons

The first lesson with Ammar will allow you to get to know each other and discuss your needs for future lessons.

  • 1hr

Details

Getting started: You may begin directly with a paid tutoring session when the topic and objective are already clear. If you prefer to discuss your needs first, we can have a brief free Zoom meeting - together with a parent or guardian when relevant - to clarify the level, goals, and best learning plan. No booking or payment is required for this introductory meeting;

Similar Python tutors in Montréal

  • Arun

    Melbourne & online

    5 (38 reviews)
    • $40/h
    • 1st lesson free
  • Piyush

    Melbourne & online

    5 (48 reviews)
    • $45/h
    • 1st lesson free
  • Adi Teja

    Liverpool & online

    4.9 (27 reviews)
    • $50/h
    • 1st lesson free
  • Suman

    Melbourne & online

    5 (72 reviews)
    • $60/h
    • 1st lesson free
  • Callum

    Caboolture & online

    4.9 (12 reviews)
    • $90/h
  • Patrick

    Perth & online

    5 (49 reviews)
    • $50/h
    • 1st lesson free
  • DEEPAK

    Brisbane City & online

    4.8 (15 reviews)
    • $80/h
  • Alex

    Sydney & online

    5 (20 reviews)
    • $50/h
  • Lynden

    North Sydney & online

    5 (11 reviews)
    • $40/h
    • 1st lesson free
  • Minh Quan

    East Melbourne & online

    5 (6 reviews)
    • $45/h
    • 1st lesson free
  • Jamshaid

    Melbourne & online

    4.9 (13 reviews)
    • $35/h
    • 1st lesson free
  • Praveen

    Adelaide & online

    4.9 (6 reviews)
    • $35/h
    • 1st lesson free
  • Neha

    Sydney & online

    5 (26 reviews)
    • $90/h
  • Farida

    Ryde & online

    5 (19 reviews)
    • $15/h
    • 1st lesson free
  • Hemen

    Perth & online

    5 (18 reviews)
    • $18/h
    • 1st lesson free
  • Amr

    Hurstville & online

    5 (10 reviews)
    • $30/h
  • Nik

    Surry Hills & online

    5 (21 reviews)
    • $85/h
  • Akshay

    Melbourne & online

    5 (12 reviews)
    • $80/h
  • Michael

    Sydney Olympic Park & online

    5 (6 reviews)
    • $80/h
    • 1st lesson free
  • Abhishek

    Sydney & online

    5 (18 reviews)
    • $15/h
    • 1st lesson free
  • More Python teachers