facebook
from24.00GBP/ h

Programming Language Development (Suitable for GCSE and A-Level)

Any programming language - compiled or interpreted, statically typed or dynamic, boils down to the same common principles. These principles can then be applied to make any programming language - with any rules you desire. You can use '&' to represent addition and '>>!' to represent conditional loops. You can use 'beep' to represent branches and end each line with @.

This class aims to teach you how to create these principles to design a language, and then the different approaches on how to do it.
An end project will be to actually make your own programming language!

The topics covered are listed below:

Pretence:
Programming Language Types (grammar), Programming Language Types (formation), Programming Language Types (typing)
Stages (Lexing), Stages (Parsing), Stages (Interpreting)
Intermediate Forms (AST), Intermediate Forms (Bytecode), Transpiling
Optimisation (types), Optimisation (application to AST), Optimisation (application to Bytecode)

Building Ray (Classes):
Grammar Type, Formation Type, Typing Type
Data Types, Expressions (types), Expressions (precedence)
Statements (declarations), Statements (statements), Standard Library
Tokens, Tokenisation (characters), Tokenisation (literals)
Parsing (AST), Parsing (Visitors), Interpreting (Visitor)
Static Scope, Semantic Analysis, Resolvers (Visitor)

Building Ray (Nodes)
Parsing (Literals), Interpreting (Literals), Resolving (Literals)
Parsing (Groups), Interpreting (Groups), Resolving (Groups)
Parsing (Operators), Interpreting (Operators), Resolving (Operators)
Parsing (Variable declarations), Interpreting (Variable declarations), Resolving (Variable declarations)
Parsing (Variable getters), Interpreting (Variable getters), Resolving (Variable getters)
Parsing (Variable setters), Interpreting (Variable setters), Resolving (Variable setters)
Parsing (Branches), Interpreting (Branches), Resolving (Branches)
Parsing (Logic Gates), Interpreting (Logic Gates), Resolving (Logic Gates)
Parsing (Loops conditional), Interpreting (Loops conditional), Resolving (Loops conditional)
Parsing (Loops count), Interpreting (Loops count), Resolving (Loops count)
Parsing (Function declarations), Interpreting (Function declarations), Resolving (Function declarations)
Parsing (Function calls), Interpreting (Function calls), Resolving (Function calls)
Parsing (Scope Termination), Interpreting (Scope Termination), Resolving (Scope Termination)
Parsing (Class declarations), Interpreting (Class declarations), Resolving (Class declarations)
Parsing (Instances), Interpreting (Instances), Resolving (Instances)
Parsing (Methods), Interpreting (Methods), Resolving (Methods)
Parsing (Instance Lookup), Interpreting (Instance Lookup), Resolving (Instance Lookup)
Parsing (Constructors), Interpreting (Constructors), Resolving (Constructors)
Parsing (Inheritance), Interpreting (Inheritance), Resolving (Inheritance)
Optimisations (Visitor), Optimisations (Literal-Only Expressions), Optimisations (Variable Expressions)

Project: Build your own language! (Supervised)

Extra information

Bring your own laptop (microphone and speakers required, webcam optional), with python installed.
We will not be covering how to use python, so make sure that you know how to do classes and OOP programming in python.

Location

Online via webcam
At student's location: Around Hemel Hempstead, United Kingdom

|
Use ⊞+wheel to zoom!
+

General info

Age:
Teenagers (13-17 years old)
Adults (18-64 years old)
Student level:
Advanced
Duration:
60 minutes
90 minutes
The class is taught in:English

About Me

About Me:
I'm currently pursuing a Master's degree in Computer Systems Engineering and I
understand how annoying it is not to achieve what you potentially could. Having done computer science for many years both for study and for work, I have a competent understanding of the subject matter and tend to run things more informally than a classroom.
I honestly believe that understanding computer science is a privilege and a pleasure. One of my top priorities is making sure my students have that privilege. My other priorities are about clearing the jargon - what appeals to me most when tutoring is seeing a mental block clear, and all the little puzzle pieces click into place.

