


Trusted teacher
from16.00GBP/ h
Computational Theory (Suitable for GCSE and A-Level)
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
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
Extra information
Bring your own laptop (microphone and speakers required, webcam optional), with some sort of text editing softwareLocation
Online via webcam
At student's location: Around Hemel Hempstead, United Kingdom






|
Use ctrl + wheel to zoom!
General info
Age: | Children (7-12 years old) Teenagers (13-17 years old) Adults (18-64 years old) Seniors (65+ years old) |
---|---|
Student level: | Beginner Intermediate |
Duration: | 60 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
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
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)
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 £16Online via webcam
from £16At 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 £16Online via webcam
from £16At 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.
Matías
Private coding / programming lessons with pythonPython is one of the best, if not the best, language to start learning programming. It is also one of the most widely used languages today, especially in cutting-edge areas such as machine learning.
This popularity means that Python is constantly evolving. It offers a wide range of tools and libraries, which are free and very varied.
As an aeronautical engineer, I like to share my knowledge and derive satisfaction from it by teaching and motivating others.
I'm used to working with people of different ages. I believe in the importance of segmenting learning, visualizing progress, setting concrete goals and practicing regularly.
Beyond these general principles, there is no magic rule or method. Some approaches work with some students but not with others. Adaptation to individual needs is therefore the main objective of private lessons. So I will do my best to find what motivates and helps my student.
Baia
Master Front-End Development | Build Stunning Websites with HTML, CSS, JavaScript & ReactAre you ready to create interactive, visually appealing websites that stand out in today’s competitive market? In this course, you’ll master the essential front-end development skills:
✅ HTML, CSS, and JavaScript – Build responsive and modern web pages
✅ React & Vue.js – Learn cutting-edge frameworks for dynamic UIs
✅ Real-World Projects – Work on hands-on projects to strengthen your skills
✅ Problem-Solving & Creativity – Develop intuitive, user-friendly interfaces
🔹 Who is this course for?
- Beginners who want to break into web development
- Developers struggling with front-end concepts
- Anyone looking to level up their skills and build real projects
🚀 Stuck on a project? Want to learn high-income tech skills?
This course will help you gain confidence, land opportunities, and grow in the tech industry.
📩 Contact me for more details and start your front-end journey today!
Enrique
Distinction Maths, Physics, Programming, Engineering: 12+ years experience tutoring for ExcellenceDon'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:
- University levels (undergraduate and postgraduate).
- 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 and other top institutions in the UK and US.
- Assistance with specific projects at a professional level, including job interview preparation.
- High school studies and diploma programs.
- 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.
More info: enriquelessons.com
Mahmood
Java Training Course / Tuitions / Beginner and IntermediateJava is one of the most important of all computer programming languages. But learning Java can seem like a daunting task. Not any longer! In this course I will train you well in Java Programming step-by-step. Starting from basis right through the more advanced topics. No prior knowledge is required.
Course outlines:
- Objected Oriented Programming concepts (OOPS)
- Core Java Programming Introduction of Java
- Data types and Variables
- Methods
- Control Flow Statements
- Operators and Expressions
- While and do-while Loops
- Object-oriented Programming
- Objects and classes
- Using Java Objects
- Java Files and I/O
- Interfaces and Abstract Classes
- Inner Classes
Youssef
Analog and digital electronics, VHDL, FPGA, programmingdoctoral student in engineering sciences provides support courses in analog and digital electronics at any DEUG level and engineering schools. having scientific and technical knowledge, three years of experience in the field of teaching, pedagogy and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they are having difficulty. for more info please contact me
Rony
Learn App Development for Teens! Features three fun beginner, intermediate and advanced levels!Empower young minds to create their own mobile apps with this fun and interactive course! Designed for children aged 9 to 13, this course introduces app development using MIT App Inventor, a beginner-friendly platform that makes coding easy and exciting. Students will learn the basics of programming, user interface design, and problem-solving as they build their own functional Android apps. Through hands-on projects and creative challenges, they will develop logical thinking and digital skills while bringing their ideas to life. No prior experience is needed—just curiosity and a passion for technology!
Sandrine
💻 Web Programming Course – HTML, CSS, Terminal & WordPress – Beginners Welcome!Do you want to create your own website, understand how the code works, or master WordPress to become self-sufficient? I offer personalized online courses to help you learn step by step, with clarity and pedagogy.
👩🏫 What I propose:
* Introduction and improvement in HTML & CSS
* Using the Terminal (basic commands, Git, working environment)
* Creation of sites with WordPress (installation, themes, extensions, pages, basic SEO)
* Support for your personal or professional projects
* Advice on best practices and organization of your code
🎯 For whom?
* Complete beginners
* Freelancers, coaches, content creators
* Students or people in digital retraining
* Anyone curious to learn how to create a website
💡 Method: Interactive video lessons (Zoom/Meet), screen sharing, practical exercises, and flashcards. You progress at your own pace, with real support and simple explanations.
⏰ Flexible hours – 1 hour, 1.5 hour or 2 hour sessions
💶 Available packages
🌍 100% Online Courses – Wherever You Are!
See you soon.
Sandrine.
Izhar
Java classes for beginners, intermediate and advanced level by trained professional having practical work experienceWant to make a career in coding or stuck with your school/college syllabus. Here is the solution.
I am an expert with the practical work experience. I'll be starting from scratch and strengthen your concepts so that you can easily master over this language.
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 summary of our syllabus content which we'll be covering
Introduction to Java programming
• The Java Virtual Machine
• Variables and data types
• Conditional and looping constructs
• Arrays
Object-oriented programming with Java Classes and Objects
• Fields and Methods
• Constructors
• Overloading methods
• Garbage collection
• Nested classes
Inheritance
• Overriding methods
• Polymorphism
• Making methods and classes final
• Abstract classes and methods
• Interfaces
Exception handling with try-throw-catch-finally constructs
• The Exception class
The Object class
• Cloning objects
• The JDK LinkedList class
• Strings
• String conversions
Working with types: Wrapper classes
• Enumeration interface
Packages
• Package access
• Documentation comments
Applets
• Configuring applets
• Applet capabilities and restrictions
Basics of AWT and Swing
• Layout Managers
• Event Handling
• The Action Listener interface
• Panels
• Classes for various controls, such as label, choice, list,
• Checkbox, etc.
• Dialogs and frames
• Using menus
• Using the adapter classes
• Graphics
Threads
• Synchronization
The I/O Package
• InputStream and OutputStream classes
• Reader and Writer classes
Basic concepts of networking
• Working with URLs
• Concepts of URLs
• Sockets
Database connectivity with JDBC
• Java security
In case you have any query, feel free to contact me.
Give yourself a chance for a better future
All the best
Pr YSF
Electronics, Control of industrial systems, C/C++ VHDL programming, digital and analog electronics, MATLAB simulationHello, 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
Zakaria
Learn to program and code with Scratch while having fun* This digital training aims to introduce you to the Scratch tool and through the game world, and gradually, to discover programming concepts such as loops, conditions or variables. It is aimed at anyone who is new to Scratch and who wants to create games and animations.
* Learning programming will allow students to develop their skills and will certainly allow them to meet the expectations of the future working world and emerging careers.
* In addition, learning programming allows the development of algebraic, algorithmic and computational thinking. Programming also helps to improve and develop students' sequencing ability, as well as their communication skills. Thus, there are several advantages to teaching programming, but the important thing is to remember that this learning teaches students that digital is not only for entertainment, but that it is possible to become creators. active and creative content.
Azzedine
Become a Trading Master with NinjaTrader: Personalized Courses AvailableBecome a Trading Pro with NinjaTrader!
Are you passionate about trading and want to master one of the most powerful trading platforms on the market? If so, this ad is for you!
As a seasoned NinjaTrader expert, I offer personalized courses to help you master this exceptional trading platform. Whether you want to learn how to trade manually or automate your strategies using C# and custom indicators, I'm here to guide you every step of the way.
My courses are designed for traders of all levels, from complete beginners to experienced professionals. Here's what you can expect:
- In-depth training on using NinjaTrader, including navigating the interface, executing orders, and analyzing the markets.
- Detailed instructions on creating and optimizing automated trading strategies using C#.
- Practical advice on using custom indicators to refine your technical analysis and make informed trading decisions.
Whether you are looking to generate additional income through trading or make trading your full-time career, my courses will provide you with the knowledge and skills needed to succeed in the financial markets.
Don't miss this opportunity to become a true trading expert with NinjaTrader! Contact me today to reserve your spot and begin your journey to financial success.
Faizan Ahmed
Intro to Coding with Python or C++ – Build Real Skills from Day OneThis class is designed for absolute beginners who want to start their journey in programming with Python or C++.
We’ll start from the very basics—understanding how code works, writing your first program, and gradually moving on to topics like variables, loops, conditionals, functions, and object-oriented programming (OOP).
Whether you’re a school student, a university freshman, or just someone curious about coding, I’ll guide you step by step using clear explanations and hands-on practice.
By the end of the course, you’ll be confident writing basic programs, solving problems, and ready to take on more advanced CS topics.
No prior programming experience is needed—just curiosity and a willingness to learn!
Mouad
Support course in Python (For all levels, CPGE)Passionate about programming, we offer Python support courses adapted to all levels, from beginner to advanced. These courses are aimed at students in preparatory classes for grandes écoles (CPGE) as well as anyone wishing to acquire solid programming skills.
The lessons cover the essential foundations of Python with a clear and accessible teaching approach. Whether you are new to programming or want to deepen your knowledge, you will benefit from structured and progressive teaching.
With a focus on concrete concepts and practical examples, these courses aim to strengthen your skills in a tangible way. You will be guided through the nuances of Python, gaining a deep understanding that will benefit you both in your studies and in your future career.
Join us to explore the fundamentals of Python programming and progress to more advanced levels. Together, we will build a solid foundation and develop the skills needed to succeed in the dynamic world of computer programming.
Khadija
Develops modern web applications with Laravel (PHP)Laravel is one of the most powerful frameworks for building professional web applications.
In this training, you will learn to:
Create a clean MVC architecture
Manage user authentication
Create dynamic pages with Blade
Using Migrations, Seeders, and Eloquent ORM
Protect your application and optimize its operation
🚀 Real project to develop together (e.g. training management, blog, e-commerce).