Key features new! earlier exposure to programming languages and paradigms, allowing students to become aware of their power and their limitations. New! students will have an opportunity to write programs in one or more new languages much earlier in the course, thus giving them an opportunity to become proficient in alternative styles of programming. New! the material on the history of programming languages in chapter 2 has been condensed and moved to chapter 1, thus shortening the book by one chapter. A brief discussion of machine language and assembly language has also been added to this chapter. New! a case study on the design of python, a popular general-purpose scripting language, now follows the case study on c++ in chapter 2. The two case studies illustrate the tradeoffs that occur when designing new languages. New! the chapter on object-oriented programming is now the last of the three chapters on programming paradigms instead of the first one. The order of these chapters now reflects the increasing complexity of the underlying models of computation of each programming paradigm (functions, logic, objects). New! object-oriented programming in chapter 5 is now introduced with smalltalk rather than java. This new order of presentation will allow students to learn how a language was cleanly built around object-oriented concepts, before they see the tradeoffs and compromises that designers had to make in designing java and c++. New! the section on logical constraint languages in the chapter on logic programming has been replaced with a discussion of the functional logic language curry. New! beginning in chapter 6, on syntax, and extending through the chapters 7-10, on semantics, new end-of-chapter sections present a case study of a parser for a small language that resembles ada.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.