facebook
from19.37EUR/ 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

Extra information

Bring your own laptop (microphone and speakers required, webcam optional), with some sort of text editing software

Location

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 Engineering
Achieved 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?"

Availability of a typical week

(GMT -04:00) New York
MonTueWedThuFriSatSun
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 19.37€Online via webcam
from 19.37€At 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.

Online reputation

  • Instructor since April 2021
  • Phone number verified
  • Google connected

Availability of a typical week

(GMT -04:00) New York
MonTueWedThuFriSatSun
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 19.37€Online via webcam
from 19.37€At 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


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

Huzaifa Muhammad
LATEST Next-Gen Python-3 Programming: From Fundamentals to Mastery
ABOUT THE LESSONS - Tailored according to your skill level - Latest version of python - Extremely interactive TAKEAWAYS - Well-structured Notes - Programming Problems of all levels with Solutions - Lecture Recording - Complete Roadmap ABOUT ME - Five years of experience in Python Programming - Worked on several real-world Python projects - Have the ability to break down complex Python concepts in simple words - Have the ability to explain Python on any level PYTHON I can teach you: - concepts at a deep level of understanding - how to use python for practical applications - how to solve programming problems using python - data structures and algorithms in python

Albert
Mathematics, Physics & Programming Tutorials, High School + Undergraduates
Are 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
Python Programming for All Levels: From Fundamentals to Advanced Libraries and Frameworks
What 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.

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!

Mohamed
Database (SQL Server, PostgreSQL, MySQL): From Fundamentals to Distributed Systems
Dive into the world of SQL databases with this comprehensive course designed for learners of all levels. Whether you are new to databases or seeking to expand your expertise to advanced concepts like distributed systems, this course has you covered. What You can Learn: - Fundamentals of relational databases and SQL syntax. - Designing robust databases using normalization and entity relationships. - Writing complex queries, joins, and subqueries. - Database optimization techniques for performance tuning. - Implementing stored procedures, triggers, and views. - Managing transactions and ensuring data integrity. - Understanding and working with distributed database systems like Distributed PostgreSQL

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!

Mahmood
Java Training Course / Tuitions / Beginner and Intermediate
Java 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

Gaëlle
Code Your Way to Success: A Fun and Interactive Introduction to Programming for Kids
In 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!

Youness
Office Automation Training: Excel, Word, Remote Power Point / Online
- I teach in Excel, Word, Power point, Access, Outlook, internet, computer maintenance at home or remotely. - For more information, contact me. - I teach in Excel, Word, Power point, Access, Outlook, internet, computer maintenance at home or remotely. - For more information, contact me. - I teach in Excel, Word, Power point, Access, Outlook, internet, computer maintenance at home or remotely. - For more information, 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.

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! 😉

Jameel
Introduction to Artificial Intelligence (AI) Basics to Advance
Artificial Intelligence (AI) is transforming industries and reshaping how we interact with technology. This course is designed for individuals interested in understanding the fundamentals of AI, its applications, and its impact on society. Whether you're a complete beginner or have some prior knowledge, this course will provide you with a solid foundation in AI concepts and techniques. In this course, you will learn about: Understanding AI Fundamentals: Explore the core principles of artificial intelligence, including machine learning, deep learning, and natural language processing. AI Applications: Discover how AI is being used across various sectors such as healthcare, finance, automotive, and entertainment. Data and Algorithms: Gain insights into the importance of data in AI and learn about the algorithms that power machine learning models. Ethics in AI: Discuss the ethical implications of AI technologies and their societal impact, including bias, privacy concerns, and job displacement. Hands-On Projects: Engage in practical exercises that will allow you to apply your knowledge by working on real-world AI projects.

Mahmoud
Explaining the basics of programming and artificial intelligence for children using Scratch and Python
Explaining the basics of programming and artificial intelligence for children using Scratch and Python To teach kids the basics of programming and artificial intelligence using Scratch and Python, start with simple concepts with fun applications: Scratch: Introduce kids to visual programming using colorful blocks. Start with projects like creating an interactive story or a simple game. Teach them concepts like loops, variables, and conditions using animations. Python: Python is introduced as an introduction to scripting. Use easy libraries like turtle to draw or random to create random games. Introduce them to AI with a library like Teachable Machine to easily classify images or sounds. Practical example: Create a simple game in Scratch, then use Python to develop a similar game to illustrate the difference between visual and textual programming.