PyCon APAC 2023

Three Musketeers: Sherlock Holmes, Mathematics and Python
10-26, 11:00–14:00 (Asia/Tokyo), Tutorial 1

In our daily life, we use mathematics knowingly and unknowingly. Many of us are unaware that forensic experts use mathematics to solve crime mysteries. In this workshop, we will explore how Sherlock Holmes, the famous fictional detective character created by Sir Arthur Conan Doyle uses Mathematics and Python programming language to solve crime mysteries.


Mathematics is a science and one of the most important discoveries of the human race on earth. Math is everywhere and around us. It is in nature, music, sports, economics, engineering, and so on. In our daily life, we use mathematics knowingly and unknowingly. Many of us are unaware that forensic experts use mathematics to solve crime mysteries. In this workshop, we will explore how Sherlock Holmes, the famous fictional detective character created by Sir Arthur Conan Doyle uses Mathematics and Python programming language to solve crime mysteries. In short, the workshop begins with an introduction to forensic mathematics and covers basic principles thereby setting the stage. Then, we will solve simple crime puzzles using mathematics and simple python scripts. Finally, we will solve a few complex hypothetical crime mysteries using advanced python concepts. The participants will learn how to use the concepts of mathematics such as statistics, probability, trigonometry, and graph theory, and python and its packages such as SciPy, NumPy, and Matplotlib to solve the crime puzzles.

Outline
1. Introduction to Forensic Mathematics and overview of basic concepts (15 Minutes)
- Numbers and their representation
- Units of Measurements
- Basic chemical calculations
- Functions, Formulae and equations
- Pythagoras Theorem
- Trigonometric methods
- Graphs
- Statistics and probability

  1. Problems
    - Estimate the pressure of a shoe print on a soft ground (05 Minutes)
    - Calculate the uncertainty given the measurement of bullet diameter (05 Minutes)
    - Calculate the mean molar mass (10 Minutes)
    - Calculate the percentage of concentrations (10 Minutes)

------BREAK -------- (05 Minutes)
- Compute bloodstain thickness (05 Minutes)
- Calculate terminal velocity for a fine blood droplet (05 Minutes)
- Calculate the persistence of gunshot residue particles in air (05 Minutes)
- Calculate the impact speed and estimate the drop height of blood droplet (05 Minutes)
- Post-mortem body cooling (05 minutes)
- Ricochet analysis and aspects of ballistics (10 Minutes)
- Suicide, Accident or murder? (05 Minutes)
- Blood stain pattern analysis (10 minutes)
- Persistence of hair, fibres, and flints on clothing (05 minutes)
----------BREAK----------- (05 Minutes)
- Determine the time since death (05 Minutes)
- Determine the age from bone or tooth material (05 Minutes)
- Matching of hair evidence (05 Minutes)
- Matching bite marks (05 Minutes)

  1. Digital Forensics with Python (30 minutes)

  2. Advanced Problems
    - Bicycle Problem (10 Minutes)
    - Detect the location of a serial killer (10 Minutes)