COMP_ENG 203: Intro to Computer Engineering



Overview of computer engineering design. Number systems and Boolean algebra. Logic gates. Design of combinational circuits and simplification. Decoders, multiplexors, adders. Sequential logic and flip flops. Introduction to assembly language.  

REQUIRED TEXTS: McGraw Hill, Introduction to Computing Systems: From bits & gates to C & beyond, Patt & Patel, 2003, Second Edition

REFERENCE TEXTS: Course handouts.

COURSE INSTRUCTOR: Prof. Russ Joseph(Fall), Prof. Hai Zhou (Winter) 

COURSE GOALS: To provide an introduction to computer engineering concepts, both hardware and software, with emphasis placed on digital logic concepts. Topics include binary number representations, Boolean algebra, simplification methods for combinational circuits, introduction to sequential circuits, and introduction to assembly language programming. This course prepares students to take more advanced courses in any of the branches of computer engineering.  



  • Introduction to the system stack (layers of abstraction)
  • The Universal Computer
  • Number systems and data representation
  • CMOS Logic
  • Introduction to the basic gates, truth tables
  • Boolean Algebra and logic minimization
  • Methods for converting AND/OR implementations to NAND only implementations and OR/AND implementations to NOR only implementations
  • Design of combinational logic circuits
  • Arithmetic circuits and useful logic building blocks (multiplexors/demutiplexors, encoders/decoders)
  • State, latches, and flip-flops
  • Sequential circuits and FSM design
  • Random access memory (RAM)
  • Von Neuman Machines
  • Steps of Instruction Processing
  • Datapaths
  • Instruction Set Architectures
  • Assembly Programming

 LABORATORY PROJECTS: Students get hands-on experience with designing digital circuits and programming microcontrollers. 

Each student is given a lab kit during the first week of class; this kit contains a breadboard, power supply, digital logic probe, tweezers for handling the wires, LEDs, resistors and TTL chips.

Each week, students are given a laboratory assignment that entails a design using concepts discussed in class the previous week. The laboratory assignments are designed to allow for the completion of homework on a given concept prior to using the concept in the design. Every week, each student demonstrates their working design to the course TA.  


Homeworks – 20%

Labs - 30%

Midterm - 20%

Final - 30%

COURSE OBJECTIVES: When a student completes this course, they should be able to:

1. Describe the relationship between layers in the system stack and identify the interactions between components in a computer system.

2. Design and analyze simple digital hardware.

3. Implement small routines in assembly language.


ABET CONTENT CATEGORY: 100% Engineering (Design component).