# Posts

Short essays, ideas, events, notes

### New course 'Poetry of Programming' took off

Poetry of Programming - Puzzle-based Introduction to Functional Programming This course at AIU aims to share the empowering and fun experience of writing computer programs. It is a gentle introduction to functional programming (in Clojure https://clojure.org/), which is based on very simple mathematical ideas and it is currently gaining widespread adoption in software industry. According to stackoverflow, it also appears to be well-paid. https://stackoverflow.com/insights/survey/2017#technology-top-paying-technologies-worldwide Is this course for you? First of all, you do NOT need any previous programming experience.

### An algebraic view of computation

I am not particularly interested in doing philosophy, as my research is about using computers to extend mathematical knowledge. But it turns out that this involves questions that are not mathematical or technical, but of fundamental nature. I write code and run computer experiments all the time, so the question `What is computation?’ is on my mind continuously. Here is an attempt, a draft version of a somewhat philosophical paper to address the question for the $(n+1)$th time.

# Publications

Peer reviewed journal papers, book chapters, conference proceedings

### 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

### Enumerating Transformation Semigroups

We describe general methods for enumerating subsemigroups of finite semigroups and techniques to improve the algorithmic efficiency of the calculations. As a particular application we use our algorithms to enumerate all transformation semigroups up to degree 4. Classification of these semigroups up to conjugacy, isomorphism and anti-isomorphism, by size and rank, provides a solid base for further investigations of transformation semigroups.
Semigroup Forum (accepted)

# 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). Syllabus, tutorial notes draft.

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