Lecture 1A: Overview and Introduction to Lisp | Summary and Q&A

TL;DR
Computer science is not about computers, but rather a way of formalizing how-to knowledge using procedures. Lisp is a language specifically designed for this purpose.
Key Insights
- 💻 Computer science is a way of formalizing knowledge about processes and how-to knowledge, rather than a science or study of computers themselves.
- 😑 Lisp is a programming language designed specifically for expressing procedural knowledge and controlling complexity in large software systems.
- 👻 Procedures in Lisp can be defined, named, and used as if they were primitive elements, allowing for abstraction and modularity.
Transcript
[MUSIC PLAYING] PROFESSOR: I'd like to welcome you to this course on computer science. Actually, that's a terrible way to start. Computer science is a terrible name for this business. First of all, it's not a science. It might be engineering or it might be art, but we'll actually see that computer so-called science actually has a lot in common with... Read More
Questions & Answers
Q: Why is computer science not a science?
Computer science is not a science because it is primarily concerned with formalizing process and how-to knowledge, rather than studying natural phenomena or physical phenomena.
Q: How is computer science related to geometry?
Both computer science and geometry are concerned with formalizing knowledge and developing ways to talk precisely about truths and processes. Computer science focuses on how-to knowledge, while geometry focuses on declarative knowledge.
Q: How does Lisp allow for abstraction and modularity?
Lisp allows for abstraction and modularity through the use of procedures. Procedures can be defined, named, and used as if they were primitive elements, allowing for the creation of higher-level procedures and the control of complexity.
Q: Can procedures in Lisp refer to themselves?
Yes, procedures in Lisp can refer to themselves, which enables recursion and the ability to define iterative processes. This allows for the implementation of algorithms that require repetition or self-referential logic.
Summary & Key Takeaways
-
Computer science is not a science per se, but a way of formalizing intuitions about process and how-to knowledge.
-
Lisp is a programming language designed to express procedural knowledge and control complexity in large programs.
-
In Lisp, combinations of primitive procedures and data are used to build more complex procedures and data structures.
-
Procedures can be defined, named, and used as if they were primitive elements, allowing for abstraction and modularity.
-
Procedures in Lisp can refer to themselves, enabling recursion and the ability to define iterative processes.
Share This Summary 📚
Explore More Summaries from MIT OpenCourseWare 📚





