Home page of Holt Software Associates  | Home page of the Turing Programming Language, the fastest way to teach programming concepts  | Home page of Holt Software's Java products  | Home page of Ready to Program with Java(tm) Technology, a Java development environment designed for education  | Information about Holt Software's courses for teachers  | Information about how to contact Holt Software  | Information about how students can purchase Holt Software's books and software  | Information about how schools and bookstores can purchase Holt Software's books and software

Holt Software Books    [Graphical Version]  |  [Printer Friendly Version]

[Cover of Book]

Computer Engineering: An Activity-Based Approach, Second Edition


Book Information

Title: Computer Engineering: An Activity-Based Approach, Second Edition
Authors: Graham Smyth and Christine Stephenson
ISBN: 0-921598-46-7
Publisher: Holt Software Associates Inc.
Binding: Softcover
Pages: 520 pgs
Price: Bookstores & Schools: $35.00    Retail: $47.50
Ordering Information: For bookstores and schools, click here for ordering information.
For individuals click here for ordering information.
Program Examples: Available [Click here for information on obtaining program examples found in Holt Software publications.]
Solutions Manual: Available [Click here for information on obtaining Solutions Manuals for Holt Software publications.]

Book Description

Designed for use in the Computer Engineering courses in Grades 10 and 11.

This textbook is designed to introduce students to the fundamental concepts shared by courses in Computer Engineering, Computer Electronics and Computer Hardware and Interfaces. This text, by two long-time Computer Studies educators, combines foundational knowledge with practical skills in areas such as integrated circuits, interfaces, networking, and programming. The book introduces all the exciting aspects of the discipline and sets them in context using relevant hands-on activities and projects for students to complete.

The second edition adds 65 pages including material on safe computer use, more explanations on how circuits work, more detailed wiring instructions and an index.

Note, Networks, Interfaces, and Integrated Circuits is a companion volume designed for the Grade 12 ICE4M course.


Correlations with Ontario Computer Studies Curriculum

Holt Software has examined the Second Edition of Computer Engineering: An Activity-Based Approach and correlated it with the new Ontario Computer Studies Curriculum. The correlations of the book with the Grade 10 TEE20 course and Grade 11 ICE3M courses are available in PDF (Adobe Acrobat) format. (A Correlation of Networks, Interfaces, and Integrated Circuits and the Grade 12 ICE4M course is also available.) Each document lists the expectations for the course and the location in the book where the expectation is addressed.

If you have Adobe Acrobat Reader installed, then click on the link below. If you do not have Acrobat Reader, then you can obtain it free of charge by clicking the Get Acrobat Reader icon.

Get Acrobat Reader

Preface to Computer Engineering: An Activity-Based Approach

This textbook, Computer Engineering: An Activity-Based Approach, is intended to be used in high school courses in Computer Engineering, Computer Electronics, or Computer Hardware and Interfaces. It emphasizes the basic concepts of computer engineering including: integrated circuits, interfaces, networking, and computer programming. It also provides a brief overview of the history of hardware and software development and the social impact of computer technology.

No previous knowledge of electronics, computer hardware, or programming is needed, although some contact with computers and their operating environments would be an asset.

The programming language used in this book is Turing, which has an easy-to-learn syntax and is supported by a student-friendly programming environment. This language was chosen because it facilitates hands-on learning by providing direct software access to the parallel port. It also provides easy access to graphics and to mouse control. Turing also provides students with a conceptual understanding of programming that is highly transferable to other programming languages.

Overview

This book covers the material in standard curricula for secondary school courses in Computer Engineering, Computer Electronics, or Computer Hardware and Interfaces. The list of chapter titles outlines the arrangement of materials.

The list of chapter titles outlines the arrangement of materials.

  1. The Evolution of Modern Computing
  2. Computer Networking
  3. Safe Computer Use
  4. Integrated Circuits: Gates
  5. Integrated Circuits: Activities
  6. Integrated Circuits: Chips
  7. Integrated Circuits: Advanced Activities
  8. Computer Interfacing
  9. Computer Programming
  10. Computer Interfacing: Activities
