In Great Ideas in Computer Science- A Gentle Introduction, Alan Biermann presents the ""great ideas"" of computer science that together comprise the heart of the field. He condenses a great deal of complex material into a manageable, accessible form. His treatment of programming, for example, presents only a few features of Pascal and restricts all programs to those constructions. Yet most of the important lessons in programming can be taught within these limitations. The student's knowledge of programming then provides the basis for understanding ideas in compilation, operating systems, complexity theory, noncomputability, and other topics. Whenever possible, the author uses common words instead of the specialized vocabulary that might confuse readers.
Readers of the book will learn to write a variety of programs in Pascal, design switching circuits, study a variety of Von Neumann and parallel architectures, hand simulate a computer, examine the mechanisms of an operating system, classify various computations as tractable or intractable, learn about noncomputability, and explore many of the important issues in artificial intelligence.
This second edition has new chapters on simulation, operating systems, and networks. In addition, the author has upgraded many of the original chapters based on student and instructor comments, with a view toward greater simplicity and readability.
By:
Alan W. Biermann (Duke University)
Imprint: MIT Press
Country of Publication: United States
Edition: second edition
Dimensions:
Height: 224mm,
Width: 203mm,
Spine: 30mm
Weight: 1.179kg
ISBN: 9780262522236
ISBN 10: 0262522233
Series: Great Ideas in Computer Science
Pages: 566
Publication Date: 06 March 1997
Recommended Age: From 18 years
Audience:
College/higher education
,
Professional and scholarly
,
Professional & Vocational
,
A / AS level
,
Further / Higher Education
Format: Paperback
Publisher's Status: Active
Studying academic computer science - an introduction: rumours; studying computer science; special software for nonmathematical readers. Part 1 An introduction to programming - coding decision trees: good news; decision trees; getting started in programming; reading and storing data; programming decision trees; the arrow notation and its uses; summary. Part 2 Text manipulation and algorithm design: what is text manipulation? algorithms and program design for text manipulation; string and integer data types; more text manipulation; programming text-editing functions; first attempts at a loop; building the editor; building a conversation machine; Turbo Pascal; summary. Part 3 Numerical computation and a study of functions: let us calculate some numbers; simple calculations; functions; looping and a study of functions; searching for the best value; storing information in arrays; finding sums, minima, and maxima; patterns in programming; putting things in a row and a special characteristics of functions; putting the functions in a row; summary. Part 4 Top-down programming, subroutines, and a database application: let us solve a mystery; top-down programming and the database program; subroutines; subroutines with internal variables; subroutines with array parameters; subroutine communication examples; storing and printing facts for the database; representing questions and finding their answers; assembling the database program and adding comments; another application - drawing a picture with Pascal; recursion; object-oriented programming; summary. Part 5 Simulation: predicting the future; winning an auto race; avoiding the plague; observing evolution; why will it look like? summary. Part 6 Software engineering: the real world; lessons learned from large-scale programming projects; software engineering methodologies; the program life cycle; summary. Part 7 Electric circuits: how do computers work? computer organization; circuits for computing primitive functions; circuits for computing complex functions; relays; the binary number system; the circuits for adding two digits; the adder circuit; storing characters in memory; transistors and very large scale integration; summary. Part 8 Machine architecture: let us build a computer; a sample architecture - the P88 machine; programming the P88 machine; summary. Part 9 Language translation: enabling the computer to understand Pascal; syntactic production rules; attaching semantics to the rules; the semantics of Pascal; the translation of looping programs; programming languages; summary. (Part contents).
Alan W. Biermann is Professor of Computer Science at Duke University. He is also the author of the first two editions of Great Ideas in Computer Science (MIT Press, 1990, 1997).