• DigiMat

    • A unique educational program, unifying math and programming.
    • From preschool to top academic and professional.
    • Developed by leading scientists.





    News

    2020-11-19: DigiMat Seminar at National Center for Math Education in Sweden! Join the webinar at 16:00 CET!

    2020-10-09: DigiMat Teacher Course launched! Start the course!

  • About

    DigiMat unifies math and programming in a unique way. Creativity, motivation and industrial impact are key elements. The program spans all levels, from pre-school to top academic and professional. The method is based on world-leading mathematics research at KTH and Chalmers, together with didactic research at Stockholm University. Computation is the leading principle and music and visual art is part of the pedagogical concept.

    By learning a few basic algorithms anyone can understand and carry out advanced programming and physics simulations. No prior knowledge is needed.


    Learning goals

    1. Number representation [Basic] in first binary form making representation and arithmetic algorithms easy to understand.
    2. Arithmetic algorithms [Basic] constructed by repetition of the basic operation of +1 according the basic prototype of all computer programs of DigiMat in the form n = n + 1
    3. Time-stepping [Basic-Pro] automatically solving all (ordinary) mathematical models in the form x = x + v*dt
    4. Text programing [Basic-Pro] enabling the students to understand, modify and extend the algorithms and computer realizatons themselves.

    Background

    DigiMat is based on the foundational work of Claes Johnson, who started ground-breaking work on unifying abstract math and programming in science and education already in the 1970s and 1980s. Two key development projects with large impact are the FEniCS project for automated computational modeling and the BodySould math education reform project, both developed in collaboration with Johan Jansson and a large team of colleagues.

    Img

    Claes Johnson is professor emeritus in applied math at KTH/Chalmers.

    He has large dedication to reform of math education in the age of the computer, and develops the DigiMat program together with Johan Jansson, a complete program for school, university and professional.

    Claes publishes a very widely-read blog with a large body of material on DigiMat, science, education, current events, etc.: https://claesjohnson.blogspot.com, https://mathsimulationtechnology.blogspot.com

  • DigiMat-Basic

    Enter Ada's World! Our pedagogical app is inspired by Ada Lovelace (1815-1852), mathematician and one of the first programmers in history. Here you learn the binary addition algorithm and time-stepping for simulation, by organizing a party. The app is developed by researchers in mathematics at KTH and didactics at the Stockholm University, in cooperation with creators and artists.



    Ada's World Intro and Tutorial!

  • DigiMat-Mid

    Here's a list of programming sessions, from the most simple to the most complex. We use the p5.js JavaScript Library which comes with a very handy web editor. The p5.js-codes you will meet are short and simple and can easily be transferred to a programming language of your choice.


    2. Basic

    1. Constructing the Natural Numbers
    2. Binary Representation of Natural Numbers see Illustration
    3. Reading Binary Representation
    4. Binary Addition. Compare with 2048 Game.
    5. Binary Abacus1
    6. Binary Abacus2
    7. Abacus Adding Machine
    8. Binary Multiplication
    9. Binary Subtraction
    10. Natural Numbers: Base 3
    11. Natural Numbers: Any Base
    12. Binary Division
    13. Pocket Calculator
    14. Primes
    15. Fibonacci Numbers
    16. Screen Geometry
    17. Motion-Change: x = x + v*dt
    18. Motion on Screen
    19. Draw Line
    20. Newtonian Mechanics: Angry Birds Basic
    21. Newtonian Mechanics
    22. Polynomials
    23. Exponential Function exp(t)
    24. Natural Logarithm log(t)
    25. Harmonic Series
    26. Trigonometric Functions cos(t) and sin(t)
    27. Draw Circle
    28. Solving f(x)=0 by Bisection
    29. Solving f(x)=0 by Time Stepping x = x + f(x)*dt
    30. Solving x=g(x) by Fixed Point Iteration
    31. Calculus as dx = f(t)dt as x = integral f(t)dt
    32. Time stepping: Smart, Dumb and Midpoint Euler
    33. Integral: Midpoint Euler vs Forward/Endpoint Euler
    34. Compute Area of Circular Disk. Compute Pi. (check with Archimedes)
    35. Level Curves in 2d

    3. Model Workshop


    4. Game Workshop


    DigiMat Basic Books and More Material

    There is an extensive list of books supporting DigiMat.

    Books gives the foundation of the path and lead into a wider world as computational mathematics.

    DigiMat is an expansion of the BodyandSoul program, which contains supporting material, some of the software material may not be supported anymore.

  • DigiMat Pro

    Breakthrough predictive industrial simulation

    Img

    Course modules

    Click the button for a module to expand the content!

    1. How to navigate and learn from the course.

    2. Understand and try how Digital Math underlies science and industry, and allows prediction of the mathematical models governing reality.

    3. Galerkin's method part 1. Understand the finite element method in a familiar linear algebra setting. Learn how the finite elelement method is the best possible method for several classes of problems.

    4. Adaptive error control. Learn how to optimally apply the finite element discretization with adaptivity for fast and cheap computation.

    5. Get an overview of high performance and advanced predictive aerodynamics applications and learn about performance in an adaptive FEM and HPC setting.

    6. Understand the mechanism of flight, aerodynamics and turbulence and how to efficiently predict flight simulation with Real Flight Simulation in Digital Math.
  • The DigiMat Teacher Course Level 01

    Learning goals

    The DigiMat Teacher Course contains the following fundamental learning goals, which are the basis for all of Digital Math:

    1. Number representation [Basic] in first binary form making representation and arithmetic algorithms easy to understand.
    2. Arithmetic algorithms [Basic] constructed by repetition of the basic operation of +1 according the basic prototype of all computer programs of DigiMat in the form n = n + 1
    3. Time-stepping [Basic-Pro] automatically solving all (ordinary) mathematical models in the form x = x + v*dt
    4. Text programing [Basic-Pro] enabling the students to understand, modify and extend the algorithms and computer realizatons themselves.
    Course Plan
    1. Algorithms: binary addition and time stepping.
    2. Accessible text programming. Concrete activities: time-stepping vibration in a guitar string, binary addition in the "falling stair case simulation".
    3. Understanding and ability to yourself explain and demonstrate how programming of algoriths covers all of math - Digital Math.

      Concrete example: time stepping implies solution of mathematical models (differential equations) such as harmonic oscillator, which can be interpreted as trigonometry.

    4. Understanding and ability to yourself explain and demonstrate how time stepping covers all mathematical models (differential equations).

      Concrete example: time stepping solves/simulates: harmonic oscillator, gravitation/planet system, mass-spring system (elastic bodies), wave propagation, fluid mechanics, etc.

    5. Orientation of a large body of activities and material in DigiMat that build on 1-4 which you can adapt, build on yourself, etc. from your own interest and need to cover the entire course plan from pre-school to top academic level.

      A large number of add-on courses can be made on this initial Teacher Course based on the material in 5.

    Learning Activities
    1. Watch the trailer video at the top!
    2. Watch the introduction video above!
    3. In Ada's World: Carry out the binary addition algorithm in the "falling stair case simulation".
    4. In Ada's World: Carry out the timestepping algorithm in the "launching airplane simulation".
    5. Time-stepping vibration in a guitar string.

      Play with the Digital Math code for the time-stepping. Change the frequency/pitch value fr, what happens? Advanced: add "damping" to the guitar string by adding the term " - y*k" to the "y = y +"... line. Can you increase and decrease the damping?

    Seminar 01.01 (flipped-classroom)

    Tuesday October 13 16:00 CET Online together with the DigiMat team. Email jjan@kth.se if you want to participate!

    For Seminar 01.01 we strongly encourage you to spend 20-30 minutes on Learning Activities 1-5. We will then have a high-level discussion in the Serminar, where you have the opportunity to learn from your peers by sharing your experiences, and to interact with the DigiMat team.

    The DigiMat Teacher Course Level 02

    Learning goals

    The DigiMat Teacher Course contains the following fundamental learning goals, which are the basis for all of Digital Math:

    1. Number representation [Basic] in first binary form making representation and arithmetic algorithms easy to understand.
    2. Arithmetic algorithms [Basic] constructed by repetition of the basic operation of +1 according the basic prototype of all computer programs of DigiMat in the form n = n + 1
    3. Time-stepping [Basic-Pro] automatically solving all (ordinary) mathematical models in the form x = x + v*dt
    4. Text programing [Basic-Pro] enabling the students to understand, modify and extend the algorithms and computer realizatons themselves.
    Course Plan

    This is the course plan for DigiMat School which with good margin satisfies the new teaching plan 2018 in Sweden (with similar situations elsewhere globally) with programming as part of the math subject. The course plan has the same form for Middle School (Grundskola) and High School (Gymnasium), with differing breadth and depth.

    Programming gives completely new possibilities to give the math subject meaning for all students since the student herself builds the math in interaction with the computing power of the computer in what can be described as building and playing of virtual interactive worlds and games.

    Goal: To Describe-Simulate-Explore-Understand-Interact the Virtual World in the form of games and fantasy.

    Language: Formal math notation + programming language such as JavaScript.

    Content: Fantasy, Brain, Eyes, Fingers, Computer/Mobile device.

    1. Text programming in languages such as JavaScript, Python. Fundamental algorithms and data structures: variable, list, array, function, repetition, conditional, logic.
    2. Construction of natural numbers through iteration x = x + 1 med start x = 0
    3. Computing with natural numbers: addition, subtraction, multiplication.
    4. Text programming of computational algorithms in 2. Digital number representation starting with binary and then several bases.
    5. Digital construction of rational numbers as solutions to the equation px = q with p and q natural numbers. Text programming of computational algorithms for rational numbers: addition, subtraction, multiplication and division.
    6. Number representation of spatial position x: coordinate system, computer screen/pixels
    7. Motion: change of position: x = x + v*dt (or dx = v*dt) with v velocity and dt time steo.
    8. Change of motion: v = v + a*dt (or dv = a*dt) with a acceleration. Newton's second law: a = f/m where f is force and m mass.
    9. Digital construction of elementary functions (polynomials, sin, cos, exp, log, etc.) through text programming of time stepping of a = f/m, v = v + a*dt, x = x + v*dt with simple f.
    10. Properties of elementary functions through construction. Generalization to general f, for example by Newton's law of gravity.
    11. Digital representation of and operation on geometric objects in 2D and 3D.
    12. Digital representation of and operation on images and sounds, or other data.
    13. Calculus as solution of dx = f(x)*dt
    14. Linear algebra as generalization of 11.
    15. Construction/text programming of interactive virtual worlds/games which build on 1-14 with for example the following components:
      1. Dynamics of many bodies interacting by forces: friction, springs, gravity.
      2. Interaction via buttons, knobs, touch or accelerometer/gyroscope.
      3. Examples as Pong, Angry Birds, Flight Simulator, Pinball, Racing, Shooting, Pettson's Inventions, BikeRace, GeometryDash, Pool, Tennis, FlyBird, with and without use of physics engine.
    Learning Activities

    Follow the list of learning activities listed under DigiMat Basic and DigiMat School above!

    Seminar 02.01 (flipped-classroom)

    TBA Online together with the DigiMat team. Email jjan@kth.se if you want to participate!