My Teaching Style:
My style is more Q&A, where we work together to assess gaps, and build up our knowledge from there. I will break things down to their simplest form, and then build up the knowledge in layers.
My main focus is visible progress - I try to preach the mentality of 'one large problem is nothing but several smaller - and infinitely more manageable- problems'. That way, a slow lesson still has a visible output that a student can refer back to and show.

I will not hesitate to answer any questions you have! Don't hesitate to email or WhatsApp me with any queries.

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
Computers are very powerful machines, that do incredible work. But how do they work? How can it tell the difference between a 1 and a 7? How can it tell the difference between reading a Word document and a PowerPoint? If you understand programmatic theory, then you can write in any programming language. This class is designed to unravel the mysteries surrounding these machines. Ranging from programming theory (what is a pointer?) to actual computational challenges (what is the correct data structure to use based on the Big O requirements?) No specific language is covered in this course, it will be purely theoretical knowledge and 'pseudocode'. The topics covered are listed below Programmatic Theory: Literals, Operators, Keywords Variables, Data Types, Generics Memory Usage, Pointers, Arrays Branching, Iteration, Iterators Functions, Control Flow, Scope, Closures, Enumerations, OOP Classes and Instances, Immutability, Inheritance Polymorphism, Exception Handling, Composition Asynchronous Programming, Multithreading, Multiprocessing Internal Workings: Binary, Hexadecimal, Number Systems Extrinsic vs Intrinsic Data, Coupling, MVC Architecture CPU, FED Cycle, Spatial Locality Caching, Performance, Memory Types Storing Complex Data (Text), Storing Complex Data (Sound), Storing Complex Data (Images) Data Structures and Algorithms: Performance, Big O, Measuring Performance Searching, Sorting, Decomposition Data Structures, Arrays, Linked Lists Single Buffers (Pools), Double Buffers, Ring Buffers Stacks, Queues, Priority Queues Heaps, Hash Tables, Graphs Trees, Binary Trees, Vectors
Python is one of the most versatile programming languages out there, used for game development, AI, web scraping, and so much more. In this class, I will break down the language into simple building blocks that can be used time and time again in any program, whether designing 2D Minecraft or coding your own JARVIS! The topics covered are listed below Basics: Literals, Operators, Keywords Variables, Data Types, Branching Iteration, Iterators, Functions Control Flow, Scope, Closures Importing, Random Numbers, Modules and Packages OOP, Classes and Instances, Inheritance Polymorphism, Exception Handling, Files Data Structures and Algorithms: Searching, Sorting, Immutability Lists, Tuples, Linked Lists Single Buffers (Pools), Double Buffers, Ring Buffers Stacks, Queues, Priority Queues Hash Tables (dictionaries), Hash Tables (custom), Vectors Graphs, Trees, Binary Trees

Ask a question

Send a message explaining your needs and Max will reply soon:
The more detail, the better.
Ex. "Hi, when are you available to meet for a lesson?"

Availability of a typical week

(GMT -04:00) New York
MonTueWedThuFriSatSun
0              
1              
2              
3              
4              
5    Tuesday at 5:00    Thursday at 5:00  Friday at 5:00  Saturday at 5:00  Sunday at 5:00
6    Tuesday at 6:00    Thursday at 6:00  Friday at 6:00  Saturday at 6:00  Sunday at 6:00
7        Thursday at 7:00  Friday at 7:00  Saturday at 7:00  Sunday at 7:00
8      Wednesday at 8:00      Saturday at 8:00  Sunday at 8:00
9      Wednesday at 9:00      Saturday at 9:00  Sunday at 9:00
10      Wednesday at 10:00      Saturday at 10:00  Sunday at 10:00
11      Wednesday at 11:00      Saturday at 11:00  Sunday at 11:00
12      Wednesday at 12:00      Saturday at 12:00  Sunday at 12:00
13      Wednesday at 13:00      Saturday at 13:00  Sunday at 13:00
14      Wednesday at 14:00      Saturday at 14:00  Sunday at 14:00
15  Monday at 15:00    Wednesday at 15:00    Friday at 15:00  Saturday at 15:00  Sunday at 15:00
16  Monday at 16:00    Wednesday at 16:00    Friday at 16:00  Saturday at 16:00  Sunday at 16:00
17              
18              
19              
20              
21              
22              
23              
from £24Online via webcam
from £24At student's home

