

from45.86CAD/ h
Programming Language Development (Suitable for GCSE and A-Level)
Any programming language - compiled or interpreted, statically typed or dynamic, boils down to the same common principles. These principles can then be applied to make any programming language - with any rules you desire. You can use '&' to represent addition and '>>!' to represent conditional loops. You can use 'beep' to represent branches and end each line with @.
This class aims to teach you how to create these principles to design a language, and then the different approaches on how to do it.
An end project will be to actually make your own programming language!
The topics covered are listed below:
Pretence:
Programming Language Types (grammar), Programming Language Types (formation), Programming Language Types (typing)
Stages (Lexing), Stages (Parsing), Stages (Interpreting)
Intermediate Forms (AST), Intermediate Forms (Bytecode), Transpiling
Optimisation (types), Optimisation (application to AST), Optimisation (application to Bytecode)
Building Ray (Classes):
Grammar Type, Formation Type, Typing Type
Data Types, Expressions (types), Expressions (precedence)
Statements (declarations), Statements (statements), Standard Library
Tokens, Tokenisation (characters), Tokenisation (literals)
Parsing (AST), Parsing (Visitors), Interpreting (Visitor)
Static Scope, Semantic Analysis, Resolvers (Visitor)
Building Ray (Nodes)
Parsing (Literals), Interpreting (Literals), Resolving (Literals)
Parsing (Groups), Interpreting (Groups), Resolving (Groups)
Parsing (Operators), Interpreting (Operators), Resolving (Operators)
Parsing (Variable declarations), Interpreting (Variable declarations), Resolving (Variable declarations)
Parsing (Variable getters), Interpreting (Variable getters), Resolving (Variable getters)
Parsing (Variable setters), Interpreting (Variable setters), Resolving (Variable setters)
Parsing (Branches), Interpreting (Branches), Resolving (Branches)
Parsing (Logic Gates), Interpreting (Logic Gates), Resolving (Logic Gates)
Parsing (Loops conditional), Interpreting (Loops conditional), Resolving (Loops conditional)
Parsing (Loops count), Interpreting (Loops count), Resolving (Loops count)
Parsing (Function declarations), Interpreting (Function declarations), Resolving (Function declarations)
Parsing (Function calls), Interpreting (Function calls), Resolving (Function calls)
Parsing (Scope Termination), Interpreting (Scope Termination), Resolving (Scope Termination)
Parsing (Class declarations), Interpreting (Class declarations), Resolving (Class declarations)
Parsing (Instances), Interpreting (Instances), Resolving (Instances)
Parsing (Methods), Interpreting (Methods), Resolving (Methods)
Parsing (Instance Lookup), Interpreting (Instance Lookup), Resolving (Instance Lookup)
Parsing (Constructors), Interpreting (Constructors), Resolving (Constructors)
Parsing (Inheritance), Interpreting (Inheritance), Resolving (Inheritance)
Optimisations (Visitor), Optimisations (Literal-Only Expressions), Optimisations (Variable Expressions)
Project: Build your own language! (Supervised)
We will not be covering how to use python, so make sure that you know how to do classes and OOP programming in python.
This class aims to teach you how to create these principles to design a language, and then the different approaches on how to do it.
An end project will be to actually make your own programming language!
The topics covered are listed below:
Pretence:
Programming Language Types (grammar), Programming Language Types (formation), Programming Language Types (typing)
Stages (Lexing), Stages (Parsing), Stages (Interpreting)
Intermediate Forms (AST), Intermediate Forms (Bytecode), Transpiling
Optimisation (types), Optimisation (application to AST), Optimisation (application to Bytecode)
Building Ray (Classes):
Grammar Type, Formation Type, Typing Type
Data Types, Expressions (types), Expressions (precedence)
Statements (declarations), Statements (statements), Standard Library
Tokens, Tokenisation (characters), Tokenisation (literals)
Parsing (AST), Parsing (Visitors), Interpreting (Visitor)
Static Scope, Semantic Analysis, Resolvers (Visitor)
Building Ray (Nodes)
Parsing (Literals), Interpreting (Literals), Resolving (Literals)
Parsing (Groups), Interpreting (Groups), Resolving (Groups)
Parsing (Operators), Interpreting (Operators), Resolving (Operators)
Parsing (Variable declarations), Interpreting (Variable declarations), Resolving (Variable declarations)
Parsing (Variable getters), Interpreting (Variable getters), Resolving (Variable getters)
Parsing (Variable setters), Interpreting (Variable setters), Resolving (Variable setters)
Parsing (Branches), Interpreting (Branches), Resolving (Branches)
Parsing (Logic Gates), Interpreting (Logic Gates), Resolving (Logic Gates)
Parsing (Loops conditional), Interpreting (Loops conditional), Resolving (Loops conditional)
Parsing (Loops count), Interpreting (Loops count), Resolving (Loops count)
Parsing (Function declarations), Interpreting (Function declarations), Resolving (Function declarations)
Parsing (Function calls), Interpreting (Function calls), Resolving (Function calls)
Parsing (Scope Termination), Interpreting (Scope Termination), Resolving (Scope Termination)
Parsing (Class declarations), Interpreting (Class declarations), Resolving (Class declarations)
Parsing (Instances), Interpreting (Instances), Resolving (Instances)
Parsing (Methods), Interpreting (Methods), Resolving (Methods)
Parsing (Instance Lookup), Interpreting (Instance Lookup), Resolving (Instance Lookup)
Parsing (Constructors), Interpreting (Constructors), Resolving (Constructors)
Parsing (Inheritance), Interpreting (Inheritance), Resolving (Inheritance)
Optimisations (Visitor), Optimisations (Literal-Only Expressions), Optimisations (Variable Expressions)
Project: Build your own language! (Supervised)
Extra information
Bring your own laptop (microphone and speakers required, webcam optional), with python installed.We will not be covering how to use python, so make sure that you know how to do classes and OOP programming in python.
Location
Online via webcam
At student's location: Around Hemel Hempstead, United Kingdom






