facebook
from44.52CAD/ 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.

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 C$44.52Online via webcam
from C$44.52At 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 C$44.52Online via webcam
from C$44.52At 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


Reza
Systematic Reasoning and Logical Thinking for Computer Science
You will learn Systematic Reasoning & Logical Thinking which is a requirement for entering Computer Science program in many universities. The book “Delftse Foundations of Computation” especially its second chapter will be the main source of our lesson, but other more in-depth books will be also covered if you want to improve even further on logical thinking. The topics in our lesson include: • Propositional Logic: Logical operators; Precedence rules; Logical equivalence; Implications in English; Exclusive or; Universal operators; Classifying propositions • Boolean Algebra: Substitution laws • Logic Circuits: Logic gates; Combining gates to create circuits; From circuits to propositions; Disjunctive Normal Form; Binary addition. • Predicate Logic: Predicates; Quantifiers; Tarski’s world and formal structures; • Deduction: Valid arguments and proofs; Proofs in predicate logic If you have any additional questions before starting a class, please feel free to ask me. I am here to assist! :)

Amin
Statistical Analysis with Python and R (Rstudio) - Intro to Data Science
By delving deep into the practical applications of statistics and data science, this course is designed to set you up for success. Learn from real-world examples: Instead of spending hours on theoretical material and trying to relate it to practical issues, we will focus solely on applied statistics. Programming will allow you to apply theory to real-world problems, equipping you with the knowledge and skills you need to succeed. We won’t be spending hours solving math problems by hand for reinforcement, as this isn’t school. Instead, we’ll use cutting-edge methods and code libraries that leverage the latest software releases to maximize productivity and efficiency. If you have any further questions, please do not hesitate to contact us.

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.

Mazuba
Introducion to Programming with C++ Programming Language.
Take a deeper dive into programming with C++, a language known for its speed and versatility. This class focuses on understanding how code interacts closely with the hardware and teaches the principles of efficient and effective programming. What You’ll Learn: C++ basics: Syntax, variables, data types, and operators. Setting up C++ IDEs: Compilers and linkers. How C++ code is compiled, linked, and executed. Memory management and pointers: An introduction to dynamic memory.

Hamza
Support and strengthening lessons in mathematics, physics and computer science subjects
I hold a PhD in Mathematical Physics (Theoretical Physics), and I specialize in providing educational support lessons in physics and mathematics. I provide my services to high school and university students, and I have the ability to teach in French, Arabic, and English. Thanks to my eight years of experience in providing private lessons, I have developed a flexible teaching methodology that adapts to the needs of each individual student. With my experience of more than six years as a professor within the French Mission Program, I have mastered the requirements of this educational system and its special methods. My experience in the field of entrance examinations for graduate schools constitutes an additional advantage for students wishing to continue their studies in prestigious educational institutions. My passion for physics and mathematics and my strong academic background enable me to explain complex concepts in a clear and understandable way. My goal is to develop students' understanding academically and build their self-confidence, helping them reach their full potential. I am committed to providing high-quality education, tailored to each student's pace and learning styles, and I strongly believe that every student can excel with the right guidance and support.

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.

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

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

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

Mouncef
Learn Python, Artificial intelligence with me until you become an expert
This Python course teaches you the basics of programming in Python, including variables, data types, operators, control structures (if, for, while), functions, and lists. You will also learn how to manipulate data with libraries such as Pandas and NumPy, create graphs and visualizations with Matplotlib and Seaborn, and even develop simple web applications with Flask or Django.

Hayat
Master the Essential Tools of Microsoft Office: Word, PowerPoint and Excel"
Do you want to master Microsoft Office tools? This course offers you comprehensive training on the three most popular applications in the Microsoft Office suite: Word, PowerPoint and Excel. Whether you are a beginner or already have some basics, this course is designed to adapt to your level. You will learn how to create documents, dynamic presentations and use spreadsheets for efficient management of your data. Sessions can be customized to your needs, whether you prefer individual or group learning. With my support, you will quickly become comfortable with these essential tools. If you have any questions or would like to know more, please do not hesitate to contact me!

Anass
Computer and office training Word Excel and PowerPoint
Hello, You want to learn the basics of computers or how to use software such as Word, Excel or Powerpoint. I will give you the skills you need to better understand the features of this software to write, for example, a document. I will also give you advice on how to make the most of the internet, protect and back up your data, or on the day-to-day use of your computer. Contact me.

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

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.

Nancy
Mathematics, Computer Science and Python Tutor for you
Many of students find it difficult to understand the mathematical concepts and programming algorithms. But don't worry as I know how to make that easy for you to understand these concepts. I have completed mathematics honors and pursuing data science and Artificial Intelligence. So, what all you need is my support to ease your learning. I can help you in any mathematical and computer science concept. Also, I am very familiar with Python