facebook
from32.04USD/ 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 ctrl + 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.

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
  
  
  
  
  
  
  
6
  
  
  
  
  
  
  
7
  
  
  
  
  
  
  
8
  
  
  
  
  
  
  
9
  
  
  
  
  
  
  
10
  
  
  
  
  
  
  
11
  Monday at 11:00
  
  
  
  
  
  
12
  Monday at 12:00
  
  
  
  
  
  
13
  Monday 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
  Monday at 17:00
  
  Wednesday at 17:00
  
  
  Saturday at 17:00
  Sunday at 17:00
18
  
  
  
  
  
  
  
19
  
  
  
  
  
  
  
20
  
  
  
  
  
  
  
21
  
  
  
  
  
  
  
22
  
  
  
  
  
  
  
23
  
  
  
  
  
  
  
from $32.05Online via webcam
from $32.05At 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
  
  
  
  
  
  
  
11
  Monday at 11:00
  
  
  
  
  
  
12
  Monday at 12:00
  
  
  
  
  
  
13
  Monday 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
  Monday at 17:00
  
  Wednesday at 17:00
  
  
  Saturday at 17:00
  Sunday at 17:00
18
  
  
  
  
  
  
  
19
  
  
  
  
  
  
  
20
  
  
  
  
  
  
  
21
  
  
  
  
  
  
  
22
  
  
  
  
  
  
  
23
  
  
  
  
  
  
  
from $32.05Online via webcam
from $32.05At 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.

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.

Nwafor
Comprehensive AI & Coding Guide: Teaching Generative AI (ChatGPT, Claude, LLaMA) with Python, React, Node.js, JavaScript & Beginner-Friendly
This course is designed to introduce students of all levels—ranging from young children to university students—to the exciting world of artificial intelligence and programming. Whether you're a beginner exploring coding for the first time or an advanced student eager to dive into AI development, this course provides a structured and engaging learning experience. What You'll Learn: ✅ AI & Generative Models – Understand and interact with AI models like ChatGPT, Claude, and LLaMA. ✅ Programming Foundations – Learn Python, JavaScript, and beginner-friendly coding concepts tailored for young learners. ✅ Web Development – Build interactive applications using React and Node.js. ✅ Prompt Engineering – Master techniques for crafting effective AI prompts to get the best responses. ✅ Hands-on Projects – Work on real-world projects that reinforce learning and creativity. What to Expect: 📌 Beginner-Friendly & Advanced Tracks – Tailored lessons for different age groups and skill levels. 📌 Interactive Coding Sessions – Learn by doing with engaging exercises and projects. 📌 AI-Powered Applications – Create your own AI-driven chatbots and web apps. 📌 Fun & Engaging Learning – A creative and dynamic approach to programming and AI. By the end of this course, students will have a strong foundation in coding, AI concepts, and web development, empowering them to build innovative projects and explore the future of technology. 🚀

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.

Baia
Front-end development(Html, Css, Javascript, Vue.js, React.js) by professional and experienced developer
Are you ready to craft stunning, interactive websites that captivate audiences and elevate user experiences? Look no further than my dynamic Front-End Development course. From mastering HTML, CSS, and JavaScript to harnessing the power of cutting-edge frameworks like React and Vue, you'll acquire the skills needed to build responsive, intuitive websites that stand out in today's competitive market. But it's not just about learning code—it's about cultivating creativity. My methods fosters a collaborative learning environment where you'll engage in real-world projects, tackle challenges head-on, and refine your design sensibilities to create visually stunning interfaces that leave a lasting impression. If you are stuck with your project, or you want to kearn high-income, future skills, my Front-End Development course is your gateway to success. Enroll now and embark on a journey towards a fulfilling and rewarding career in tech!" For further details, please don't hesitate to contact me!

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

Yassine
Introduction to Robotics, Electronics and Programming
Discover the world of robotics, electronics, and programming with a course designed for technology and innovation enthusiasts. Whether you are a beginner or already have some basics, this course will guide you through the fundamentals, with a hands-on approach to designing your own projects. You will learn how to use electronic components, program microcontrollers, and assemble robots to perform autonomous tasks.

Gaëlle
AI for children: discover how to use artificial intelligence in English, French and Spanish
Would 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.

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

Antonio
Marketing, Promotion, Digital Optimization, and SEO
The course module is adapted to the student. You will earn: ▪️ An integrated digital marketing strategy based on your own organizational context. ▪️ Skills to effectively analyze and leverage data to make breakthrough data-driven decisions. ▪️ A future perspective on marketing and an overview of how to use emerging digital channels and technologies, such as artificial intelligence (AI) and chatbots, within your organization. ▪️ Accept the challenges and opportunities of disruptive technology in your digital marketing strategy.

Younes
Master Python at All Levels with Personalized Lessons - SUP SPE Program included
Start with the fundamentals like variables, loops, and conditionals, and progress to more advanced concepts including manipulating files, images, and using Python libraries like Numpy, Scipy, Pandas, and Matplotlib. Also explore the fundamentals of object-oriented programming. Why choose this Course? By opting for these courses, you will have the opportunity to consolidate your knowledge through practical exercises and concrete mini-projects which will strengthen your Python skills. Each session will be interactive, allowing you to ask questions and receive constructive feedback on your code. You will be able to benefit from personalized support. Lessons are tailored to your level, whether you're looking to pursue a career in programming or just want to learn for fun. Sessions are tailored to your goals, and ongoing support is provided to overcome any challenges you may encounter.

Pr YSF
Analog and digital electronics, VHDL, FPGA, programming
Engineer and senior professor of engineering sciences provides support courses in analog and digital electronics at all levels, engineering schools. having a scientific and technical knowledge, five years of experience in the field of teaching, teaching and a sense of listening and analysis, I am able to help pupils and students and train them in the chapters of which they have difficulties. for more info please 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.

Zakaria
Computer courses: C, C++, C#, .NET Core, ASP.NET, SQL, Entity Framework Core, JavaScript, Ajax, jQuery.
courses for different programming languages also TP, TD at home with a follow-up during all the period also of the mathematical courses or we chime phisic according to the demand with a reasonable price objective is to know the base of the computer science for the beginners or well to improve the knowledge

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.