|
Use ctrl + wheel to zoom!
General info
Age: | Teenagers (13-17 years old) Adults (18-64 years old) |
---|---|
Student level: | Advanced |
Duration: | 60 minutes 90 minutes |
The class is taught in: | English |
About Me
About Me:I'm currently pursuing a Master's degree in Computer Systems Engineering and I
understand how annoying it is not to achieve what you potentially could. Having done computer science for many years both for study and for work, I have a competent understanding of the subject matter and tend to run things more informally than a classroom.
I honestly believe that understanding computer science is a privilege and a pleasure. One of my top priorities is making sure my students have that privilege. My other priorities are about clearing the jargon - what appeals to me most when tutoring is seeing a mental block clear, and all the little puzzle pieces click into place.
My Teaching Style:
My style is more Q&A, where we work together to assess gaps, and build up our knowledge from there. I will break things down to their simplest form, and then build up the knowledge in layers.
My main focus is visible progress - I try to preach the mentality of 'one large problem is nothing but several smaller - and infinitely more manageable- problems'. That way, a slow lesson still has a visible output that a student can refer back to and show.
Education
Pursuing Integrated Master's in Computer Systems EngineeringAchieved 75% average across the first 3 years of my course
A-Levels in Maths, Computer Science, and Physics
Experience / Qualifications
I am used to working with students of a variety of ages and skills, having tutored for those between the ages of 6 and 16, as well as some professional presentation of projects to general public.Employed as a Computer Science Tutor for ages 6 - 16
Tutored private GCSE physics lessons
Computers are very powerful machines, that do incredible work. But how do they work? How can it tell the difference between a 1 and a 7? How can it tell the difference between reading a Word document and a PowerPoint?
If you understand programmatic theory, then you can write in any programming language.
This class is designed to unravel the mysteries surrounding these machines. Ranging from programming theory (what is a pointer?) to actual computational challenges (what is the correct data structure to use based on the Big O requirements?)
No specific language is covered in this course, it will be purely theoretical knowledge and 'pseudocode'.
The topics covered are listed below
Programmatic Theory:
Literals, Operators, Keywords
Variables, Data Types, Generics
Memory Usage, Pointers, Arrays
Branching, Iteration, Iterators
Functions, Control Flow, Scope,
Closures, Enumerations, OOP
Classes and Instances, Immutability, Inheritance
Polymorphism, Exception Handling, Composition
Asynchronous Programming, Multithreading, Multiprocessing
Internal Workings:
Binary, Hexadecimal, Number Systems
Extrinsic vs Intrinsic Data, Coupling, MVC Architecture
CPU, FED Cycle, Spatial Locality
Caching, Performance, Memory Types
Storing Complex Data (Text), Storing Complex Data (Sound), Storing Complex Data (Images)
Data Structures and Algorithms:
Performance, Big O, Measuring Performance
Searching, Sorting, Decomposition
Data Structures, Arrays, Linked Lists
Single Buffers (Pools), Double Buffers, Ring Buffers
Stacks, Queues, Priority Queues
Heaps, Hash Tables, Graphs
Trees, Binary Trees, Vectors
Python is one of the most versatile programming languages out there, used for game development, AI, web scraping, and so much more.
In this class, I will break down the language into simple building blocks that can be used time and time again in any program, whether designing 2D Minecraft or coding your own JARVIS!
The topics covered are listed below
Basics:
Literals, Operators, Keywords
Variables, Data Types, Branching
Iteration, Iterators, Functions
Control Flow, Scope, Closures
Importing, Random Numbers, Modules and Packages
OOP, Classes and Instances, Inheritance
Polymorphism, Exception Handling, Files
Data Structures and Algorithms:
Searching, Sorting, Immutability
Lists, Tuples, Linked Lists
Single Buffers (Pools), Double Buffers, Ring Buffers
Stacks, Queues, Priority Queues
Hash Tables (dictionaries), Hash Tables (custom), Vectors
Graphs, Trees, Binary Trees
Ask a question
Send a message explaining your needs and Max will reply soon:
The more detail, the better.
Ex. "Hi, when are you available to meet for a lesson?"
Ex. "Hi, when are you available to meet for a lesson?"
Availability of a typical week
(GMT -04:00) New York
Mon | Tue | Wed | Thu | Fri | Sat | Sun | |
---|---|---|---|---|---|---|---|
0 | |||||||
1 | |||||||
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 | |||||||
7 | |||||||
8 | |||||||
9 | |||||||
10 | Monday at 10:00 | ||||||
11 | Monday at 11:00 | ||||||
12 | Monday at 12:00 | ||||||
13 | Monday at 13:00 | Wednesday at 13:00 | Saturday at 13:00 | Sunday at 13:00 | |||
14 | Monday at 14:00 | Wednesday at 14:00 | Saturday at 14:00 | Sunday at 14:00 | |||
15 | Monday at 15:00 | Wednesday at 15:00 | Saturday at 15:00 | Sunday at 15:00 | |||
16 | Monday at 16:00 | Wednesday at 16:00 | Saturday at 16:00 | Sunday at 16:00 | |||
17 | |||||||
18 | |||||||
19 | |||||||
20 | |||||||
21 | |||||||
22 | |||||||
23 |
from C$45.86Online via webcam
from C$45.86At student's home
100% Satisfaction Guarantee
Good-fit Instructor Guarantee
If you are not satisfied after your first lesson, Apprentus will find you another instructor or will refund your first lesson.
Online reputation
- Instructor since April 2021
- Phone number verified
- Google connected
Availability of a typical week
(GMT -04:00) New York
Mon | Tue | Wed | Thu | Fri | Sat | Sun | |
---|---|---|---|---|---|---|---|
0 | |||||||
1 | |||||||
2 | |||||||
3 | |||||||
4 | |||||||
5 | |||||||
6 | |||||||
7 | |||||||
8 | |||||||
9 | |||||||
10 | Monday at 10:00 | ||||||
11 | Monday at 11:00 | ||||||
12 | Monday at 12:00 | ||||||
13 | Monday at 13:00 | Wednesday at 13:00 | Saturday at 13:00 | Sunday at 13:00 | |||
14 | Monday at 14:00 | Wednesday at 14:00 | Saturday at 14:00 | Sunday at 14:00 | |||
15 | Monday at 15:00 | Wednesday at 15:00 | Saturday at 15:00 | Sunday at 15:00 | |||
16 | Monday at 16:00 | Wednesday at 16:00 | Saturday at 16:00 | Sunday at 16:00 | |||
17 | |||||||
18 | |||||||
19 | |||||||
20 | |||||||
21 | |||||||
22 | |||||||
23 |
from C$45.86Online via webcam
from C$45.86At student's home
Good-fit Instructor Guarantee
If you are not satisfied after your first lesson, Apprentus will find you another instructor or will refund your first lesson.
Share
You are here
Private lessons
in Hemel Hempstead
Similar classes
Salah Eddine
Master Python with Courses Suitable for All Ages and Levels! Beginners, Intermediates, Professionals, Everyone is WelcomeMaster 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.
Robert
Excel lessons, at your place, at my place or remotely, at your best convenience!As a Franco-Belgian management teacher, I give Excel lessons with passion!
Whether remotely or face-to-face, I offer many examples and exercises to accompany you.
I travel without problem throughout the region of Brussels and its surroundings, for lessons of at least 2 hours. For France, courses are only given remotely.
Here are some key words that will be covered in my classes:
Scenario analysis, Year, Rounding, Today, Bdnb, Bdnbval, Bdsum, Search, Column, Copy/paste in values, Copy/paste with transposition, Consolidation, Date, Datedif, Determat, Dollar, Right, Righterg, Equiv, Esterror, Estna, Frequency, Filter (simple and advanced), Format of cells, Left, Large.Value, Printing of documents, Index, Indirect, Inversemat, Day, Weekday, Line, Matrix, Max, Maxa, Max.Si, Min , Mina, Mina.If, Formatting of cells and ranges, Month, Average, Average.If, Nb, Nb.If, Nbval, Naming of cells and ranges, No, Small.value, Product, Productmat, Protection of cells, Lookup (Lookup), Lookupv (VLookup), Lookuph (HLookup), If (If), If.Not.Disp, If.Conditions, Iferror, Sum, Sumproduct, Sum.If, Sum.If.Set, Substitute , Pivot tables, Sorting, Cell locking
Do not hesitate to contact me to organize your lessons according to your needs and availability. Together, we will develop your Excel skills in an efficient and personalized way.
Arianit
MATLAB Programming (Modelling, Simulation, Control Systems)Struggling with MATLAB? Whether you're a beginner or tackling advanced simulations, our one-on-one online tutoring is here to help you master MATLAB step-by-step. We offer personalized lessons tailored to your level, covering:
Basics of MATLAB programming
Data analysis & visualization
Numerical methods & simulations
Signal processing & control systems
MATLAB for engineering, math, and science courses
Help with assignments, projects, and exam prep
Albert
Mathematics, Physics & Programming Tutorials, High School + UndergraduatesAre you a high school or high school student and have difficulty understanding and solving math or physics problems? Then I am someone who would like to help you with that. I often see that in standard classroom teaching is succinctly taught. As a result, the student misses out on the whole picture, making the teaching material and the problems vague and unclear. My goal is to take the time for each student to complete the whole picture and guide them through complex problems, so that the student can not only take tests and exams with ease, but also enjoy learning the material.
Oussama
Mastering Web Development: From Fundamentals to Advanced TechniquesWhat You’ll Learn:
Front-end Technologies: HTML, CSS, JavaScript, React.js, Next.js, TailwindCSS for creating dynamic, responsive applications.
Back-end Mastery: Node.js, Nest js, Express, and Fastify for building robust and scalable web servers.
Databases: MySQL, PostgreSQL, and MongoDB for handling data efficiently.
DevOps & Deployment: Learn Docker, CI/CD with GitHub Actions, and cloud deployment practices to ensure your applications are production-ready.
How You Will Benefit:
Students: Gain the technical skills and portfolio to ace your academic projects and land internships or entry-level jobs.
Self-Taught Learners: Stop the guesswork and follow a structured, hands-on approach to mastering full-stack development faster.
Professionals: Upgrade your skills to meet the demands of modern web development and position yourself for career growth.
Why My Course is Different:
Real-World Projects: You'll build applications that solve real business problems, like a complete e-commerce site, RESTful APIs, and microservices.
Tailored Learning: Each course is personalized to your experience level and goals, ensuring you get the most out of every session.
Problem-Solving Focus: From debugging to performance optimization, you'll learn to tackle real-world challenges confidently.
Industry-Relevant Skills: Stay ahead of the curve with training in modern technologies and practices that top employers are looking for.
Baia
Python & Django Development – From Beginner to Web App Developer🚀 Learn Python and Django to Build Powerful Applications 🚀
Want to master Python and develop real-world web applications with Django? Whether you're a beginner or looking to enhance your coding skills, this course will guide you step by step!
What You’ll Learn:
✅ Python Basics & Advanced Concepts – Learn syntax, data structures, OOP, and algorithms
✅ Django Framework – Build dynamic and scalable web applications
✅ Databases & APIs – Work with PostgreSQL, SQLite, and REST APIs
✅ Project-Based Learning – Apply concepts through hands-on coding and real projects
✅ Debugging & Best Practices – Learn clean coding principles and error handling
🔹 Who is this course for?
Complete beginners who want to start coding with Python
Developers looking to transition into backend or full-stack development
Students and professionals who want to build their own web applications
💻 Class Format:
- Live online sessions via Google Meet
- Interactive coding exercises & projects
- Personalized guidance based on your level
📩 Contact me to start your Python & Django journey today!
Rony
Learn Data Communication and Networking! From the fundamentals to the deeper concepts!Learn Data Communication & Networking!🌐
Are you interested in understanding how data moves across networks, how the internet works, and how to build efficient communication systems? I’m excited to announce that I will be offering Data Communication and Networking classes!
📌 What You’ll Learn:
✅ Networking fundamentals and protocols
✅ OSI and TCP/IP models explained
✅ Wired vs. wireless communication
✅ IP addressing and subnetting
✅ Network security basics
✅ Real-world applications and hands-on practice
📌 Who Is This For?
🔹 Students, tech enthusiasts, and IT professionals
🔹 Anyone looking to improve their networking skills
🔹 Those preparing for networking certifications
📌 Why Join?
✔️ Practical, easy-to-understand lessons
✔️ Hands-on exercises and real-world examples
✔️ Learn from an experienced instructor
If you’re interested, feel free to reach out for more details. Let’s dive into the world of networking together! 🚀
Gaëlle
Code Your Way to Success: A Fun and Interactive Introduction to Programming for KidsIn this class, kids will learn the fundamentals of programming and computer science in a fun and engaging way, and discover how these hard and soft skills can be used in their personal and future professional lives. Through interactive lessons and hands-on projects, kids will explore the world of code and create their own digital creations.
Throughout the course, they will:
Learn the basic concepts and terminology of programming
Experiment with different programming languages and platforms
Create simple programs and apps using code
Collaborate with peers and share their creations
Develop problem-solving skills, logical thinking, and other valuable skills that will be useful in any field
By the end of the class, your children will have the knowledge and confidence to continue exploring the exciting world of programming and computer science and will understand how code can be a powerful tool for achieving success in any field. They'll be able to choose the job they want in the future or even build their own company. So, join us and code your way to success!
Brahim
Introduction to NoSQL DataBase MongoDB by PratiqueDo not deal with the manual with terms of reference statements and basic documents that cannot be obtained in order to avoid the MongoDB problem. Please include the connection to one of the MongoDB données base, comment on simple CRUD operations and sujets clés que l'agrégation, l'indexation, la mode des données et les Transaction.
1- Install MongoDB
2- Implement MongoDB
3- Use of documents and collectibles
4 - Leadership Committee
5- Execute CRUD commands (create, read, update, delete) avec mongo shell
6- Type the register in a MongoDB database
7- Reset the base to remonter specific documents depuis mongo shell.
8- Lagrégation
9- Indexing
10- Amending institutions and transactions
Younes
Scratch, Roblox: Code for Fun - A Fun Adventure for Kids and Beginners!With Scratch and Roblox, programming becomes child's play! Learn how to create animations, games, and interactive stories using colorful, easy-to-manipulate blocks of code. No complex language here, just a visual and intuitive approach to make learning as fun as possible.
Whether you are a parent wanting to introduce your children to the language of programming or a beginner curious to discover the world of coding, this training is suitable for all ages. No prerequisites necessary, just a dose of curiosity and a desire to have fun while learning.
As a trainer, I am committed to creating a caring and creative learning environment. I will use teaching methods adapted to each child, promoting positive interaction and encouraging the free expression of creativity. The goal is to make each lesson an engaging and enriching experience.
Martial
Graduate teacher gives courses in Physics & Chemistry, Mathematics, many years of experience.I am a dynamic and demanding teacher who gives private lessons in Physics-Chemistry as well as Mathematics.
I graduated from teaching seven years ago, after a masters in physical sciences with honors, and I teach in college and high school since.
I have also been preparing students for the Baccalaureate Science for many years, all of whom have been awarded very good honors.
I also prepare my students for different exams (Matu, Bac, preparation for EPFL, etc...)
I make sure to rework the basics so that the student can progress quickly. It is important to me that my students acquire a solid foundation of knowledge.
I also give effective work methods that will allow him to progress much more quickly and so he can regain self-confidence.
I can go to the student's home or also take the course via Skype.
Benito
Python and/or Machine/Deep Learning Classes at your place or Online!I am currently working as an independent consultant, technical writer, online teacher 🧑🏫 and course content developer in Python, and a wide range of Machine/Deep Learning topics 🧑💻. My experience enables me to offer lessons ranging from beginner to advanced levels. I can tailor the classes to your specific needs and schedule, providing a well-structured learning path 🚀.
What do you get from me?
👉 Learn at your own pace without any pressure
👉 Well-documented tutorials
What topics do I usually cover at the beginning for people without Python experience?
✔️ Understanding the basic concepts (variables & types)
✔️ Math & Statistics (explained easily)
✔️ Data Manipulation (data cleaning, preprocessing...)
What topics do I cover for people with Python experience?
✅ Classic libraries: Pandas, NumPy, Scikit-learn, TensorFlow
✅ Data Analytics/Visualization: Plotly, Seaborn, Matplotlib
✅ Domains: Regression, Classification, NLP, LLM, RAG, Computer Vision, Neural Networks, Ensemble Methods, Clustering, Dimensionality Reduction
✅ MLOps: MLflow, Prefect, GCP, AWS
Whether you are new to the field, seeking to enhance your skills, or require assistance with a work/school project, feel free to reach out to me! 😉
Mahmoud
"Fun & Engaging Coding for Kids: Scratch, Python, AI & Web Development"Unlock the exciting world of coding with this beginner-friendly course designed specifically for young learners! 🚀
In this interactive class, children will explore the fundamentals of programming through engaging hands-on projects. We'll start with Scratch, a fun visual coding platform that builds problem-solving and logical thinking skills. Then, we'll dive into Python, one of the most popular coding languages, where kids will learn to create simple programs and games. Finally, we’ll introduce them to Artificial Intelligence (AI) concepts in an easy and exciting way!
By the end of this course, students will:
✅ Build fun projects with Scratch 🎮
✅ Write real code using Python 🐍
✅ Understand basic AI concepts 🤖
✅ Develop problem-solving & logical thinking skills
This course is perfect for kids who love technology and want to start their journey into programming in a creative and enjoyable way!
Mohamed
Artificial Intelligent _ Machine Learning _ Neural Networks using MatlabNeural Network is a powerful machine learning tool used for classification & prediction. It works as function approximation from experienced data of inputs and outputs entered to the training process to create the model. The concept of neural network can be thought theoretically by mathematics, but the course will include also a practical coding using Matlab Software.
Antonin
Experienced teacher in private lessons gives private lessons in the Geneva regionNeed a catch-up, tutoring, private lessons or help with homework in mathematics? In computer science ? In logic?
I'm here for you!
I offer you a personalized approach; because there is no one method that works for everyone, I adapt to the needs and requests of each student (and their parents). The first hour of class will be used to define the student's needs, deadlines and strengths.
My courses are aimed at secondary school students of all levels, higher education students and anyone wishing to refresh or strengthen their knowledge of mathematics and computer science. I have been helping friends and acquaintances on a voluntary basis for a long time in the success of their studies and I hope to be able to put this experience to the benefit of your success :)