Information and Logic

IST 4
Spring 2008

Course Outline

"Design of information systems is nothing but common sense reduced to simple calculations and in turn to physical substrates," paraphrasing

"Probability theory is nothing but common sense reduced to calculation," Pierre-Simon Laplace (1749 - 1827).

"Everybody gets so much information all day long that they lose their common sense," Gertrude Stein (1874-1946).

Motivation for the new menu class:

I have realized through teaching and interactions with students that most of our undergraduate students (and graduate students... and some faculty...) do not understand the key ideas that support our ability to design and implement information systems. In fact, there are no good text books that explain it at a basic level and show the historical evolution of our ability to create this magic.

I plan to focus on the crucial mappings that enable this process and provide the historical perspective on this wonderful achievement. The progress in this area happened over the last 5000 years since the invention of number systems, with the most recent breakthrough happening in 1938 - Shannon's mappings of Boolean algebra to relay circuits.

The class should be useful to anyone, independent of their major. As we are accustomed to expect people to understand gravitation, kinematics, etc, we should expect them to understand the basic principles behind how their cell phone, computer, car, and basically, anything that digitally computes, controls and communicates information.

I believe that those understandings will help bridge the gap between the sciences and engineering. It will increase the awareness amongst science students that the abstractions that enable synthesis of information systems might also be useful for reasoning about natural systems.

Course description:

How do we make circuits (physics) compute and provide answers to human defined problems? The answer to this question consists of two parts: (i) transforming our ideas expressed in natural languages (our common sense) to calculus and (ii) mapping of the calculus to physics, namely, facilitating the implementation of the ideas in physical substrates.

The course explains the key concepts at the foundations of computing with physical substrates, including:

  • Representations of numbers
  • Boolean algebra as an axiomatic system
  • Boolean functions and their representations
  • Composition of functions and relations
  • Implementing functions with circuits
  • Circuit complexity
  • Representation of computational processes with state diagrams
  • State diagrams as a composition of Boolean functions and memory
  • Implementation of computational processes with finite state machines

The basic concepts covered in the course are connected to advanced topics like programming, computability, logic, complexity theory, information theory and biochemical systems.