Programming is (should be) fun!
Register in advance for this webinar at
https://acm-org.zoom.us/webinar/register/9716598164260/WN_rytdvV-vQ2u8I9...
After registering, you will receive a confirmation email containing information about joining the webinar.
Abstract:
Programming is not coding! Programming is a medium for creative expression. Composing a good program can be an esthetic experience similar to writing a story, a piece of music, or poetry,
A good programming experience is an exploration of abstract design. A successful design requires careful choice of the levels of detail for each layer of a programming project. Some of these choices involve classical issues of philosophy, such as the status of referents of expressions, the meaning of quotation, the problems with negation, the power of self-reference, and the use (and danger) of abstraction. Well-composed programs can be effective at expressing emotional content as well. There are the beauties of symmetrical design, and the horrors of ugly kludges.
All programs have bugs, even ones that meet given specs (because the specs are always incomplete or inconsistent). Bugs are inevitable because the creation of buggy approximations is a crucial part of the design process. Thus, it is more effective to make systems that are debuggable than to try to make systems that are correct by construction.
In any case, we must keep the fun in programming and not allow it to become a tedious job.
Bio:
Gerald Jay Sussman is the Panasonic (formerly Matsushita) Professor of Electrical Engineering at the Massachusetts Institute of Technology. He received the S.B. and the Ph.D. degrees in mathematics from the Massachusetts Institute of Technology in 1968 and 1973, respectively. He has been involved in artificial intelligence research at M.I.T. since 1964. His research has centered on understanding the problem-solving strategies used by scientists and engineers, with the goals of automating parts of the process and formalizing it to provide more effective methods of science and engineering education. Sussman has also worked in computer languages, in computer architecture and in VLSI design.
Sussman is a coauthor (with Hal Abelson and Julie Sussman) of the introductory computer science textbook used at M.I.T. for 23 years. The textbook, ``Structure and Interpretation of Computer Programs,'' has been translated into French, German, Chinese, Polish, Japanese, and Korean. As a result of this and other contributions to computer-science education, Sussman received the ACM's Karl Karlstrom Outstanding Educator Award in 1990, and the Amar G. Bose award for teaching in 1992.
Sussman's contributions to Artificial Intelligence include problem solving by debugging almost-right plans, propagation of constraints applied to electrical circuit analysis and synthesis, dependency-based explanation and dependency-based backtracking, and various language structures for expressing problem-solving strategies. Sussman and his former student Guy L. Steele Jr. invented the Scheme programming language in 1975.
Sussman saw that Artificial Intelligence ideas can be applied to computer-aided design. Sussman developed, with his graduate students, sophisticated computer-aided design tools for VLSI. Steele made the first Scheme chips in 1978. These ideas and the AI-based CAD technology to support them were further developed in the Scheme chips of 1979 and 1981. The technique and experience developed was then used to design other special-purpose computers. Sussman was the principal designer of the Digital Orrery, a machine designed to do high-precision integrations for orbital-mechanics experiments. The Orrery was designed and built by a few people in a few months, using AI-based simulation and compilation tools.
Using the Digital Orrery, Sussman worked with Jack Wisdom to discover numerical evidence for chaotic motions in the outer planets. The Digital Orrery is now retired at the Smithsonian Institution in Washington DC. Sussman was also the lead designer of the Supercomputer Toolkit, another multiprocessor computer optimized for evolving systems of ordinary differential equations. The Supercomputer Toolkit was used by Sussman and Wisdom to confirm and extend the discoveries made with the Digital Orrery to include the entire planetary system.
Sussman has pioneered the use of computational descriptions to communicate methodological ideas in teaching subjects in Electrical Circuits and in Signals and Systems. Over the past decades Sussman and Wisdom have developed a subject that uses computational techniques to communicate a deeper understanding of advanced Classical Mechanics. Computational algorithms are used to express the methods used in the analysis of dynamical phenomena. Expressing the methods in a computer language forces them to be unambiguous and computationally effective. Students are expected to read our programs and to extend them and to write new ones. The task of formulating a method as a computer-executable program and debugging that program is a powerful exercise in the learning process. Also, once formalized procedurally, a mathematical idea becomes a tool that can be used directly to compute results. Sussman and Wisdom have produced a textbook, Structure and Interpretation of Classical Mechanics,'' and a monograph,
Functional Differential Geometry,'' to capture these ideas. The textbook is now in a second edition.
Sussman is a life fellow of the Institute of Electrical and Electronics Engineers (IEEE). He is a member of the National Academy of Engineering (NAE), a fellow of the American Association for Artificial Intelligence (AAAI), a fellow of the Association for Computing Machinery (ACM), a fellow of the American Academy of Arts and Sciences, and a fellow of the American Association for the Advancement of Science (AAAS).
This joint meeting of the Boston Chapter of the IEEE Computer Society and GBC/ACM will be online only due to the COVID-19 lockdown.
Up-to-date information about this and other talks is available online at https://ewh.ieee.org/r1/boston/computer/. You can sign up to receive updated status information about this talk and informational emails about future talks at https://mailman.mit.edu/mailman/listinfo/ieee-cs, our self-administered mailing list.