

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
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)
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 £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.
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! 🚀
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!
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
Python Programming for All Levels: From Fundamentals to Advanced Libraries and FrameworksWhat You Will Learn:
Core Principles: Introduction to programming, algorithms, and data structures to build a strong foundation.
Advanced Libraries and Frameworks: NumPy, Pandas, and Django to create web applications and perform efficient data analysis.
Practical Projects: Real-world applications to strengthen your skills and build an impressive portfolio.
How You Will Benefit:
Students: Gain the necessary skills to excel in academic projects and lay the groundwork for your career.
Self-Taught Learners: Avoid common mistakes and fast-track your progress with clear, hands-on guidance.
Professionals: Enhance your skill set to meet industry demands and open up new career opportunities.
Why Choose My Courses?:
Personalized Approach: Each course is customized to your level and learning pace, ensuring tailored guidance and support.
Theory and Practice: You’ll combine theoretical concepts with hands-on exercises for a comprehensive and lasting understanding.
Solving Real-World Problems: Learn how to tackle the common challenges faced in programming, from debugging to performance optimization.
Mohamed
Data Engineering & Science: Packaging Python Projects & deployment tools either on premise or on Cloud (Amazon AWS)In this course, you will learn how to efficiently package, containerize, and deploy Python applications and microservices using Docker. The course covers fundamental Docker concepts, best practices for structuring Python projects, and strategies for building scalable and portable applications. Through hands-on projects, you will gain practical experience in creating Docker images, managing containers, and orchestrating microservices, enabling seamless deployment across different environments.
Contact me if you want to have more information about the course!
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!
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
C++ Object Oriented Programming -- Learn from the industry professional having practical experienceC++ language is a superset of the ‘C’ language and was initially known as “C with Classes”. In "C" operator ++ is used to increment the value by 1. That means to the language ‘C’, developers have added some extra features (Object Oriented Programming) and hence named as C++.
This Object Oriented concept reduces the complexity in programming and it is easier to identify and resolve any error in the program.
I'll be starting from the scratch thereby strengthening your concepts and helping you to master 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 course :
• How C++ differs from C
• Variables Declaration
• Function overloading
• Optional Parameters
• Reference Variables
• Operator overloading
• Basics of Console Input and Output
• Constant Pointers
• Dynamic Memory Allocation
• Overview of OOPs Principles
• Introduction to classes & objects
• Creation & destruction of objects
• Data Members
• Member Functions
• this Pointer
• Constructor &Destructor
• Static class member
• Friend class and functions
• Namespace
• Types of Inheritance
• Down casting and up casting
• Function overriding
• Virtual functions
• Destructor overriding
• What is Polymorphism
• Pure virtual functions
• Virtual Base Class
• File Stream
• Text File Handling
• Binary File Handling
• Error handling during file operations
• Overloading << and >> operators
• Exception Handling
• Templates
Apart from these , we'll be covering basic concepts of "if - else statement" "for, while and do-while loops"
In case you have any query, feel free to contact me
Give yourself a chance for a better future
All the best
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
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
Dishant
Python, C, C++, Java Programming Classes for Computer enthusiatsWelcome to my immersive - Programming Bootcamp, a comprehensive journey designed to empower you with one of the most versatile and in-demand programming languages of our time! Python and Java stands at the forefront of the technological revolution, fueling advancements in artificial intelligence, automation, and web development. Whether you’re an aspiring developer or a student of any level preparing for exams, this bootcamp is crafted to give you the knowledge and confidence to excel.
Starting from the very basics, I’ll guide you through every essential topic with a detailed, hands-on approach. Each session is structured to build a solid foundation, gradually progressing into more advanced concepts to ensure your learning is smooth, intuitive, and rewarding. My commitment to your satisfaction and understanding is absolute—I take pride in creating an environment where every question is welcomed, each concept is clarified, and no one is left behind. With clear explanations and patient guidance, I’m here to help you achieve mastery step by step.
The bootcamp doesn’t stop at theory. To make learning meaningful and memorable, I’ve integrated real-world projects that bring to life. You’ll apply your skills in practical scenarios, tackling hands-on projects that simulate industry challenges. By the end, you’ll have a portfolio of applications showcasing your proficiency, making you well-prepared for real-life tech opportunities.
With an emphasis on clarity, relevance, and personalized support, my goal is to ensure that your learning experience is both empowering and enjoyable. Whether you’re seeking to advance in your career or simply unlock new skills, I’m here to make this journey as impactful as possible. Join me in this Bootcamp, where your growth and success are my highest priorities, and take the first step toward unlocking your potential in the world of programming.
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.
Ephraim
Python 101: Master the Language of Programming, From Basics to Advanced ConceptsIn this course, you'll learn Python from the ground up, starting with the basics and progressing to more advanced concepts. You'll gain hands-on experience writing Python code, working with data structures, and using libraries to solve real-world problems. By the end of the course, you'll be confident in your ability to write Python programs, automate tasks, and tackle challenges in various domains.
Imad
Algorithm and programming 1 (The essential bases of programming: Algorithms)Master pseudo-code algorithms in this hands-on course with dozens of different algorithms
In this course, you will learn the basics of computer programming through the fundamental subject taught in all higher schools of computer science: algorithms.
This is the initial stage of your learning to become a computer scientist (programming)
First we will see a broad introduction to computer programming, and we will explain what algorithms are.
Then, you will learn the language of computer scientists by studying "pseudo-code", and you will learn all the concepts of computer science through a multitude of practical exercises.
The topics covered are very broad and comprehensive:
Introduction
- Algorithm Syntax
- data type and Variables
- The operators
- The instructions
- Conditions
- The repetitive structure (loops)
- The tables
- Research techniques
- Sorting algorithms
- dichotomous search
- Functions
- The procedures
- Recursion
-complexity
- Introduction to the C language
- ...
Your first programs...
Finally, you will start programming by creating several algorithms in a specific programming language (here, C language).
These algorithms are applicable in all programming languages.
The goal...
With more than 8 hours of e-courses, quizzes, and an assessment, you will have what you need to continue your learning of computer programming and advance towards your future profession.
Who is this course for?
Beginner in programming
Retraining
Computer science students or future students
Thanks and see you soon !
IMAD