Chapter 1 provides an overview of the history of modern computing, including hardware, software, programming languages, and number systems. By highlighting a number of key technological developments, it attempts to place Computer Engineering today in its scientific and social context. It also explores some of the current issues in computing such as employment, privacy, and access to information.

Chapter 2 presents an overview of computer networks. The types of signals and ways to transport these signals around a network are introduced. The advantages and disadvantages of trunk, star, and ring topologies are discussed. Networking PCs to supercomputers on LANs, WANs, intranets, and the Internet are explored. This edition increases the amount of information on operating systems and includes new material on networking and the Internet.

Chapter 3 is new to the Second Edition of this text. It examines three distinct kinds of safety issues relating to computer use. These include ergonomic considerations relating to the creation of a safe workstation, the safe use of tools and electronic components, and ways of ensuring both network and personal safety when using the Internet.

Chapter 4 introduces the six fundamental gates (AND, OR, NOR, NAND, EOR, and NOT) and their relationship to Truth Tables, Boolean equations, Boolean algebra laws, and integrated circuits (chips).

Chapter 5 applies the integrated circuit concepts explained in Chapter 4 to hands-on activities. The activities include wiring the six fundamental gates. Truth Tables, circuit diagrams, and Boolean equations are developed for each activity.

Chapter 6 introduces timers, demultiplexers, decoders, and displays. It also covers non-logic components such as resistors and LEDs. The fundamental gates are applied to adders, subtractors, and latches.

Chapter 7 applies the integrated circuit concepts explained in Chapter 6 to hands-on activities. The activities include a timer, demultiplexer, decoder, and several latches as well as adders and subtractors. Truth Tables, circuit diagrams, and Boolean equations are developed for each activity.

Chapter 8 defines an interface and explores how interfaces are used to connect computers to peripherals. The relationships among computer peripherals and Graphical User Interfaces (GUIs), the mouse, and interfacing software are introduced. The interface software required to control the parallel port is also explained.

Chapter 9 introduces the programming concepts required to design and write interfacing software. These concepts include: input, output, decision, looping, procedures, and array structures. The chapter also discusses a number of built-in graphics commands and the mouse control commands.

Chapter 10 is designed to allow the student to apply all of the concepts and knowledge acquired in Chapters 1 through 9. The hands-on activities and project sections require the practical application of the integrated circuit knowledge from Chapters 6 and 7, the computer interfacing theory of Chapter 8, and the computer programming concepts covered in Chapter 9. These activities include developing software to control interfaces, GUIs, and mice. Instructions are provided on building interfaces and peripherals.

Changes From the First Edition

This edition is an expansion of the first edition of Computer Engineering: An Activities-Based Approach. While no new activities have been added to this edition, material on safe computer use, more explanations on how circuits work, more detailed wiring instructions, and an index have been added to the Second Edition.

Chapter 3, Safe Computer Use, is new to this edition. Chapters 3 and 4 of the First Edition (Integrated Circuits: Chips and Gates, and Integrated Circuits: Activities) have each been split into two chapters. Chapters 4 and 5 concentrate on logic gates and related activities while Chapters 6 and 7 concentrate on more complex chips.

In each activity, explanations have been added where feedback has indicated more depth was required. Wiring instructions and diagrams have been added for some of the activities. An additional section on debugging circuits has been added to the Interface Activities chapter. Finally, an index has been added to make rapid lookup of concepts easier.

Flexibility

Computer Engineering: An Activity-Based Approach has been organized to provide a conceptually coherent introduction to the principals of hardware, software, and interface design. While individual chapters focus on different aspects of Computer Engineering, there has been a constant attempt to relay these particular aspects to the larger theme of hardware and software integration. As the chapters progress, the students move from fundamental concepts such as binary numbers and integrated chips, to advanced applications such as designing and building computer-controlled musical instruments and robots. Chapter 7: Computer Interfacing Activities provides a full range of hands-on projects of varying degrees of difficulty, which challenge students to put their theoretical knowledge to practical use.

