查看原文
其他

《计算机系统要素:从零开始构建现代计算机》中英文版

点此关注→ 码农真经 2023-12-25
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 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 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.

一本采用实践方法的教科书,引导学生逐步构建一个完整的、可以工作的计算机系统,包括硬件平台和软件层次。

在计算机科学的早期,硬件、软件、编译器和操作系统的相互作用非常简单,足以让学生看到计算机工作的全貌。随着计算机技术的日益复杂化和由此产生的知识专业化,这种清晰性往往会丧失。与其他只涉及该领域一个方面的课本不同,《计算机系统要素》给学生提供了一个综合的、严格的应用计算机科学的图景,因为它在构建一个简单而强大的计算机系统中发挥作用。

事实上,了解计算机如何工作的最好方法是从头开始建立一个,这本教科书通过12个章节和项目引导学生从头开始逐步建立一个基本的硬件平台和一个现代软件层次。在这个过程中,学生获得了硬件结构、操作系统、编程语言、编译器、数据结构、算法和软件工程方面的实践知识。利用这种建设性的方法,本书展示了大量的计算机科学知识,并展示了其他课程中教授的理论和应用技术是如何融入整个画面的。

本书旨在支持一个或两个学期的课程,基于抽象-实施范式;每章介绍一个关键的硬件或软件抽象,一个使其具体化的拟议实现,以及一个实际项目。新出现的计算机系统可以按照各章来构建,尽管这只是一种选择,因为这些项目是自成一体的,可以按照任何顺序完成或跳过。完成项目所需的所有计算机科学知识都包含在书中,唯一的前提条件是有编程经验。

本书的网站提供了建立文本中描述的所有硬件和软件系统所需的所有工具和材料,包括12个项目的200个测试程序。这些项目和系统可以被修改以满足各种教学需要,所有提供的软件都是开源的。

关注 码中人
点赞、转发、广告,更多优质资源等你来...
(计算机系统要素)

往期推荐

《极客与团队》软件工程师的团队生存秘笈

算法神探:一部谷歌首席工程师写的CS小说

Python编程 从入门到实践 第2版

JavaScript高级程序设计(第4版).pdf

程序员的被动收入方案

继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存