Good-fit Instructor Guarantee


If you are not satisfied after your first lesson, Apprentus will find you another instructor or will refund your first lesson.

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    Tuesday at 5:00    Thursday at 5:00  Friday at 5:00  Saturday at 5:00  Sunday at 5:00
6    Tuesday at 6:00    Thursday at 6:00  Friday at 6:00  Saturday at 6:00  Sunday at 6:00
7        Thursday at 7:00  Friday at 7:00  Saturday at 7:00  Sunday at 7:00
8      Wednesday at 8:00      Saturday at 8:00  Sunday at 8:00
9      Wednesday at 9:00      Saturday at 9:00  Sunday at 9:00
10      Wednesday at 10:00      Saturday at 10:00  Sunday at 10:00
11      Wednesday at 11:00      Saturday at 11:00  Sunday at 11:00
12      Wednesday at 12:00      Saturday at 12:00  Sunday at 12:00
13      Wednesday at 13:00      Saturday at 13:00  Sunday at 13:00
14      Wednesday at 14:00      Saturday at 14:00  Sunday at 14:00
15  Monday at 15:00    Wednesday at 15:00    Friday at 15:00  Saturday at 15:00  Sunday at 15:00
16  Monday at 16:00    Wednesday at 16:00    Friday at 16:00  Saturday at 16:00  Sunday at 16:00
17              
18              
19              
20              
21              
22              
23              
from £24Online via webcam
from £24At student's home

Good-fit Instructor Guarantee


If you are not satisfied after your first lesson, Apprentus will find you another instructor or will refund your first lesson.

Share


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.

Salvatore
Python for everyone: From Basics to Brilliance. Start from scratch or sharpen your skills.
Python is one of the most popular programming languages today due to its simplicity and versatility. It is widely used in web development, data analysis, automation, and even artificial intelligence. In this beginner's Python class, you will learn the basics of programming, including variables, functions, and data structures, all in a fun and interactive way. By the end of the course, you'll have the foundational skills needed to build your own projects and explore more advanced topics. Taking this class is a great first step to expanding your career opportunities and boosting your problem-solving skills in the digital age.

Joan Domenech
Python programming from scratch: concepts and projects
Python is a versatile and widely used programming language, ideal for both beginners and advanced programmers. In this course, you will learn from the basics, such as variables, functions, and control structures, to more advanced topics such as data handling, task automation, and practical project development. The classes are designed to adapt to your level and help you apply Python in real-world projects, whether in academic, professional, or personal settings.

Tariq
Maths and Computer Science Offline and online mode.
Computer Science Teacher python programming and MySQL database as well as mathematics grade 6 to 10.offline and online mode class.More than 12 years of teaching experience in college and engineering student of CS branch. Providing skills of programming and fundamental of Maths.

Manel
Learn computer skills / HTML from scratch /CSS/Javascript
“Welcome to the magical world of HTML! 🌟 We're going to show you how to create amazing web pages, just like the sites you love to visit! Imagine being able to create your own website where you can share your passions, your favorite games, or even stories you make up. Ready to become web wizards? Let's go!"**

