facebook
favorite buttonAdd to Wish List
favorite buttonAdd to Wish List
from19.32EUR/ 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
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?"

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.33€Online via webcam
from 19.33€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.33€Online via webcam
from 19.33€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


Salah Eddine
Master Python with Courses Suitable for All Ages and Levels! Beginners, Intermediates, Professionals, Everyone is Welcome
Master 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.

Baia
Master Front-End Development | Build Stunning Websites with HTML, CSS, JavaScript & React
Are 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!

Alex
Mathematics for students of all grades, IB and IGCSE
Mathematics is the best way to enhance your intellect but also work on your intuition and your ability to see patterns. Good day, my name is Alex, I have been teaching math for over 10 years to hundreds of students. I will teach all grades from elementary school all the way to high school and IB/GCSE etc. My philosophy revolves around these three values: -Encouragement -Inspiration -Discipline I specialize into teaching mathematics and programming, but in some occasions I teach physics too. Feel free to contact me.

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

Youssef
Analog and digital electronics, VHDL, FPGA, programming
doctoral 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

Hayat
Introduction to Data Science with Python Online
This course is designed for anyone interested in learning data science using Python. It provides a hands-on introduction to fundamental data analysis tools such as NumPy, pandas, matplotlib, and seaborn. You'll learn how to manipulate datasets, create visualizations, and lay the foundations for statistical analysis and machine learning. The course combines theory and practical exercises for effective, practical progress. No prior programming experience is necessary: we'll start with the basics to build solid, usable skills quickly.

Pr YSF
Electronics, Control of industrial systems, C/C++ VHDL programming, digital and analog electronics, MATLAB simulation
Hello, 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.

Khadija
Full Stack Web Development with Laravel & React.js
This course will allow you to master the basics of Full Stack web development by combining Laravel for the backend and React.js for the frontend. You will learn how to create dynamic, secure and high-performance applications. The program covers the fundamentals of Laravel (routes, controllers, Blade, REST API, databases) as well as React.js (components, state management, API calls). At the end of the course, you will be able to build a complete management application (like a blog or a store)

Mathieu
Wordpress private lesson - From beginner to expert
With 7 years of experience as a developer in a Factory, I now develop Wordpress websites for large groups. In the training program, you will learn to: - Install, configure, and deploy WordPress sites - Develop custom Wordpress themes and plugins - Use powerful tools like ACF Pro, Gravity Forms, WPML, AIOS Security, WP rocket... - Create custom post types and tailor-made taxonomies - Develop pages using the right methods in HTML, CSS, Javascript & PHP - Administer and manage a site database - Contribute to the good natural referencing (SEO) of your site - Use WP-Cli to speed up the maintenance of your sites - Use Docker to containerize your local/prod projects and facilitate their management - Administer your WP sites the right way - And much more... For any questions, you can contact me by PM. See you soon, Matthew

Amin
Programming with Python, with C and database management (Introduction to machine learning)
Looking to master programming and become a skilled developer? In this course, you'll learn the basics of Python and other programming languages, as well as how to use them to build machine learning models. We also offer specialized assistance for students in programming and database management using SQL (CPGE students). Python is a powerful general-purpose language used in web development, data science, software prototyping, and more. Its simple and easy-to-use syntax makes it an excellent choice for beginners learning to program. Additionally, upon request, we offer courses in other programming languages such as C, R, and MATLAB. Classes can be conducted remotely or in person, and we tailor our instruction to meet individual or group needs. If you have any questions, feel free to contact us.

Matías
Private coding / programming lessons with python
Python 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.

Adam
Introduction to Python: Programming Basics and Simple Applications
This course is designed for beginners who want to get started with programming in Python, one of the most popular and accessible languages today. No previous experience is necessary. In one session, students will learn the basics of programming and will be able to create their first Python applications. With clear explanations, practical exercises, and real-world examples, this course is an ideal gateway to exploring computer science and coding. Online Course: Introduction to Python - Programming Basics and Simple Applications Duration : - 60 minutes: intensive format to learn fundamental concepts. - 90 minutes: In-depth format with more time for practical examples and interactive questions. --- Educational objectives At the end of the course, participants will be able to: 1. Understand the basics of programming, including the concepts of variables, data types, conditional structures, and loops. 2. Write and run simple Python scripts. 3. Manipulate inputs and outputs to interact with the user. 4. Solve practical problems with short, functional programs. --- Course syllabus 1. Introduction (10-15 min) - Presentation of Python: Why this language? - Installation and configuration of a programming environment (IDLE, Visual Studio Code, or Jupyter Notebook). - First program: *"Hello, World!"*. 2. Python Basics (20-30 min) - Variables and data types (integers, strings, lists). - Mathematical operations and data manipulation. - Conditional structures (if/else) and loops (for/while). 3. Practical exercises (20-35 min) - Write a program to calculate the sum of two numbers provided by the user. - Create a simple application, like a currency converter or password generator. - Bonus for 90 min format: Fixed a more complex issue involving lists or loops. 4. Q&A and conclusion (5-10 min) - Summary of the concepts covered. - Suggestions for resources to continue learning. - Feedback on the course. --- Teaching methodology - Interactive and engaging: the course combines theoretical explanations with practical exercises. - Personalized approach: Sessions are tailored to the needs of participants. Students are encouraged to ask questions at any time. - Learning by doing: examples and exercises are designed to help you assimilate concepts quickly. --- Target audience This course is ideal for: - Complete beginners in programming. - Students or professionals wishing to acquire skills in Python for their personal or professional projects. - Anyone curious to discover a powerful and versatile tool for solving problems. --- Benefits of this online course - Teaching by an experienced and passionate trainer. - Interactive sessions adapted to your learning pace. - Access to educational materials and exercises to continue practicing after the course. Join us now to discover programming and its applications using Python! ---

Wissam
Experienced doctor in computer science offers quality teaching in JAVA, C, Python, WEB, Algorithmics, UML, SQL.
I created this course especially for students having difficulty progressing in their computer programming courses/projects. I support students of all university levels. My help covers many others: - Analysis and planning of projects - Technological choice in languages and tools/framework - Algorithmic and programming support - Assistance with debugging and code correction - Data modeling (MCD/MLD diagram, UML diagrams) Why choose my courses? My method is different and more adapted than that of traditional teachers because it is: * Personalized: Adapted to your level and your specific needs. * Interactive: Promotes interaction and visualization of concepts. * Practical: Oriented towards practice with concrete exercises and projects. * Proven: I have already managed to help more than 200 students in the space of 2 years.

Juan Carlos
Private lessons for first-year DAW/DAM subjects
I'm a DAW student with a first-year grade point average of 9.5, and I offer private tutoring for first-year DAW/DAM subjects. These classes include Programming, Databases, Development Environments, Computer Systems, and Markup Languages.