The impact of computers on our lives is obvious to everyone, while mathematical logic is an esoteric subject for most people. Yet the histories of mathematical logic and computers are tightly interwoven. I will discuss the connections between logic and computing, and how I use these connections in my teaching. I find that connecting logic and computing helps to motivate both mathematics and computer science majors. The students are surprised to learn that ideas developed by mathematicians studying abstract questions of logic turned out to be fruitful in the design of computers.
Teaching Mathematics and Computer Science Majors
The needs, goals and attitudes of mathematics and computer science students are somewhat different. I have tried in various ways to satisfy both camps in my Discrete Mathematics classes. My main goal for the mathematics majors is to develop their logical reasoning. To that end, I have my students write many short proofs for homework. Although I emphasize that logical reasoning is also important in programming and theoretical computer science, most of my computer science majors do not see theorem proving as a priority. To show computer science majors how discrete mathematics will be useful to them, my class includes examples of applications to computer science in areas such as digital logic circuits, the binary number system, logical programming languages, and analysis of algorithms. However, I do not want to do so much of this that the mathematics majors feel they are in a computer science course.