Contents and preface (pdf file)

Link to multimedia for The Universal Machine

The Universal Computer:
Introducing Computer Science with Multimedia

Glenn D. Blank, Robert F. Barnes and Edwin J. Kay, Lehigh University
McGraw-Hill/Primis, 2003, 266 pages, ISBN 0072941499


A Multimedia Introduction to C++
Glenn D. Blank, Lehigh University
McGraw-Hill/Primis, 2003
, 200 pages, ISBN 0072971657


The Universal Computer (the book and accompanying multimedia) has two major goals:

(1) To explore the breadth of computing as a discipline, ranging from computer architecture to artificial intelligence. (It can serve as either the primary text of a CS0 course or supplementary material for a CS1 course. A narrow concentration on programming can lead to a misconception that computer science is little more than programming. The first chapter opens by addressing many common misconceptions.) Computing Curricula 2001 acknowledges that "even though the Computing Curricula 1991 report argued strongly for a broader introduction to the discipline, the majority of institutions continue to focus on programming in their introductory sequence." Nevertheless, the new report notes that a 'breadth-first' approach can "provide a more holistic view of the discipline, many computer science educators have argued for a 'breadth-first' approach in which the first course considers a much broader range of topics." The multimedia introduces students to wide range of breadth material very effectively.

(2) To encourage students to see and practice software development as systematic problem solving. Chapter 2 examines alternative approaches to problem solving, then gives students an opportunity to practice these approaches using a relatively simple graphical robot simulation called Knobby's World. Knobby is a cousin of Karel and Karel++, designed to introduce programming as problem solving. Chapter 4 studies the software development life cycle and a modern, object-oriented approach to problem solving and software development. Chapter 8 introduces user interface and web design, giving students practical and experience evaluating user interfaces and designing web pages using HTML, JavaScript and Flash.

The goal of A Multimedia Introduction to C++ (which is also a book and multimedia on CDROM) is to provide an introduction to computer programming in a subset of C++. Since C++ was not intended as an instructional language, it can be rather daunting for beginners. We therefore provide extensive multimedia, using graphics, animation and interactivity to engage learners, and exercise screens which load C++ programs in the integrated LOOKOUT programming environment. LOOKOUT sends valid programs on to DJGPP C++ compiler, integrated in the environment, and automatically links in a small, easy to use class library designed to encourage beginners to use classes early. When a student is confused about an error message, LOOKOUT can provide error message help, finding a detailed description of the message and how to fix it.


  1. Introducing … the Universal Computer
    Common misconceptions about computer science. Connotations of “universal computer.” The very idea of the universal machine (Turing machines, bits and bytes). Anatomy of a computer. Faces of a computer.
  2. Problem solving before programming
    Problem solving strategies. Algorithms: paths through problem space. Preliminary analysis. Hacking through jungles. Analytical decomposition. Analogical problem solving. Knobby’s World: a gentle introduction to programming.
  3. Programming languages and their translators
    Language structures. Languages for solving problems. Translators: compilers and interpreters. Exploring programming languages.
  4. Software engineering
    Programming-in-the large. The “waterfall” life cycle. Analysis of requirements. Use cases. Design. Classes and UML. Implementation and testing. Delivery and maintenance. Alternatives: iterative and incremental life cycles and extreme programming.
  5. Peeling the onion: computer architecture
    Layers of computers. The register machine processor. Boolean circuits. Building a RM from boolean circuits. Connecting the processor: memory, controllers, and multi-processors.
  6. Operating systems, networks and security (these are two chapters in the multimedia)
    From batches to networks. Booting. Operating system architecture. Network topologies. Local and wide area networks and the Web. Security matters: passwords, encryption and viruses.
  7. Analyzing algorithms (new multimedia for this chapter will become available summer of 2004)
    Sorting and searching. Recursive algorithms. Complexity and “Big O” analysis.
  8. User interface and web design
    User interfaces and criteria for usability. HTML and web pages. JavaScript and Dynamic HTML. Flash animation. ActionScript and interactivity.
  9. Social and ethical issues
    Computers and society. Computers and privacy. Computers and legal issues. Computers and ethical issues.
  10. Artificial Intelligence
    What is intelligence? The Turing test. Searching for solutions. Inference Engines. Neural networks. Agents.

The preface and chapter 1 of The Universal Computer are available in PDF form,
as well as the preface and the second chapter of Multimedia Introduction to C++.
The interactive e-learning multimedia is available via the web or CD-ROM. Check out sample multimedia on the web.
Please contact "glenn dot blank at lehigh dot edu" if you would are an instructor interested in reviewing all of the multimedia or if you would like to make other suggestions about this ongoing project.


Request copies from
Dennis Sawicki, Field Publisher,, (202) 546-2527


Interactive e-learning multimedia complementing chapters in textbook.
Web-based chapter quizzes and web-based tracking of multimedia.
Over 700 problem exercises embedded in text.
Review questions at the end of every chapter, with answers available on web.
Social and ethical issues, raised in questions throughout the book and chapter.
Possible term project ideas introduced early, in chapter 2.


CS0 (Survey of Computer Science) at Lehigh: course description, syllabus, resources, assignments, sample exam questions
CS1 (Introduction to Computer Science with C++): course description, syllabus, resources, assignments, sample exam questions
Answers to chapter review questions
Web links for The Universal Computer (organized by chapter)
Materials for instructors, including Powerpoint lecture notes and chapter exercise solutions (e-mail "glenn dot blank at lehigh dot edu" for password)
A paper detailing development and significant results using The Universal Computer (PDF format)
Errata (errors in text will be corrected in next edition, errors in software are corrected immediately in the web-based version)


Both text and multimedia are customizable, for different possible uses: CS0, CS1, advanced high school, or independent study. You do not have to cover all this material! (We are just starting a project that will adapt some of the multimedia for use in sixth grade.)
Multimedia facilitates self-learning, so instructors can hope to cover more content in an introductory course.
CS0 courses (non-majors) use The Universal Computer (book and multimedia) to survey breadth of Computer Science.
CS1 courses (majors) can use The Universal Computer along with A Multimedia Introduction to C++ to introduce programming. (We are also planning A Multimedia Introduction to Java.) The current multimedia already includes material introducing Java and C++. The Universal Computer integrates BlueJ and JavaEdit for Java, LOOKOUT for C++. (At Lehigh University, we devote one lecture per breadth and problem solving chapter, two or three per C++ or Java chapter, and rely heavily on multimedia laboratory and self-study to supplement lectures.)
Multimedia can be used independently of the text, to supplement other textbooks.
Multimedia delivered via the web and CD-ROM. Schools can also make arrangements with the lead author to create logins at Lehigh, or to install multimedia in university or high school computer laboratories.

Lead's author's home page

Contact Author