COURSE
TITLE: ECE 203 Introduction to Computer Engineering
CATALOG
DESCRIPTION:
Overview of computer engineering design. Number systems and Boolean
algebra. Logic gates. Design of combinational circuits and simplification. Decoders, multiplexers, adders. Sequential logic and flip flops. Introduction to assembly language. Application of concepts to a computer
engineering design project.
REQUIRED
TEXTS: M.
Morris Mano and Charles R. Kime, Logic
and Computer Design Fundamentals and Xilinx Student Edition 4.2 Package, Prentice Hall, 3rd edition updated,
2004.
REFERENCE
TEXTS: Course handouts.
COURSE
DIRECTOR: Chi-haur
Wu
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 circuit, introduction to
assembly language programming, and networks. This would serve to convince
declared computer engineering majors to remain in the field, and to attract
students from other majors to join computer engineering. Another goal is to
prepare students to take some more advanced courses in each of the fields of
computer engineering. The concepts are
applied to hands-on laboratory assignments that includes hardware and software
designs of a controller to navigate a robot through a given obstacle course.
PRE-REQUISITES:
None
DETAILED
COURSE TOPICS:
Week 1:
Introduction to computer engineering topics. Introduction to the basic gates, truth tables and principles of
Boolean Algebra. (Reading: Mano &
Kime 1.1, 2.1, 2.2 and 2.6[first half]).
Week 2: Logic minimization using the principles
of Boolean Algebra and Karnaugh Maps. (Reading: Mano & Kime 2.3, 2.4, 2.5)
Week 3:
Continuation of logic minimization to produce minimized sum of product
and product of sum expression. In
addition, methods for converting AND/OR implementations to NAND only
implementations and OR/AND implementations to NOR only implementations. (Reading:
Mano & Kime 2.6, 2.7, 2.8)
Week 4:
Design of combinational logic circuits. (Reading: Mano & Kime 3.1-3.4) Conversion of
number between any two basis, with an emphasis on decimal, binary, octal and
hex numbers. The three methods for
representing negative numbers, sign magnitude, ones complement and two
complement. (Reading: Mano & Kime 1.2, 1.3)
Week 5:
Design of multi-bit adder/subtractor circuit for twos complement
numbers, identifying when overflow occurs.
Design and use of different routing and selection devices including
decoders, encoders, and multiplexers.
(Reading: Mano & Kime
4.1-4.6, 5.1-5.6)
Weeks 6:
Introduction to microcontrollers and the relationship to assembly
language. (Reading: Course Handout)
Weeks 7:
Introduction to assembly language programming and input/output control
of microcontrollers. (Reading: Course Handout)
Week 8:
Introduction to sequential logic, including latches, M/S flip flops and
edge-triggered flip flops. (Reading: Mano & Kime 6.1-6.6)
Week 9:
Introduction to registers, micro-operations
and various counters.
(Reading: Mano & Kime 7.1-7.9)
Week
10:
Introduction to Memory (Reading: Mano & Kime 3.6 and 9.1-9.6)
COMPUTER
USAGE: Laboratory assignments relating to the assembly language
programming of the microcontroller used to navigate a robot through a given
obstacle course.
LABORATORY
PROJECTS:
Students get hand-on experience with the following: designing digital circuits based upon a
word-problem specifications, designing a combinational logic circuit to
navigate a robot, and assembly language programming of a microcontroller to
navigate a robot. 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. Students also have access to numerous robots for the robot
controller laboratory assignments. 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 a homework on a given concept prior to
using the concept in the design. Every
week, each student demonstrates his/her working design to the course TA. The specific design projects are given
below.
Lab 1:
Introduction to the lab kits.
Students become familiar with the components in the lab kit by
implementing two simple circuits. (Due
week 3)
Lab 2:
Design a simple combinational circuit based upon a given word
problem. (Due week 4)
Lab 3:
Design a complex combinational circuit, requiring the use of K-maps for
logic minimization. Again a word
problem is given. (Due week 5)
Lab 4:
Design of an arithmetic circuit.
(Due week 6)
Lab 5:
Assembly language programming of a microcontroller to perform a very
simple task. (Due week 8)
Lab 6:
Assembly language programming of the microcontroller to navigate the
same robot, used in lab 4, through a more complex obstacle course. (Due week 10)
GRADES:
Homeworks – 15%
Labs - 25%
Midterm - 30%
Final - 30%
COURSE
OBJECTIVES: When a student completes this course, s/he
should be able to:
1. Have
an understanding of the field of computer engineering and an awareness of the
various topics related to this field.
This would serve to convince declared computer engineering majors to
remain in the field, and to attract students from other majors to join computer
engineering.
2. Use
Boolean algebra or K-maps to simplify complex boolean expressions.
3. Convert
numbers between any two number systems, especially decimal, binary, octal and
hex and represent sign numbers.
4. Design
arithmetic circuits to perform addition and subtraction of signed numbers and
detect verflow conditions.
5. Implement
functions using AND/OR gates, OR/AND gates, NORs only, NANDs only, multiplexers
or decoders.
6. Design
the basic flip flops using sequential logic.
7. Go
from a word problem to the actual design, implementation and testing of the
circuit.
8. Program
simple microcontrollers in assembly language.
ABET CONTENT CATEGORY: 25% Math and Basic Science, 75% Engineering
(Design component).