Hamza
Maîtrisez Python avec un Expert en Programmation et Data Science
Découvrez la puissance de Python avec un formateur expérimenté en informatique ! Je suis Hamza, un développeur passionné et mentor chevronné avec une vaste expérience dans l'enseignement de la programmation. Mon approche pédagogique unique vous permettra d'acquérir rapidement des compétences solides en Python, tout en découvrant ses applications concrètes dans le monde professionnel. Ce que vous apprendrez : Fondamentaux de Python (variables, structures de contrôle, fonctions) Programmation orientée objet avancée Analyse et visualisation de données avec pandas et matplotlib Développement d'interfaces graphiques avec PyQt Projets pratiques inspirés de cas réels en entreprise Pourquoi me choisir ? Plus de 5 ans d'expérience en formation et mentorat Méthode pédagogique adaptée à tous les niveaux Approche hands-on basée sur des projets concrets Passion contagieuse pour le code et l'innovation technologique Que vous soyez débutant cherchant à vous lancer dans la programmation ou professionnel souhaitant monter en compétences, ce cours vous ouvrira de nouvelles perspectives passionnantes dans le monde du développement logiciel et de la data science. Rejoignez-moi pour un voyage captivant au cœur du langage de programmation le plus polyvalent et demandé du marché ! Réservez maintenant et faites le premier pas vers la maîtrise de Python. Votre carrière en tant que développeur Python commence ici !

Bozhidar
Math/Computer Science Tutoring for high-school and BSc Computer Science students
Hey! Are you looking for a young, approachable yet meticulous tutor in Computer Science or Mathematics? Then I believe I might be the tutor for you! I offer lessons in the aforementioned subjects (English only) for high-school and bachelor students at the start of their studies. A little bit about me: My name is Bozhidar and I am a MSc Data Science student at ETH Zuerich. Last year, I completed my bachelor's in Computer Science at TU Delft (the #1 technical university in the Netherlands) with distinction. I was a teaching assistant for 10 courses during my stay at the university. Additionally, I have given private lessons to a few high school and bachelor's students, so I believe I have accumulated enough experience with guiding and tutoring students across different disciplines. I have found out that I enjoy teaching a lot, so that is why I am here - to help you and myself! My expertise: During my high school years, I won tens of awards and scholarships for achievements in Mathematics and Computer Science. I also won my high school's recognition award which is given to one student every year for distinctive results. I've helped high-school and university peers with exam preparation, taught whole courses privately, prepared sample exams, and reviewed and graded real ones. Regarding the university courses I have experience in, I have taught: - Object-Oriented Programming - Reasoning & Logic - Computer Organisation - Algorithms and Data Structures - Web and Database Technologies - Calculus - Information & Data Management - Automata, Computability and Complexity - Concepts of Programming Languages - Computational Intelligence Here are some of the reviews I have received as a teaching assistant: Overall: 4.97/5 (70 reviews) 5/5 - "Great job! Did far more than just explaining this example and went far deeper into the material, helping me to understand it." 5/5 - "Favourite TA. Always there for the difficult questions. Never leaves anything unanswered no matter how long it takes." 5/5 - "Delightful person with an insightful way of thought! Brilliant TA!" 5/5 - "Clear explanations and expert in the material" So, what are you waiting for? Write me a message and let's get the knowledge train running.

Oussama
Mastering Web Development: From Fundamentals to Advanced Techniques
What You’ll Learn: Front-end Technologies: HTML, CSS, JavaScript, React.js, Next.js, TailwindCSS for creating dynamic, responsive applications. Back-end Mastery: Node.js, Nest js, Express, and Fastify for building robust and scalable web servers. Databases: MySQL, PostgreSQL, and MongoDB for handling data efficiently. DevOps & Deployment: Learn Docker, CI/CD with GitHub Actions, and cloud deployment practices to ensure your applications are production-ready. How You Will Benefit: Students: Gain the technical skills and portfolio to ace your academic projects and land internships or entry-level jobs. Self-Taught Learners: Stop the guesswork and follow a structured, hands-on approach to mastering full-stack development faster. Professionals: Upgrade your skills to meet the demands of modern web development and position yourself for career growth. Why My Course is Different: Real-World Projects: You'll build applications that solve real business problems, like a complete e-commerce site, RESTful APIs, and microservices. Tailored Learning: Each course is personalized to your experience level and goals, ensuring you get the most out of every session. Problem-Solving Focus: From debugging to performance optimization, you'll learn to tackle real-world challenges confidently. Industry-Relevant Skills: Stay ahead of the curve with training in modern technologies and practices that top employers are looking for.

