Introduction to Computing Systems: From Bits & Gates to C & Beyond

  • Authors:
  • Yale N. Patt;Sanjay J. Patel

  • Affiliations:
  • -;-

  • Venue:
  • Introduction to Computing Systems: From Bits & Gates to C & Beyond
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Introduction to Computing Systems: From bits & gates to C & beyond, now in its second edition, is designed to give students a better understanding of computing early in their college careers in order to give them a stronger foundation for later courses. The book is in two parts: (a) the underlying structure of a computer, and (b) programming in a high level language and programming methodology. To understand the computer, the authors introduce the LC-3 and provide the LC-3 Simulator to give students hands-on access for testing what they learn. To develop their understanding of programming and programming methodology, they use the C programming language. The book takes a "motivated" bottom-up approach, where the students first get exposed to the big picture and then start at the bottom and build their knowledge bottom-up. Within each smaller unit, the same motivated bottom-up approach is followed. Every step of the way, students learn new things, building on what they already know. The authors feel that this approach encourages deeper understanding and downplays the need for memorizing. Students develop a greater breadth of understanding, since they see how the various parts of the computer fit together. Table of contents 1 Welcome Aboard 2 Bits, Data Types, and Operations 3 Digital Logic Structures 4 The Von Neumann Model 5 The LC-3 6 Programming 7 Assembly Language 8 I/O 9 TRAP Routines and Subroutines 10 And, Finally...The Stack 11 Introduction to Programming in C 12 Variables and Operators 13 Control Structures 14 Functions 15 Testing and Debugging 16 Pointers and Arrays 17 Recursion 18 I/O in C 19 Data Structures Appendix A The LC-3 ISA Appendix B From LC-3 to x86 Appendix C The Microarchitecture of the LC-3 Appendix D The C Programming Language Appendix E Useful Tables Appendix F Selected Solutions (available at website)