# Posts

Short essays, ideas, events, notes

### Programming is difficult

Anyone can learn computer programming. It requires no special talent. I have seen several students starting from nothing (well, the baseline is school mathematics and at least one foreign language) and scoring top results at the end of the semester. However, doable is not the same as easy. What makes it difficult? Here is an argument about the challenge involved in the mental execution of source code.

Most people openly hate mathematics. I did that too, before university. The question is why? I think it is often taught badly. Once grades are involved, it is very difficult to get it right. One thing changed when I turned from a hater to a fan of math. I realized that there was a storyline in most examples. So, maybe we could put the narrative back. As a little example, here is a story of the quadrative formula.

# Publications

Peer reviewed journal papers, book chapters, conference proceedings

. The Algebraic View of Computation: Implementation, Interpretation and Time. Philosophies 2018, 3(2), 15, 2018.

. Finite Computational Structures and Implementations: Semigroups and Morphic Relations. IJNC Vol 7, No. 2, pp 318-335, 2017.

# 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

• Igo Math - Natural and Artifical Intelligence and the Game of Go MAT230 Course Information.

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