Foundations of Computer Engineering, Edition 1 By Marilyn Wolf, Ph.D., Electrical
Engineering, Stanford University
1 Part Instructor's Manual
2 Part Instructor's Manual
3 Part Instructor's Manual
Chapter 1: Hardware and Software
1. Give an example of a computing service supplied by a data center.
Shopping, credit card transactions, video streaming, banking.
2. Give an example of a computing application that makes use of both a personal computer and a
data center.
Bank account access, video streaming, shopping.
3. Give an example of an Internet-of-Things device.
Video doorbell, thermostat.
4. Give an example of an application that makes use of an Internet-of-Things device connected by a
network to another computer.
Video doorbell, remote control doorbell.
5. Can the block diagram of a computer system in Figure 1.15 be expanded to include two CPUs?
Explain your answer.
Yes, both CPUs can be connected to the bus.
6. Give an example of an I/O device.
Mouse, keyboard, display, storage device.
7. Redraw the block diagram of Figure 1.15 to include a graphics unit and a touchpad.
,8. Where does an executable program reside in Figure 1.15?
The executable program resides in memory.
9. Draw a UML object diagram of a two-function calculator that performs addition and subtraction.
Include the keyboard, display, and calculator application.
10. Draw a UML sequence diagram for performing 2 + 3 = 5 on the two-function calculator.
,11. Draw a UML state diagram for the two-function calculator application.
12. Give an example of a computer application that exhibits each of these trade-offs:
a. Low cost, simple computing.
Garage door opener.
b. Moderate cost, general-purpose computing, flexible I/O.
Laptop.
c. Moderate cost, communication-centric computing, low power consumption.
Smartphone.
d. High-performance computing, large memory capacity.
Data center server.
13. Write each of the digits 0 through 7 as a byte.
0: 00000000
1: 00000001
, 2: 00000010
3: 00000011
4: 00000100
5: 00000101
6: 00000110
7: 00000111
14. Write each of these decimal numbers as a sixteen-bit number:
a. 15
0000000000001111
b. 16
0000000000010000
c. 2047
0000011111111111
d. 3333
0000110100000101
e. 10352
0010100001110000
15. How many bits are required to represent the 26 characters of the Roman alphabet?
, enough for the 26 characters plus room for several others.
16. What role does an operating system play in the operation of a computer system?
The operating system manages resources including the CPU, memory, storage, and I/O devices.
17. Draw a UML state diagram for a blinking light that blinks three dots (…). Show each operation as
a state.
18. Give three utilities provided by an integrated development environment.
Program editor and syntax checker, compiler, linker, loader, debugger.
19. Can an integrated development environment run on the same computer for which the program is
being developed?
Yes, integrated development environments have been built to support Windows and Mac
development.
20. A program includes a bug caused by testing the wrong variable in an if statement. Describe how
you can identify this bug:
a. Without using a debugger.
Output statements can be added to indicate when the program executes a certain path.
These statements can help to isolate where the program takes the wrong path.
b. Using a debugger.
The debugger will allow breakpoints or single-stepping that allow you to view the
program’s execution path as it runs.
Chapter 2: Operating Systems and Applications
1. What capabilities are provided by the operating system on your laptop computer?