Author | : Brian Harvey |
Publisher | : |
Total Pages | : 388 |
Release | : 1997 |
Genre | : Computer programming |
ISBN | : |
Author | : Brian Harvey |
Publisher | : |
Total Pages | : 388 |
Release | : 1997 |
Genre | : Computer programming |
ISBN | : |
Author | : Sivarama P. Dandamudi |
Publisher | : Springer Science & Business Media |
Total Pages | : 1065 |
Release | : 2006-05-31 |
Genre | : Technology & Engineering |
ISBN | : 0387215662 |
A new advanced textbook/reference providing a comprehensive survey of hardware and software architectural principles and methods of computer systems organization and design. The book is suitable for a first course in computer organization. The style is similar to that of the author's book on assembly language in that it strongly supports self-study by students. This organization facilitates compressed presentation of material. Emphasis is also placed on related concepts to practical designs/chips. Topics: material presentation suitable for self- study; concepts related to practical designs and implementations; extensive examples and figures; details provided on several digital logic simulation packages; free MASM download instructions provided; and end-of-chapter exercises.
Author | : Justin Zobel |
Publisher | : Taylor & Francis |
Total Pages | : 292 |
Release | : 2004-06-03 |
Genre | : Computers |
ISBN | : 9781852338022 |
A complete update to a classic, respected resource Invaluable reference, supplying a comprehensive overview on how to undertake and present research
Author | : Brian Harvey |
Publisher | : MIT Press |
Total Pages | : 620 |
Release | : 1999 |
Genre | : Computers |
ISBN | : 9780262082815 |
Showing off scheme - Functions - Expressions - Defining your own procedures - Words and sentences - True and false - Variables - Higher-order functions - Lambda - Introduction to recursion - The leap of faith - How recursion works - Common patterns in recursive procedures - Advanced recursion - Example : the functions program - Files - Vectors - Example : a spreadsheet program - Implementing the spreadsheet program - What's next?
Author | : Matthias Felleisen |
Publisher | : MIT Press |
Total Pages | : 793 |
Release | : 2018-05-25 |
Genre | : Computers |
ISBN | : 0262344122 |
A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This introduction to programming places computer science at the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process, presenting program design guidelines that show the reader how to analyze a problem statement, how to formulate concise goals, how to make up examples, how to develop an outline of the solution, how to finish the program, and how to test it. Because learning to design programs is about the study of principles and the acquisition of transferable skills, the text does not use an off-the-shelf industrial language but presents a tailor-made teaching language. For the same reason, it offers DrRacket, a programming environment for novices that supports playful, feedback-oriented learning. The environment grows with readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks. This second edition has been completely revised. While the book continues to teach a systematic approach to program design, the second edition introduces different design recipes for interactive programs with graphical interfaces and batch programs. It also enriches its design recipes for functions with numerous new hints. Finally, the teaching languages and their IDE now come with support for images as plain values, testing, event-driven programming, and even distributed programming.
Author | : Chris Hanson |
Publisher | : MIT Press |
Total Pages | : 449 |
Release | : 2021-03-09 |
Genre | : Computers |
ISBN | : 0262362473 |
Strategies for building large systems that can be easily adapted for new situations with only minor programming modifications. Time pressures encourage programmers to write code that works well for a narrow purpose, with no room to grow. But the best systems are evolvable; they can be adapted for new situations by adding code, rather than changing the existing code. The authors describe techniques they have found effective--over their combined 100-plus years of programming experience--that will help programmers avoid programming themselves into corners. The authors explore ways to enhance flexibility by: Organizing systems using combinators to compose mix-and-match parts, ranging from small functions to whole arithmetics, with standardized interfaces Augmenting data with independent annotation layers, such as units of measurement or provenance Combining independent pieces of partial information using unification or propagation Separating control structure from problem domain with domain models, rule systems and pattern matching, propagation, and dependency-directed backtracking Extending the programming language, using dynamically extensible evaluators
Author | : Kai-Tai Fang |
Publisher | : CRC Press |
Total Pages | : 304 |
Release | : 2005-10-14 |
Genre | : Mathematics |
ISBN | : 1420034898 |
Computer simulations based on mathematical models have become ubiquitous across the engineering disciplines and throughout the physical sciences. Successful use of a simulation model, however, requires careful interrogation of the model through systematic computer experiments. While specific theoretical/mathematical examinations of computer experim
Author | : Franklyn Turbak |
Publisher | : MIT Press |
Total Pages | : 1347 |
Release | : 2008-07-18 |
Genre | : Computers |
ISBN | : 0262303159 |
Key ideas in programming language design and implementation explained using a simple and concise framework; a comprehensive introduction suitable for use as a textbook or a reference for researchers. Hundreds of programming languages are in use today—scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming activity that bears certain similarities to programming in a regular language, with clarity and simplicity even more important than in ordinary programming. This comprehensive text uses a simple and concise framework to teach key ideas in programming language design and implementation. The book's unique approach is based on a family of syntactically simple pedagogical languages that allow students to explore programming language concepts systematically. It takes as premise and starting point the idea that when language behaviors become incredibly complex, the description of the behaviors must be incredibly simple. The book presents a set of tools (a mathematical metalanguage, abstract syntax, operational and denotational semantics) and uses it to explore a comprehensive set of programming language design dimensions, including dynamic semantics (naming, state, control, data), static semantics (types, type reconstruction, polymporphism, effects), and pragmatics (compilation, garbage collection). The many examples and exercises offer students opportunities to apply the foundational ideas explained in the text. Specialized topics and code that implements many of the algorithms and compilation methods in the book can be found on the book's Web site, along with such additional material as a section on concurrency and proofs of the theorems in the text. The book is suitable as a text for an introductory graduate or advanced undergraduate programming languages course; it can also serve as a reference for researchers and practitioners.
Author | : Harry R. Lewis |
Publisher | : MIT Press |
Total Pages | : 518 |
Release | : 2021-02-02 |
Genre | : Computers |
ISBN | : 026236221X |
Classic papers by thinkers ranging from from Aristotle and Leibniz to Norbert Wiener and Gordon Moore that chart the evolution of computer science. Ideas That Created the Future collects forty-six classic papers in computer science that map the evolution of the field. It covers all aspects of computer science: theory and practice, architectures and algorithms, and logic and software systems, with an emphasis on the period of 1936-1980 but also including important early work. Offering papers by thinkers ranging from Aristotle and Leibniz to Alan Turing and Nobert Wiener, the book documents the discoveries and inventions that created today's digital world. Each paper is accompanied by a brief essay by Harry Lewis, the volume's editor, offering historical and intellectual context.