Computer Engineering: An Activities-Based Approach has been organized to provide a conceptually coherent introduction to the principals of hardware, software, and interface design. While individual chapters focus on different aspects of Computer Engineering, there has been a constant attempt to relay these particular aspects to the larger theme of hardware and software integration. As the chapters progress, the students move from fundamental concepts such as binary numbers and integrated chips, to advanced applications such as designing and building computer-controlled musical instruments and robots. Chapter 10: Computer Interfacing Activities provides a full range of hands-on projects of varying degrees of difficulty, which challenge students to put their theoretical knowledge to practical use.

Differing course demands, student populations, and hardware availability may require instructors to omit certain chapters or parts of chapters, or to insert additional material to cover some concepts in greater detail. Instructors may therefore have to review some of the more complex activities in Chapter 10 to ensure that students have the requisite knowledge for the individual activity or project.

This text assumes an equivalence of binary input and output states and the flow of electricity that is a simplification of how gates actually function. A full explanation of how gates operate requires a knowledge of electricity that is beyond the scope of this text. A more complete introduction to electricity for use in electronics can be found on the web at:

http://www.holtsoft.com/books/extras/elec.html

A more complete explanation of how gates work can be found at:

http://www.holtsoft.com/books/extras/gates.html

The Electronic Experimenter Kit

The Electronic Experimenter Kit has been designed to provide teachers and students with a set of all of the materials required to complete all of the Activities in this text. It includes: The Electronic Experimenter Kit provides an all-in-one solution for schools that do not already have the required electronic components or that prefer the convenience of having a pre-assembled package.

Teachers should note, that completion of the Activities does not require an Electronic Experimenter Kit, since these Activities can be conducted using a breadboard and several wires, switches, motors and LEDs. The Kit, however, helps to simplify and organize the number of wires needed to carry out the activities.

The Electronic Experimenter Kit can be purchased at a special educational rate directly from the manufacturer. For more information contact Classic Technology via email at classic@classictechology.ca or at their web site www.classictechnology.ca.

Graham Smyth
Christine Stephenson


A Sample of Two Activities found in Computer Engineering: An Activity-Based Approach

Two sample activities from the first edition of the book are available in Adobe Acrobat (PDF) format. If you have Adobe Acrobat Reader installed, then click on the link below. If you do not have Acrobat Reader, then you can obtain it free of charge by clicking the Get Acrobat Reader icon.

Sample Activities in PDF Format

Get Acrobat Reader

A Lesson Plan for a Computer Engineering Course

Slides from a talk by Peter Fujiwara & Graham Smyth on a Lesson Plan for a Computer Engineering Course are avaulable in Adobe Acrobat (PDF) format. If you have Adobe Acrobat Reader installed, then click on the link below. If you do not have Acrobat Reader, then you can obtain it free of charge by clicking the Get Acrobat Reader icon.

A Lesson Plan for a Computer Engineering Course

Get Acrobat Reader

