# Posts

Short essays, ideas, events, notes

### Mathematics of the Digital World

I start every course with a sort of philosophical introduction. It is usually about asking `What is the most important idea of …?’, and by trying to answer the question, I can give an overview of the whole course. Today I started a computing-focused discrete math course, so the question was:

What is the most fundamental idea of digital computation?

This handout is an attempted answer.

### How to code it? - Functional programming & problem solving heuristics

Opinions differ about the relationship of mathematics and programming. Depending on temperament, one might say that they are essentially the same as both strive for understanding in a precise formal manner. Or, it can be argued that practical engineering goals are rather different from aiming for unquestionable proofs. Functional programmers, in particular, are probably more comfortable with the connection. They tend to know that some mathematical constructs like lambda calculus, or whole theories like category theory form the basis of their favourite languages.

# Publications

Peer reviewed journal papers, book chapters, conference proceedings

### Finite Computational Structures and Implementations: Semigroups and Morphic Relations

What is computable with limited resources? How can we verify the correctness of computations? How to measure computational power with precision? ...
IJNC Vol 7, No. 2, pp 318-335

### Maximum likelihood estimates of pairwise rearrangement distances

Accurate estimation of evolutionary distances between taxa is important for many phylogenetic reconstruction methods. In the case of bacteria, distances can be estimated using a range of different evolutionary models, from single nucleotide polymorphisms to large-scale genome rearrangements. In the case of sequence evolution models (such as the Jukes-Cantor model and associated metric) have been used to correct pairwise distances. Similar correction methods for genome rearrangement processes are required to improve inference. Current attempts at correction fall into 3 categories: Empirical computational studies, Bayesian/MCMC approaches, and combinatorial approaches. Here we introduce a maximum likelihood estimator for the inversion distance between a pair of genomes, using the group-theoretic approach to modelling inversions introduced recently. This MLE functions as a corrected distance: in particular, we show that because of the way sequences of inversions interact with each other, it is quite possible for minimal distance and MLE distance to differently order the distances of two genomes from a third. This has obvious implications for the use of minimal distance in phylogeny reconstruction. The work also tackles the above problem allowing free rotation of the genome. Generally a frame of reference is locked, and all computation made accordingly. This work incorporates the action of the dihedral group so that distance estimates are free from any a priori frame of reference.
Journal for Theoretical Biology 10.1016/j.jtbi.2017.04.015

# Teaching

Due to the rapid changes in our technological societies the aims of teaching and the teaching process itself need to be rethought again and again. The response is twofold: 1. fast moving, rapidly deployed courses and 2. focusing on core knowledge versus ephemeral ideas and technologies. The challenge is that these two requirements might be in conflict.

Currently I teach at Akita International University.

## Courses I designed

• Poetry of Programming - puzzle based introduction to functional programming (MAT245). Course Information.

• Mathematics for the digital world (MAT240 Mathematics behind the technological society). Syllabus

• Calculus (MAT250) Single variable calculus up to the Fundamental Theorem of Calculus. Syllabus

• College Algebra (MAT150) From set theory up to $e^{\pi i}+1=0$.

• Statistics (MAT200)

## Previous courses

• Social Web Analytics

• Computational Complexity

• Discrete Mathematics

• Differential Calculus

• Semigroup Theory, Representation Theory (graduate courses)

• Formal Languages and Automata

• Linear Algebra

• Programming (C#)

• Design and Analysis of Algorithms

• Operating Systems, Shell Programming

• $\LaTeX$

• supervising MSc projects in Computer Science

• Artificial Life (guest lecture)

• Programming (C, Java)