English [en], .pdf, 🚀/lgli/zlib, 3.7MB, 📘 Book (non-fiction), lgli/Nisan, Noam & Shimon Schocken - The Elements of Computing Systems: Building a Modern Computer from First Principles.pdf
The elements of computing systems : building a modeern computer from first principles 🔍
MIT Press; The MIT Press, MIT Press, Cambridge, Mass, 2005
Nisan, Noam & Shimon Schocken 🔍
description
A textbook with a hands-on approach that leads students through the gradual construction of a complete and working computer system including the hardware platform and the software hierarchy.In the early days of computer science, the interactions of hardware, software, compilers, and operating system were simple enough to allow students to see an overall picture of how computers worked. With the increasing complexity of computer technology and the resulting specialization of knowledge, such clarity is often lost. Unlike other texts that cover only one aspect of the field, The Elements of Computing Systems gives students an integrated and rigorous picture of applied computer science, as its comes to play in the construction of a simple yet powerful computer system.Indeed, the best way to understand how computers work is to build one from scratch, and this textbook leads students through twelve chapters and projects that gradually build a basic hardware platform and a modern software hierarchy from the ground up. In the process, the students gain hands-on knowledge of hardware architecture, operating systems, programming languages, compilers, data structures, algorithms, and software engineering. Using this constructive approach, the book exposes a significant body of computer science knowledge and demonstrates how theoretical and applied techniques taught in other courses fit into the overall picture.Designed to support one- or two-semester courses, the book is based on an abstraction-implementation paradigm; each chapter presents a key hardware or software abstraction, a proposed implementation that makes it concrete, and an actual project. The emerging computer system can be built by following the chapters, although this is only one option, since the projects are self-contained and can be done or skipped in any order. All the computer science knowledge necessary for completing the projects is embedded in the book, the only pre-requisite being a programming experience.The book's web site provides all tools and materials necessary to build all the hardware and software systems described in the text, including two hundred test programs for the twelve projects. The projects and systems can be modified to meet various teaching needs, and all the supplied software is open-source.
Alternative author
Noam Nisan and Shimon Schocken
Alternative author
Nisan, Noam, Schocken, Shimon
Alternative publisher
AAAI Press
Alternative edition
1st MIT Press paperback edition. First MIT Press paperback edition, Cambridge Mass. ; London, 2008
Alternative edition
United States, United States of America
Alternative edition
Cambridge (Massachusetts), cop. 2005
Alternative edition
Cambridge, Ma, Massachusetts, 2005
Alternative edition
Cambridge, MA, United States, 2004
metadata comments
Includes bibliographical references and index.
Alternative description
In the early days of computer science, the interactions of hardware, software, compilers, and operating system were simple enough to allow students to see an overall picture of how computers worked. With the increasing complexity of computer technology and the resulting specialization of knowledge, such clarity is often lost. Unlike other texts that cover only one aspect of the field, The Elements of Computing Systems gives students an integrated and rigorous picture of applied computer science, as its comes to play in the construction of a simple yet powerful computer system.
Indeed, the best way to understand how computers work is to build one from scratch, and this textbook leads students through twelve chapters and projects that gradually build a basic hardware platform and a modern software hierarchy from the ground up. In the process, the students gain hands-on knowledge of hardware architecture, operating systems, programming languages, compilers, data structures, algorithms, and software engineering. Using this constructive approach, the book exposes a significant body of computer science knowledge and demonstrates how theoretical and applied techniques taught in other courses fit into the overall picture.
Designed to support one- or two-semester courses, the book is based on an abstraction-implementation paradigm; each chapter presents a key hardware or software abstraction, a proposed implementation that makes it concrete, and an actual project. The emerging computer system can be built by following the chapters, although this is only one option, since the projects are self-contained and can be done or skipped in any order. All the computer science knowledge necessary for completing the projects is embedded in the book, the only pre-requisite being a programming experience.
The book's web site provides all tools and materials necessary to build all the hardware and software systems described in the text, including two hundred test programs for the twelve projects. The projects and systems can be modified to meet various teaching needs, and all the supplied software is open-source.
Alternative description
In the early days of computer science, the interactions of hardware, software, compilers, and operating system were simple enough to allow students to see an overall picture of how computers worked. With the increasing complexity of computer technology and the resulting specialization of knowledge, such clarity is often lost. Unlike other texts that cover only one aspect of the field, The Elements of Computing Systems gives students an integrated and rigorous picture of applied computer science, as it comes to play in the construction of a simple yet powerful computer system.Indeed, the best way to understand how computers work is to build one from scratch, and this textbook leads students through twelve chapters and projects that gradually build a basic hardware platform and a modern software hierarchy from the ground up. In the process, the students gain hands-on knowledge of hardware architecture, operating systems, programming languages, compilers, data structures, algorithms, and software engineering. Using this constructive approach, the book exposes a significant body of computer science knowledge and demonstrates how theoretical and applied techniques taught in other courses fit into the overall picture.Designed to support one- or two-semester courses, the book is based on an abstraction-implementation paradigm; each chapter presents a key hardware or software abstraction, a proposed implementation that makes it concrete, and an actual project. The emerging computer system can be built by following the chapters, although this is only one option, since the projects are self-contained and can be done or skipped in any order. All the computer science knowledge necessary for completing the projects is embedded in the book, the only prerequisite being a programming experience.The book's Web site provides the tools and materials necessary to build all the hardware and software systems described in the text, including two hundred test programs for the twelve projects. The projects and systems can be modified to meet various teaching needs, and all the supplied software is open-source.
Alternative description
Unlike Other Texts That Cover Only One Aspect Of The Field, The Elements Of Computing Systems Gives Students An Integrated And Rigorous Picture Of Applied Computer Science, As It Comes To Play In The Construction Of A Simple Yet Powerful Computer Systems. Indeed, The Best Way To Understand How Computers Work Is To Build One From Scratch, And This Textbook Leads Students Through Twelve Chapters And Projects That Gradually Build A Basic Hardware Platform And A Modern Software Hierarchy From The Ground Up. In The Process, The Students Gain Hands-on Knowledge Of Hardware Architecture, Operating Systems, Programming Languages, Compilers, Data Structures, Algorithms, And Software Engineering. Using This Constructive Approach, The Book Exposes A Significant Body Of Computer Science Knowledge And Demonstrates How Theoretical And Applied Techniques Taught In Other Courses Fit Into The Overall Picture. Designed To Support One- Or Two-semester Courses, The Book Is Based On An Abstraction-implementation Paradigm; Each Chapter Presents A Key Hardware Or Software Abstraction, A Proposed Implementation That Makes It Concrete, And An Actual Project.--jacket. Introduction : Hello, World Below -- 1. Boolean Logic -- 2. Boolean Arithmetic -- 3. Sequential Logic -- 4. Machine Language -- 5. Computer Architecture -- 6. Assembler -- 7. Virtual Machine I : Stack Arithmetic -- 8. Virtual Machine Ii : Program Control -- 9. High-level Language -- 10. Compiler I : Syntax Analysis -- 11. Compiler Ii : Code Generation -- 12. Operating System -- 13. Postscript : More Fun To Go. Noam Nisan And Shimon Schocken. Includes Bibliographical References And Index.
Alternative description
The best way to understand how computers work is to build one from scratch, and this textbook leads learners through twelve chapters and projects that gradually build the hardware platform and software hierarchy for a simple but powerful computer system. In the process, learners gain hands-on knowledge of hardware, architecture, operating systems, programming languages, compilers, software engineering, and relevant algorithms and data structures. Using this constructive approach, the book introduces readers to a significant body of computer science knowledge and synthesizes key theoretical and applied techniques into one constructive framework. The outcome is known as Nand to Tetris. A journey that starts with the most elementary logic gate, called Nand, and ends, twelve projects later, with a general-purpose computer system capable of running Tetris and any other program that comes to your mind.
The first edition of this popular textbook inspired Nand to Tetris courses in many universities, coding boot camps, hacker clubs, and online course platforms. This second edition has been extensively revised. It has been restructured into two distinct parts. Part I, Hardware, and Part II, Software, with six projects in each part. All chapters and projects have been rewritten, with an emphasis on separating abstraction from implementation, and many new sections, figures, and examples have been added. Substantial new appendixes offer focused presentation on technical and theoretical topics.
Alternative description
*From Amazon:* In the early days of computer science, the interactions of hardware, software, compilers, and operating system were simple enough to allow students to see an overall picture of how computers worked. With the increasing complexity of computer technology and the resulting specialization of knowledge, such clarity is often lost. Unlike other texts that cover only one aspect of the field, *The Elements of Computing Systems* gives students an integrated and rigorous picture of applied computer science, as its comes to play in the construction of a simple yet powerful computer system.
date open sourced
2021-05-19
Read more…

🚀 Fast downloads

Become a member to support the long-term preservation of books, papers, and more. To show our gratitude for your support, you get fast downloads. ❤️
If you donate this month, you get double the number of fast downloads.

🐢 Slow downloads

From trusted partners. More information in the FAQ. (might require browser verification — unlimited downloads!)

  • For large files, we recommend using a download manager to prevent interruptions.
    Recommended download managers: JDownloader
  • You will need an ebook or PDF reader to open the file, depending on the file format.
    Recommended ebook readers: Anna’s Archive online viewer, ReadEra, and Calibre
  • Use online tools to convert between formats.
    Recommended conversion tools: CloudConvert
  • You can send both PDF and EPUB files to your Kindle or Kobo eReader.
    Recommended tools: Amazon‘s “Send to Kindle” and djazz‘s “Send to Kobo/Kindle”
  • Support authors and libraries
    ✍️ If you like this and can afford it, consider buying the original, or supporting the authors directly.
    📚 If this is available at your local library, consider borrowing it for free there.