Table of Contents of Computer Engineering: An Activity-Based Approach

  • PREFACE
  • ACKNOWLEDGMENTS
  • Chapter 1 - The Evolution of Modern Computing
  • 1.0 Introduction
  • 1.1 A Brief History of Computer Hardware
  • 1.2 A Brief History of Programming
  • 1.2.1 Instructions Machines Can Understand
  • 1.2.2 Instructions People Can Understand
  • 1.2.3 A New Way of Organizing Large Programs
  • 1.3 What is a Computer?
  • 1.3.1 The Central Processing Unit
  • 1.3.2 Memory
  • 1.3.3 Output Devices
  • 1.4 Number Systems: Decimal and Binary
  • 1.5 Hardware
  • 1.5.1 Different Kinds of Computers for Different Needs
  • 1.5.2 The Silicon Chip
  • 1.6 Software
  • 1.6.1 Operating Systems
  • 1.6.2 Programs
  • 1.6.3 Programming Environments
  • 1.6.4 Applications
  • 1.7 Programming and Programmers
  • 1.8 Computer Hackers
  • 1.9 The Social Impact of Computers
  • 1.9.1 Employment
  • 1.9.2 Privacy
  • 1.9.3 Access to Information
  • 1.9.4 Leisure Activities
  • 1.9.5 Illegal Activity
  • 1.9.6 Computers: Good or Bad?
  • 1.10 What is Computer Engineering?
  • 1.11 Technical Terms
  • 1.12 Exercises
  • Chapter 2 - Computer Networking
  • 2.0 Introduction
  • 2.1 What is a Network?
  • 2.1.1 Benefits
  • 2.2 Transferring Signals
  • 2.2.1 Analog and Digital Transmission Signals
  • 2.2.2 Parallel and Serial Transmission
  • 2.2.3 Synchronous and Asynchronous Transmission
  • 2.2.4 Simplex, Half-Duplex, and Full-Duplex
  • 2.3 Communication Channels
  • 2.3.1 Twisted Pair Cables
  • 2.3.2 Coaxial Cables
  • 2.3.3 Fibre Optic Cables
  • 2.3.4 Terrestrial Stations
  • 2.3.5 Communication Satellites
  • 2.3.6 Choosing the Right Channel
  • 2.4 Transmitting and Receiving Hardware
  • 2.4.1 Installing Network Interface Cards
  • 2.4.2 Wired Communication
  • 2.5 Local Area Networks (LANs)
  • 2.6 Networking Topology
  • 2.6.1 Bus Topology
  • 2.6.2 Star Topology
  • 2.6.3 Ring Topology
  • 2.6.4 Choosing the Right Topology
  • 2.7 An Example of a Simple Network
  • 2.8 Network Architectures
  • 2.8.1 Client-Server Computing
  • 2.8.2 Peer-to-Peer Networking
  • 2.9 Larger Networks
  • 2.9.1 Bridges, Routers, and Gateways
  • 2.9.2 Protocols
  • 2.10 Wide Area Networks (WANs)
  • 2.10.1 Intranet
  • 2.11 Global Networking
  • 2.11.1 The Internet
  • 2.11.2 Connecting Networks to the Internet
  • 2.11.3 Connecting Computers to the Internet
  • 2.11.4 Internet Service Providers
  • 2.11.5 Types of Internet Files
  • 2.11.6 File Sharing Protocols
  • 2.11.7 Downloading Files
  • 2.12 The Impact of Global Networking
  • 2.13 Technical Terms
  • 2.14 Exercises
  • Chapter 3 - Safe Computer Use
  • 3.0 Kinds of Computer Safety
  • 3.1 Ergonomics
  • 3.1.1 Workstation Design
  • 3.1.2 Lighting
  • 3.1.3 Vision
  • 3.1.4 Working Smart
  • 3.2 Hardware Safety
  • 3.3 Protecting Your Computer
  • 3.4 Protecting Your Privacy
  • 3.5 Technical Terms
  • 3.6 Exercises
  • Chapter 4 - Integrated Circuits: Gates
  • 4.0 What is an Integrated Circuit?
  • 4.1 Illustrating the Flow of Electricity
  • 4.1.1 Schematics for Gates and Chips
  • 4.1.2 Truth Tables
  • 4.1.3 Boolean Algebra
  • 4.1.4 Table of Gate Representations
  • 4.2 Gates and Chips
  • 4.2.1 AND Gate
  • 4.2.2 OR Gate
  • 4.2.3 NOT Gate
  • 4.2.4 NOR Gate
  • 4.2.5 EOR Gate
  • 4.2.6 NAND Gate
  • 4.3 Laws in Boolean Algebra
  • 4.3.1 DeMorgan's Theorems
  • 4.3.2 Simplifying Circuits
  • 4.4 Emulation
  • 4.5 Negated AND
  • 4.6 Technical Terms
  • 4.7 Exercises
  • Chapter 5 - Integrated Circuits: Activities
  • 5.0 Introduction
  • 5.1 Integrated Circuit Activities
  • 5.1.1 Materials Required for the Activities
  • 5.1.2 The Breadboard
  • 5.2 AND Gates
  • 5.2.1 AND Gate - Activity # 1
  • 5.2.2 AND Gates - Activity # 2
  • 5.2.3 AND Gates - Activity # 3
  • 5.3 OR Gates
  • 5.3.1 OR Gate - Activity # 4
  • 5.3.2 OR Gates - Activity # 5
  • 5.4 NOT Gates
  • 5.4.1 NOT Gate - Activity # 6
  • 5.5 NAND Gates
  • 5.5.1 NAND Gate - Activity # 7
  • 5.5.2 NAND Gates - Activity # 8
  • 5.6 NOR Gates
  • 5.6.1 NOR Gates - Activity # 9
  • 5.6.2 NOR Gates - Activity # 10
  • 5.7 EOR Gates
  • 5.7.1 EOR Gate - Activity # 11
  • 5.8 Summary: Boolean Equations, Circuit Diagrams and Truth Tables
  • 5.9 Fundamental Gates Summary
  • 5.10 Boolean Algebra Laws
  • 5.10.1 Commutative Law - Activity # 12
  • 5.10.2 Associative Law Activity # 13
  • 5.10.3 Distributive Law - Activity # 14
  • 5.10.4 DeMorgan's Law - Activity # 15
  • 5.11 Technical Terms
  • Chapter 6 - Integrated Circuits: Chips
  • 6.0 Introduction
  • 6.1 Components
  • 6.1.1 Diodes
  • 6.1.2 Resistors
  • 6.1.3 Capacitors
  • 6.1.4 Transistors
  • 6.1.5 Opto-Transistor (receiver)
  • 6.1.6 LEDs
  • 6.2 Complex Chips
  • 6.2.1 555 Timer Chip
  • 6.2.2 Seven-Segment Display
  • 6.2.3 Decoder (74LS47)
  • 6.2.4 Bi-Directional Buffer (74LS245)
  • 6.2.5 Demultiplexer (74LS154)
  • 6.2.6 Linear Addressing
  • 6.3 Adders and Subtractors
  • 6.3.1 Half Adder
  • 6.3.2 Full Adder
  • 6.3.3 Half Subtractor
  • 6.3.4 Full Subtractor
  • 6.4 Latches
  • 6.4.1 RS NOR Flip-Flop
  • 6.4.2 RS NAND Flip-Flop
  • 6.4.3 Clocked RS NAND Flip-Flop
  • 6.4.4 Clocked D Flip-Flop
  • 6.4.5 Clocked J-K Flip-Flop
  • 6.5 Summary
  • 6.6 Technical Terms
  • 6.7 Exercises
  • Chapter 7 - Integrated Circuits: Advanced Activities
  • 7.0 Introduction
  • 7.0.1 Materials Required for the Activities
  • 7.1 Adders
  • 7.1.1 Half Adder - Activity # 16
  • 7.1.2 Full Adder - Activity # 17
  • 7.2 Subtractors
  • 7.2.1 Half Subtractor - Activity # 18
  • 7.2.2 Full Subtractor - Activity # 19
  • 7.3 Emulators
  • 7.3.1 Emulated NOT - Activity # 20
  • 7.3.2 Emulated AND - Activity # 21
  • 7.3.3 Emulated OR - Activity # 22
  • 7.3.4 Emulated EOR - Activity # 23
  • 7.4 Seven-Segment Display - Activity # 24
  • 7.5 Binary to Base 10 Decoder - Activity # 25
  • 7.6 Timers - Activity # 26
  • 7.7 Summary: Multiple Chips
  • 7.8 Flip-Flops
  • 7.8.1 RS NOR Flip-Flop - Activity # 27
  • 7.8.2 RS NAND Flip-Flop - Activity # 28
  • 7.8.3 Clocked RS Flip-Flop - Activity # 29
  • 7.8.4 Clocked D Flip-Flop - Activity # 30
  • 7.8.5 JK Flip-Flop - Activity # 31
  • 7.8.6 Flip-Flop Summary
  • Chapter 8 - Computer Interfacing
  • 8.0 Commercial Interfaces
  • 8.1 What is Interfacing?
  • 8.1.1 The Computer
  • 8.1.2 The Interface
  • 8.1.3 The Peripheral
  • 8.2 Custom-Written Interfacing Software
  • 8.2.1 Interface Software
  • 8.2.2 Mouse Software
  • 8.2.3 Graphical User Interfaces
  • 8.3 Interfacing Software Theory
  • 8.3.1 Character Representation Systems (ASCII)
  • 8.3.2 Number Systems
  • 8.3.3 Base 10 to Base 2
  • 8.3.4 Base 2 to Base 10 305
  • 8.3.5 Base 2 to Base 16
  • 8.3.6 Base 16 to Base 2 307
  • 8.4 Technical Terms
  • 8.5 Exercises
  • Chapter 9 - Computer Programming
  • 9.0 What is Programming?
  • 9.1 The Programming Environment
  • 9.1.1 Commands in the Turing Environment
  • 9.2 Programming Style
  • 9.3 Graphics in Turing
  • 9.3.1 The Graphics Screen
  • 9.3.2 Drawing Commands
  • 9.4 Input/Output Structure (I/O)
  • 9.4.1 Put
  • 9.4.2 Spacing
  • 9.4.3 Arithmetic Operations
  • 9.4.4 Variables
  • 9.4.5 Get
  • 9.5 Looping
  • 9.5.1 Simple Loops
  • 9.5.2 Using Loops to Build Simple GUIs
  • 9.6 Decision Structure
  • 9.7 Procedures
  • 9.8 String Variables
  • 9.9 Array Variables
  • 9.10 Putting It All Together
  • 9.11 Additional Turing Commands
  • 9.12 Technical Terms
  • 9.13 Exercises
  • Chapter 10 - Computer Interfacing: Activities
  • 10.0 Preparing for the Interfacing Activities
  • 10.0.1 Chart of Required Materials
  • 10.1 Understanding the Parallel Port
  • 10.2 Protecting the Computer
  • 10.2.1 The 74LS245 Buffer Chip
  • 10.3 Building a Parallel Port Cable
  • 10.4 Putting Everything Together
  • 10.4.1 The Peripheral
  • 10.4.2 The Interface
  • 10.4.3 The Computer
  • 10.4.4 Current Flow
  • 10.4.5 Troubleshooting Circuits
  • 10.5 Interface Activities
  • 10.5.1 One Bit - Activity # 1
  • 10.5.2 One Byte - Activity # 2
  • 10.5.3 One Nybble - Activity # 3
  • 10.5.4 Motor Control - Activity # 4
  • 10.5.5 Bi-Directional DC Motor - Activity # 5
  • 10.5.6 Stepper Motor - Activity # 6
  • 10.5.7 Two Bytes - Activity # 7
  • 10.5.8 Inputting Data to Parallel Port - Activity # 8
  • 10.5.9 Security System - Activity # 9
  • 10.5.10 Alarm System - Activity # 10
  • 10.5.11 Light Activation - Activity # 11
  • 10.5.12 Music Box - Activity # 12
  • 10.5.13 Linear Addressing - Activity # 13
  • 10.5.14 Addressable Latch - Activity # 14
  • 10.5.15 Storing Data - Activity # 15
  • 10.6 Major Projects
  • 10.7 Technical Terms
  • GLOSSARY
  • APPENDICES
  • Appendix A: Electronic Components
  • Appendix B: Order of Operations
  • Appendix C: Boolean Algebra Rules
  • Appendix D: Accessing the Parallel Port

  • [ Holt Software Home ] * [ Books (Graphical) ] * [ Books (Text) ] * [ Top of Page ] * [ Feedback ]