In support of a School of Computing at MIT
MIT Turing laureates wrote a letter to the editor in September calling for the establishment of a School of Computing at MIT. EECS Professor Srini Devadas responds.
The mission of a School of Computing or an Institute-wide computing initiative should be to understand computing in all its forms, advance computing technology to support engineering, science and the humanities, educate students to be innovators of computing technology, and inform the public in the state-of-the-art of computing.
But what is computing? It means different things to different people. Computer science is the theory, design, and use of machine intelligence, including all types of algorithmic processes. Computing is much more than computer science.
Computing includes developing computational methods to advance the physical sciences, mathematics, finance, arts, and the humanities. It includes modeling and simulating the world around us so we can understand it better: from hurricanes to black holes, from brains to E coli. Deriving mathematical or symbolic models may require the computational processing of huge quantities of noisy data from physical phenomena, and these models can then be simulated on modern computers to better understand these physical phenomena. Computational modeling has already revolutionized everything from civil engineering to astronomy and is now essential to the growth of virtually every field of engineering and science.
Computing technology has advanced largely due to the exponential improvements in computational power provided by Moore's Law. To achieve truly intelligent machines, to finely control robots capable of humanoid motion, to accurately predict weather patterns, or to synthesize biological machines, we need to sustain this geometric rate of growth for the next few decades. This will require continued development of silicon-based computers, as well as the development of alternate technology platforms, e.g., quantum, biological, or Gallium Nitride, that are dramatically better for specific uses in which silicon computers are currently inadequate. Physicists, material scientists and electrical engineers will need to contribute to this development just as the development of existing silicon substrates required their contributions.
Computing is thus not contained in engineering or science, but has become crucial to the advancement of engineering and science. Moreover, it now impacts fields as varied as economics (see the new 6-14 major) and music technology (see MIT Music and Theater classes) and has recently resulted in the creation of fields such as computational journalism.
To create the next generation of technologists to advance computing in all its forms, we need to start early, i.e., in freshman year, and teach our undergraduates to reason analytically and think computationally. This does not mean that they all need to become expert programmers, though programming does come easily to analytical and computationally-minded people. Rather, students need to first learn the skills of abstracting away detail from complex systems, inferring properties or rules of a game, and analyze sequences of steps that follow these rules, possibly specified as an algorithm. A more advanced skill is to be able to derive a representation that is a faithful abstraction of a complex system, conforming to its rules of operation. Coding this representation in a programming language allows anyone to harness the power of modern computers to understand, modify or improve the system. Of course, students need significant field-specific skills in order to use computing to advance any particular field.
Structured properly, a School of Computing or an Institute-wide computing initiative focused on education and research in computing technology would prove of great benefit to the Institute.
Srini Devadas
Edwin Sibley Webster Professor of Electrical Engineering and Computer Science, CSAIL