Exact Science

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.

MathematicsJunior

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.‍

Geometry

Axioms and Postulates of Euclid

Programming

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.

Geometry

Minimum and Maximum Problems in Geometry

Minimum and Maximum Problems in Geometry

Returns

Programming

Arithmetic Operations

Programming

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.

MathematicsJunior

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

MathematicsJunior

Worst Case Scenario

Deviations from Normality

MathematicsJunior

Racing

Programming

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:

Programming

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

Programming

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).

MathematicsJunior

Sums and averages

The Efficient Frontier - Part I

MathematicsJunior

Equations

Programming

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

MathematicsJunior

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

MathematicsJunior

Productivity

MathematicsJunior

Divisibility

Lack of Robustness of the Markowitz procedure and the GMV portfolio

Limits of Diversification

MathematicsJunior

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

MathematicsJunior

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.

MathematicsIntermediate

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

MathematicsJunior

Olympiad BIDMAS

Present Value of Liabilities and Funding Ratio

Simulating Interest Rate Changes and Liability Hedging

MathematicsJunior

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

MathematicsJunior

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.

MathematicsJunior

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

MathematicsPrimary

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

MathematicsJunior

Base Numbers Problems

MathematicsIntermediate

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.‍

MathematicsPrimary

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.

Programming

Boolean in Python

Programming

Cascading Conditional Statements in Python

Geometry

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.

Geometry

Circumcircle of a Triangle

Practice problems on circumcircles of triangles: centers, angles, chords, and construction. Ideal for Olympiad geometry and advanced learners.

MathematicsPrimary

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?

Programming

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.

MathematicsJunior

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.

MathematicsSenior

Extreme Principle

ProgrammingJunior

For Loop Problems: Calculating Sums and Products

Function range()

MathematicsIntermediate

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.

MathematicsPrimary

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.

MathematicsSenior

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.

Geometry

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.

MathematicsSenior

Invariant Principle

Programming

Logical Operators

MathematicsJunior

Matchsticks

MathematicsSenior

Maximum and Minimum

MathematicsSenior

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.

Geometry

Morley's Triangle

Programming

Nested Conditions

MathematicsIntermediate

Number Theory

MathematicsJunior

Paths

MathematicsPrimary

Patterns

MathematicsJunior

Patterns in Numbers and Digits

Problems on periodicity. Spot patterns in them!

GeometryIntermediate

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

MathematicsJunior

Ratio

Mathematics

Rationalily

MathematicsIntermediate

Remainders of Squares and Cubes

Rotational Symmetry

Seven Bridges of Königsberg

GeometryJunior

Square Dissections

MathematicsPrimary

Symmetry

Geometry

Tangent

Explore key theorems about tangents to circles and solve problems involving radii, angles, and geometric constructions with tangents.

MathematicsIntermediate

Triangle Inequality

In this lesson, we will use an important result known as the Triangle Inequality:|x| + |y| ≥ |x + y|

Programming

Turtle: Pong Game

Build Pong in Python with Turtle Graphics