A Functional Introduction To Computer Science
This is a very mathematically inspired introduction, as they say in the initial chapter.What I would like to see is a logical introduction to computer science, or at least theoretical computer science.Start with combinational logic [1], i.e. with Boolean circuits. They are both conceptually simple and relatively close to physical transistors, unlike any functional / mathematical approach. Then move on to sequential logic[2] which allows the introduction of memory/states, e.g. via flip-flops. From this, more complex circuits and even a primitive GOTO language would be introduced. What I would be interested in is how these circuits relate to the traditional models of computation, i.e. finite state machines, pushdown automatons and Turing machines. Not very cleanly, I suspect.[1] https://en.wikipedia.org/wiki/Combinational_logic[2] https://en.wikipedia.org/wiki/Sequential_logic