Curriculum
Topic pages built from the curriculum database
Each page keeps the same structure: title first, then theory, problems, and the course metadata pulled from the CSV.
Ages
It is convenient to solve these problems through an equation. The main thing to remember is that the age difference always remains the same.
Axioms and Postulates of Euclid
Intro to Python
This course will focus on learning programming using the Python language . This is a modern programming language that works on all common operating systems.
Minimum and Maximum Problems in Geometry
Minimum and Maximum Problems in Geometry
Returns
Arithmetic Operations
Data Types
So, we see that Python can work with at least two types of data - numbers and strings. Numbers are written as a sequence of digits; there may also be a minus sign in front of the number, and strings are written in single quotes. 2 and '2' are different objects, the first object is a number and the second is a string. The + operation works differently for integers and for strings: for numbers it is addition, and for strings it is concatenation.
Parity
You, of course, know that there are even and odd numbers.Even numbers are those that are divisible by 2 without a remainder (for example, 2, 4, 6, etc.). Each such number can be written as 2K by choosing a suitable integer K (for example, 4 = 2 x 2, 6 = 2 x 3, etc.).Odd numbers are those that, when divided by 2, leave a remainder of 1 (for example, 1, 3, 5, etc.). Each such number can be written as 2K + 1 by choosing a suitable integer K (for example, 3 = 2 x 1 + 1, 5 = 2 x 2 + 1, etc.).Even and odd numbers have remarkable properties:a) the sum of two even numbers is even;b) the sum of two odd numbers is even;c) the sum of even and odd numbers is odd number.
Volatility and Risk
Computing Maximum Drawdown
Worst Case Scenario
Deviations from Normality
Racing
Type Conversion
Sometimes it is useful to write an integer as a string. And, conversely, if a string consists of numbers, then it is useful to represent this string as a number so that you can then perform arithmetic operations with it. For this purpose, functions of the same name as the type name are used, that is, int, float, str. For example, int('123') will return the integer 123, and str(123) will return the string '123'. Example:
Data Input: input() function
The example above is inconvenient because the source data for the program is specified in the program text, and in order to use the program for another triangle, it is necessary to correct the program text. This is inconvenient; it is better that the program text does not change, and the program asks the user for the data necessary to solve the problem, that is, it asks for the values of two initial variables a and b. To do this, we will use the function input(), which reads a line from the keyboard and returns the value of the read line, which we will immediately assign to the variables a and b:
Downside Measures: SemiDeviation, VaR and CVaR
Data Output: print() function
The function print can output not only the values of variables, but also the values of any expressions. For example, the entry print(2 + 2 ** 2).
Sums and averages
The Efficient Frontier - Part I
Equations
Our First Program
Let's calculate the length of the hypotenuse of a right triangle from its legs. Launch a text editor and write the following text:
Efficient Frontier - Part II - Running the Optimizer
Pigeonhole principle
Pigeonhole Principle (Dirichlet's principle) is a simple, intuitive, and often useful method for proving statements about a finite set. This principle is often used in discrete mathematics, where it establishes a connection between objects (“rabbits”) and containers (“cells”) when certain conditions are met.
Finding the Max Sharpe Ratio Portfolio
Productivity
Divisibility
Lack of Robustness of the Markowitz procedure and the GMV portfolio
Limits of Diversification
Strategies in Games
In the realm of game theory, a player's strategy refers to the choices they make within a context where the best possible result is influenced not solely by their individual decisions but also by the decisions made by others. The field primarily focuses on how a player's moves within a game can impact and influence the behavior and choices of other participants.
Implementing Portfolio Insurance (CPPI) and Drawdown Constraints
River Crossing Riddles
What is a river crossing puzzle? It is a type of puzzle in which the object is to carry items from one river bank to another, usually in the fewest trips. The difficulty of the puzzle may arise from restrictions on which or how many items can be transported at the same time, or which or how many items may be safely left together.
Mathematics in Chess
A mathematical chess problem is a mathematical problem which is formulated using a chessboard and chess pieces. These problems belong to recreational mathematics. The most well-known problems of this kind are the eight queens puzzle and the knight's tour problem, which have connection to graph theory and combinatorics. Many famous mathematicians studied mathematical chess problems, such as, Thabit, Euler, Legendre and Gauss. Besides finding a solution to a particular problem, mathematicians are usually interested in counting the total number of possible solutions, finding solutions with certain properties, as well as generalization of the problems to N×N or M×N boards.
Random Walk Generation
Interactive Plotting and Monte Carlo Simulations of CPPI
Olympiad BIDMAS
Present Value of Liabilities and Funding Ratio
Simulating Interest Rate Changes and Liability Hedging
Weighing Puzzles
A balance puzzle or weighing puzzle is a logic puzzle about balancing items—often coins—to determine which holds a different value, by using balance scales a limited number of times. These differ from puzzles that assign weights to items, in that only the relative mass of these items is relevant.
GHP Construction with Duration matching
Water Pouring Puzzles
Water pouring puzzles (also called water jug problems, decanting problems, measuring puzzles, or Die Hard with a Vengeance puzzles) are a class of puzzle involving a finite collection of water jugs of known integer capacities (in terms of a liquid measure such as liters or gallons). Initially each jug contains a known integer volume of liquid, not necessarily equal to its capacity.
Knights and Liars
There are two types of inhabitants on the Island of Knights and Liars. Knights always tell the truth. Liars always lie.
Monte Carlo Simulation of Prices of Coupon-Bearing Bond using CIR
Magic Square
This is a ‘magic’ square.Can you see what properties it has?All row totals, all column totals, two diagonal totals are all the same!Moreover, no number should be repeated.
Naive Risk Budgeting Strategies between PSP and GHP
Monte Carlo simulation of Dynamic Risk Budgeting between PSP and GHP
Base Numbers Problems
AM–GM Inequalities
The Arithmetic–Geometric Mean Inequality:If a ≥ 0, b ≥ 0, then(a + b)/2 ≥ √(ab) ≥ b.Equality holds if and only if a = b.
Arithmetic Operations (Primary)
Math is more than numbers — it's about patterns, logic, and a little bit of creative play. This collection of arithmetic and bracket puzzles is designed to challenge young minds while keeping problem solving fun and engaging. From inserting the right operations between digits to rearranging numbers with clever use of brackets and basic arithmetic, these puzzles promote flexible thinking, mental calculation, and deeper mathematical understanding.
Boolean in Python
Cascading Conditional Statements in Python
Challenging Triangle Congruence
Most students are already familiar with the three standard triangle congruence rules taught in school: SSS (Side-Side-Side), SAS (Side-Angle-Side), and ASA (Angle-Side-Angle). These form the foundation of geometry and are commonly seen in classroom exercises and exams, including the GCSE Mathematics syllabus.But what happens when we encounter problems that don’t follow these standard patterns directly? Can we still prove triangle congruence using medians, altitudes, angle bisectors, or partial side information?In this section, we explore a selection of challenging triangle congruence problems that require deeper reasoning and clever constructions. These problems go beyond the textbook basics and are perfect for students preparing for Olympiad-style questions, GCSE extensions, or anyone wanting to sharpen their proof skills.
Circumcircle of a Triangle
Practice problems on circumcircles of triangles: centers, angles, chords, and construction. Ideal for Olympiad geometry and advanced learners.
Combinatorics (Primary)
What is combinatorics? Combinatorics is the branch of mathematics that deals with counting — not just by listing, but by using smart rules and patterns to calculate the number of ways something can happen. We’ll explore questions like: • How many different outcomes are possible when making choices? • What’s the difference between arrangements (where order matters) and selections (where it doesn’t)? • How can we use multiplication, permutations, and combinations to solve these problems?
Conditional Statements in Python
Doubling the Median
Learn how to apply the method of doubling the median in triangle geometry. Includes proofs and ratio problems involving triangle medians.
Exponents (Last Digit)
Explore deep-thinking maths problems involving last digits, powers, prime numbers, and digit tricks. Perfect for ages 11–16 and ideal for UKMT, AMC, and GCSE enrichment. Includes Olympiad-style theory with modular arithmetic, Diophantine equations, and factorial analysis.
Extreme Principle
For Loop Problems: Calculating Sums and Products
Function range()
GCD and LCM
In this lesson, we will work with the concepts of the greatest common divisor (GCD) and least common multiple (LCM), as well as related problem-solving techniques. The GCD of two numbers is the largest number that divides both of them without a remainder. The LCM of two numbers is the smallest number that is a multiple of both.
How many shapes?
Can you spot all the squares, rectangles, and triangles in these diagrams? These classic visual puzzles help develop spatial reasoning, geometry skills, and attention to detail. Perfect for primary students preparing for Maths Olympiads or challenges like the UKMT. Great for classroom warm-ups, enrichment activities, or home learning.
Induction Principle
The Induction Principle is of great importance in discrete mathematics: Number Theory, Graph Theory, Enumerative Combinatorics, Combinatorial Geometry, and other subjects. Usually one proves the validity of a relationship f(n) = g(n) if one has a guess from small values of n.
Inscribed Quadrilateral
Learn the theory and solve challenging problems about inscribed quadrilaterals. Perfect for math Olympiad prep, this page covers trapezoids, kites, and key geometric proofs.
Invariant Principle
Logical Operators
Matchsticks
Maximum and Minimum
Method of Colouring
A colouring proof is a sort of invariant proof which can mainly be used to prove that something isn’t possible. The essence of invariant proofs is to strip the problem of any unnecessary details and only keep the information that best describes why something isn’t possible, making it very easy to follow invariant proofs.
Morley's Triangle
Nested Conditions
Number Theory
Paths
Patterns
Patterns in Numbers and Digits
Problems on periodicity. Spot patterns in them!
Pythagoras' theorem
These problems use the Pythagoras theorem and its consequences (perpendicularity criteria, projections, and equal‑tangent loci) to prove algebraic relations and describe geometric sets.
Python For loop
Ratio
Rationalily
Remainders of Squares and Cubes
Rotational Symmetry
Seven Bridges of Königsberg
Square Dissections
Symmetry
Tangent
Explore key theorems about tangents to circles and solve problems involving radii, angles, and geometric constructions with tangents.
Triangle Inequality
In this lesson, we will use an important result known as the Triangle Inequality:|x| + |y| ≥ |x + y|
Turtle: Pong Game
Build Pong in Python with Turtle Graphics