facebook
from30.98USD/ 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 -05: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 $30.98Online via webcam
from $30.98At 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 -05: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 $30.98Online via webcam
from $30.98At 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


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.

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.

Adam
web application developing and programming
The best techniques and programming languages to build the most powerful applications using Java, SpringBot, Angular, Bootstrap, and various databases, with the application of the testing system, Microservices, and many of the latest technologies. teaching best and latest technologies for building web web applications using java, spring boot, angular, bootstrap, database, with testing technologies, micro services architecture and more latest technologies

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

Alex
Mathematics for students of all grades, IB and GCSE
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.

Mourad
Quick engineering using python and Large Language Models (LLMs)
### Course Description: Prompt Engineering using Python and LLMs Unlock the power of Large Language Models (LLMs) with our beginner-friendly course, "Prompt Engineering using Python and LLMs." This course is designed to introduce you to the fundamentals of prompt engineering, equipping you with the skills needed to craft effective prompts and leverage the capabilities of LLMs for various applications. #### Course Objectives: - **Introduction to Prompt Engineering:** Understand the basics of prompt engineering and its significance in utilizing LLMs. - **Python for Prompt Engineering:** Learn essential Python programming skills tailored for prompt engineering tasks. - **Harnessing LLMs:** Discover how to use LLMs to generate, manipulate, and analyze text based on your crafted prompts. - **Practical Applications:** Apply your knowledge through hands-on projects and real-world scenarios to build practical solutions. #### Course Outline: 1. **Introduction to Prompt Engineering:** - What is prompt engineering? - Importance and applications of prompt engineering - Overview of Large Language Models (LLMs) and their capabilities 2. **Python Essentials for Prompt Engineering:** - Basic Python programming concepts - Key Python libraries for text processing - Setting up your development environment 3. **Crafting Effective Prompts:** - Understanding prompt structure and components - Techniques for creating clear and concise prompts - Examples of effective prompts for various tasks 4. **Interacting with LLMs:** - Introduction to popular LLMs (eg, GPT-3, GPT-4) - Using APIs to interact with LLMs - Generating text responses based on your prompts 5. **Advanced Prompt Techniques:** - Handling complex queries and multi-step instructions - Refining prompts for improved accuracy and relevance - Using prompts for different applications (eg, content generation, data analysis) 6. **Practical Projects:** - Building a text generation application - Creating a chatbot using prompt engineering techniques - Developing a data extraction tool using LLMs 7. **Ethical Considerations and Best Practices:** - Ensuring ethical use of LLMs and prompt engineering - Best practices for responsible AI development - Avoiding common pitfalls and challenges 8. **Future Directions and Further Learning:** - Exploring advanced topics in prompt engineering - Keeping up with the latest advancements in LLMs - Resources for continued learning and development #### Who Should Enroll: - Beginners with no prior experience in prompt engineering or LLMs - Individuals interested in learning Python programming - Aspiring AI enthusiasts looking to explore the potential of LLMs #### Prerequisites: - Basic computer literacy and familiarity with high school-level mathematics - No prior programming or AI experience required #### Race Outcomes: By the end of this course, you will be able to: - Understand the fundamentals of prompt engineering - Write and execute Python code for prompt engineering tasks - Create effective prompts to interact with LLMs - Develop practical applications using LLMs - Apply ethical considerations and best practices in your work Join us in "Prompt Engineering using Python and LLMs" to embark on your journey into the world of AI and prompt engineering. Gain the skills and confidence needed to create impactful solutions and unlock the full potential of Large Language Models.

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!

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

Dishant
Maths Bootcamp for SAT, ACT, middle school and high school math preparation.
Welcome to a tutoring experience designed to transform academic challenges into achievements! I provide specialized instruction in mathematics and science across all major curriculums, including US, UK, Indian, and Middle Eastern systems, with a particular focus on SAT, ACT, and AP exams. As a certified tutor, I support students through every level of high school math—Algebra, Calculus, Geometry, Statistics, and Trigonometry—and core science concepts. My approach is deeply personalized, ensuring that each student receives instruction tailored to their unique strengths and learning goals. I prioritize student satisfaction and comprehension above all, committing to an environment where each concept is fully understood and every question addressed. With customized learning plans, interactive tools, and hands-on projects, I make complex topics accessible and engaging. My goal is to inspire both skills mastery and a true enthusiasm for learning. Whether you're tackling advanced math, preparing for college admissions, or aiming for top scores in AP, SAT, or ACT exams, I’m here to provide dedicated support every step of the way. Experience the difference a tailored, student-centered approach can make—where your success and understanding are always the priority.

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

Shalitha
Software Engineering : Python : Java : From Senior Developer
I am a lecturer and a senior software engineer. I got my degree in Engineering with Mathematics and completed the masters with Computer Science heavily covered with mathematics. I have more than 7 years of teaching experience. I will work with the student and get to know about his/her level. Then I will improve it from there. I will teach so that the learning will be an interesting experience for the child.

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.

Paul
I am a teacher of mathematics and I give extra hours for private lessons in science subjects
As a math teacher, I offer private lessons in science subjects. My classes are mainly aimed at cycle and college students in Geneva, as well as students from private schools. I can also help people who have already finished their schooling but who need to upgrade their knowledge for professional needs. I am generally available within 3 days of your request and I move around the canton of Geneva using public transport (TPG). Travel costs are included in my rates. For a long-term follow-up, I can give you exercises to do between sessions and correct them at home. I speak and understand English, but my lessons will be mainly in French. I am ready to adapt my teaching according to your specific needs and to provide personalized support to help you progress in scientific subjects. Do not hesitate to contact me if you have additional questions or if you wish to schedule a lesson session. I will be happy to help you in your math learning.