Synopses & Reviews
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.
Synopsis
Introduction to Computing Systems: From bits and gates to C and 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
Part I
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...
Part II
11 Introduction to Programming in C
12 Variables and Operators
13 Control Structures
14 Functions
15 Debugging
16 Recursion
17 Pointers and Arrays
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 Extending C to C++
Appendix F Useful Tables