

from24.00GBP/ 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 £24Online via webcam
from £24At 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 £24Online via webcam
from £24At 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.
Elizabeth
Program, Create, and Practice Spanish! Scratch and Scratch Jr. from Scratch (ages 5-18) 🚀💬Would you like your children to learn programming 💻 while practicing their Spanish 🇪🇸?
This is the perfect class for them! 🎯
I'm a programming and science teacher with over 10 years of experience, and I'm also a native Spanish speaker!
I know how challenging learning a new language can be—I continue to perfect my English every day—so in my classes, I speak Spanish clearly and slowly, adapting to each student's pace. 🧠✨
In our sessions, we will learn to create games, interactive stories and creative projects using Scratch (ages 6-18) or Scratch Jr (ages 5-6), perfect tools to get started in the world of programming in a fun and educational way.
🎯 What do I offer?
100% individual and adapted classes.
Learning programming from scratch.
Continuous improvement of Spanish in a natural way.
Creative projects that develop logical thinking and digital skills.
Learning, creating, and practicing Spanish has never been so much fun! 🚀
Hasmik
Class of statistics, computer programming, R programmingI am a graduate in data science with R programming skills. I am able to help the students with assignments, and analysis with their master thesis. My approach is very student-oriented and I explain the subjects in a detailed way so that the students understand the main idea.
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.
Vincent
Cambridge IGCSE / GCSE /A-Levels / O-Levels / Checkpoint in Computer Science & Information Technology (ICT)With over seven years of experience in teaching Computer Science & Information Technology (ICT), I have developed a strong expertise in delivering high-quality education across multiple internationally recognized curricula, including Cambridge IGCSE, GCSE, A-Levels, O-Levels, and Checkpoint. My passion lies in equipping students with coding, cybersecurity, and digital literacy skills, ensuring they are well-prepared for the evolving demands of the digital world.
Expertise & Teaching Areas:
✅ Programming & Software Development: Python, Java, C++
✅ Cybersecurity: Ethical hacking, data protection, network security
✅ Digital Literacy: ICT applications, online safety, cloud computing
✅ Data Science & AI: Data analysis, machine learning fundamentals
✅ Web Development: HTML, CSS, JavaScript
Curriculum & Pedagogical Experience:
🔹 Cambridge IGCSE & GCSE ICT & Computer Science – Teaching core and extended syllabi, focusing on programming logic, databases, and networking.
🔹 Cambridge A-Levels & O-Levels Computer Science – Preparing students for advanced computing concepts, problem-solving, and algorithm development.
🔹 Cambridge Checkpoint ICT – Building foundational skills in digital technology and computer applications.
Professional Impact:
📌 Mentored students to achieve top grades in Cambridge ICT & Computer Science exams.
📌 Developed interactive lesson plans integrating real-world applications of technology.
📌 Conducted coding boot camps and cybersecurity workshops to enhance practical learning.
📌 Guided students in project-based learning, including app development and website design.
With a strong commitment to student-centered learning and technological innovation, I am dedicated to shaping future tech leaders and empowering learners with skills relevant to careers in technology, data science, and software development.
Mohamed
Data Engineering: Extract Transform Load (ETL) Programming with Apache Airflow - Industry ApplicationsThis course provides a hands-on approach to mastering Apache Airflow, a powerful open-source workflow automation tool widely used in ETL (Extract, Transform, Load) processes. You will learn how to build, schedule, monitor, and optimize data pipelines, ensuring data reliability and efficiency in production environments. Through real-world examples and projects, you will gain the skills required to become a proficient Data Engineer capable of handling complex workflows in modern data ecosystems.
This course will allow you to build multiple real-world ETL workflows using Apache Airflow. Let me know if you would like additional information! 🚀
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
AI for children: discover how to use artificial intelligence in English, French and SpanishWould you be interested in learning how to use Artificial Intelligence in your daily life? In my AI classes for kids, you will learn how to use this advanced technology in a practical and fun way!
During our sessions, we'll explore different ways AI can improve our everyday lives, from shopping online to playing video games. In addition, you will learn to code and create your own AI applications.
My classes are suitable for children from 8 years old and are held online via video calls. No previous programming experience is required!
If you are interested in learning about AI and how to use it in your life, feel free to contact me! I'm looking forward to teaching you everything I know about this amazing technology.
Izhar
HTML Classes for beginners and intermediates (You can even build your website on your own)HTML is the standard markup language for Web pages.
With HTML you can create your own Website. In simple words we can say, easiest and the best method to create a website.
In the course duration, I'll be giving you live practical exposure so that you can actually experience and master over the concepts of HTML tags.
Having years of work experience, I know how to start and build your concepts at a good pace. With the completion of this course, you'll be ready to build your own website.
I am providing you a brief summary of our course which we generally follow but that doesn't mean that I am bound to just this much content. In case you have any doubt for any other specific topic related to the subject, you could always come up to me or you need any help in your assignments or projects, you are always welcome.
Here is a brief overview of the topics we'll be covering :
Introduction to HTML
HTML Elements
HTML Attributes
HTML Headings
HTML Paragraphs
HTML Formatting
HTML Fonts
HTML Styles
HTML Links
HTML Images
HTML Tables
HTML Lists
HTML Forms
HTML Frames
HTML Iframes
HTML Colors
HTML Colornames
HTML Colorvalues
HTML Quick List
HTML Layout
HTML Doctypes
HTML Head
HTML Meta
HTML Scripts
HTML Entities
HTML URLs
HTML URL Encode
HTML Media
HTML Audio
HTML Object
HTML Video
HTML YouTube
HTML GeoLocation
HTML WebStorage
HTML SSE
HTML WebWorkers
HTML Canvas
HTML Plug-ins
In case you have any query, please feel free to contact me.
Give yourself a chance for a better future.
All the best
Vladimir
Counselling in Math and Statistics for Analytical ProfessionalsPersonalized counseling in mathematics, statistics, algorithms and economic theory, tailored specifically for programming, data analysis, finance, banking, and informatics. Strengthen your theoretical foundations to write better code, optimize financial and economic models, improve analytical precision, and confidently navigate complex problem-solving tasks.
We will identify your specific theoretical gaps and tackle them directly, using intuitive explanations, guided problem-solving, and focused discussions. My goal is to help you confidently apply mathematical and theoretical concepts in your daily work, projects, or analyses. Reach out to discuss your particular needs, challenges, or topics of interest—together, we’ll develop a customized plan to strengthen your skills and enhance your professional performance.
Jawad
Polytechnician (X) on Master's internship at EPFL gives mathematics lessons at all levelsI am currently an engineering student at the École Polytechnique de Paris and am currently completing my Master's program at EPFL in Lausanne. I offer private mathematics lessons, both in person in Lausanne and online, to high school students and university students (Bachelor's degree).
I acquired solid teaching experience through a 6-month internship in colleges and associations (tutoring, homework help, co-facilitating exercise sessions), as well as by regularly giving private lessons.
My method
My goal is to support each student in a personalized way: understanding of fundamental concepts, strengthening acquired skills, working methods, exam preparation, etc. I adapt to the level and pace of each student, combining rigor, pedagogy and kindness.
Typical course outline
A class typically begins with a discussion to identify current challenges or goals. We then review key concepts and put them into practice through progressive exercises. I also offer additional materials if needed, and a brief debriefing at the end of the session.
What I propose
✅ Mathematics courses in Lausanne (in person) or remotely
✅ For high school students or EPFL students / Bachelor in science or engineering
✅ One-off or regular monitoring (refresher courses, revisions, exams, projects, etc.)
✅ Available weekdays from 6 p.m. and all day on weekends
Riadh
Introductory Course in Computer Science, Computer Networks and Telecommunications.The course will cover the following points:
- Office automation (Word, Excel)
- Network administration
- CCNA Training (This program provides the foundation for IT professionals who are familiar with the
Cisco networks and operating systems)
- Teaching network courses (LAN, MAN, WAN, TCP/IP protocols)
- Practical work (Packet tracer)
- Some notions on computer security
Pr YSF
Analog and digital electronics, VHDL, FPGA, programmingEngineer and senior professor of engineering sciences provides support courses in analog and digital electronics at all levels, engineering schools. having a scientific and technical knowledge, five years of experience in the field of teaching, teaching and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they have difficulties. for more info please contact me
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.
Muhammad
Artificial Intelligence & Machine Learning Course for KidsThis is a 15-week adventure for kids aged 11-15 to explore AI and machine learning. Students will learn to build AI-powered apps, code with drag-and-drop tools, train AI models, and solve real-world problems. The course includes hands-on projects, and a project showcase to build confidence and tech skills.