Brahim
Introduction to NoSQL DataBase MongoDB by Pratique
Do not deal with the manual with terms of reference statements and basic documents that cannot be obtained in order to avoid the MongoDB problem. Please include the connection to one of the MongoDB données base, comment on simple CRUD operations and sujets clés que l'agrégation, l'indexation, la mode des données et les Transaction. 1- Install MongoDB 2- Implement MongoDB 3- Use of documents and collectibles 4 - Leadership Committee 5- Execute CRUD commands (create, read, update, delete) avec mongo shell 6- Type the register in a MongoDB database 7- Reset the base to remonter specific documents depuis mongo shell. 8- Lagrégation 9- Indexing 10- Amending institutions and transactions

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!

Pavlos
Maths, Data Science and AI, Computer Programming, Physics classes – Online or In-Person. Mathematical and Engineering background.
I hold two MSc degrees: the first in Mathematical Engineering from KU Leuven (Belgium) and the second in Industrial Engineering from Duth (Greece). I offer courses on a wide variety of subjects, for Univerisity or High-school students, ranging from applied math and artificial intelligence, up to physics, programming languages like python, C++ and Fortran. In my teaching approach, I rely heavily on visual aids such as videos and illustrations to ensure that students get a clear understanding of the various concepts, along with personalized exercises.

Benito
Python, SQL and/or Machine/Deep Learning Classes at your place or Online!
I am currently working as an online teacher 🧑‍🏫 and course content developer in Python, SQL 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 👉 Free support between lessons What topics do I usually cover at the beginning for people without Python/SQL experience? ✔️ Understanding the basic concepts (variables & types) --> Python/SQL ✔️ Math & Statistics (explained easily) --> Python ✔️ Data Manipulation (tables, dataframes, joins,...) --> Python/SQL What topics do I cover for people with Python/SQL experience? ✅ Classic libraries: Pandas, Numpy, Scikit-learn, Tensorflow, Pytorch ✅ Data Analytics/Visualization: Plotly, Seaborn, Matplotlib ✅ Domains: Regression, Classification, NLP, LLM, Computer Vision, Generative AI, Time Series, Neural Networks, Ensemble Methods ✅ MLOps: MLflow, Prefect, Mage, 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!😉

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.

Azzedine
Maîtrisez NinjaTrader: Develop an expert in trading!
Get an expert in trading with NinjaTrader! If you are passionate about trading and souhaitez maitriser on one of the platforms of trading with more people in the market, this announcement is for you! If you are an expert in NinjaTrader, I offer you some training to help you get into this trading platform as an exception. If you want to use the trading manual or automate your strategies to use the C# language and other personal indicators, these configurations will guide you through the process. Advice for all Nivea traders, technicians, and experienced professionals, to see who you can attend: A training app for the use of NinjaTrader, comprenant of navigation in the interface, execution of orders and analysis of operations. Detailed instructions on the creation and optimization of automated trading strategies using the C# language. Conseils pratiques sur l'utilisation des indications personnalisés pour ajouter votre touche analytique et prendre des décisions de trading claires. If you want to generate additional revenues from trading or do trading activities at regular times, you will be able to prepare the necessary concierges and competencies to make profit from your financial markets. I hope you have the opportunity to develop a veritable expert in trading with NinjaTrader! Contact your maintenant to reserve your place and start your purchases over the successful financing.

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.