71 - Computer Engineering

71-100 Introduction to Computer Engineering

This course introduces students to the practice of engineering. It exposes students to how engineers provide solutions to problems that meet technical, project, and financial requirements. It gives students an opportunity to hone this approach to solving problems in the context of a number of team-oriented engineering design activities.
2

Prerequisites

Prior or concurrent enrollment in 13-200 and 17-210.

71-200 Engineering Applications

This course introduces students to the computer-based tools used by engineers in the course of their work. Tools include Matlab, Maple, CAD, Excel, SPSS, and C++.
3

Prerequisites

Prior or concurrent enrollment in 71-100.

71-210 Logic Design

This course provides a modern introduction to logic design and digital systems. Topics include logic gates, arithmetic circuits, and flip-flops and how these are combined to implement counters, registers, memory, and state machines. Students will represent these devices using a variety of diagrams.
3

Prerequisites

Prior or concurrent enrollment in 71-100.

71-220 Electric and Electronic Circuits

This course introduces students to how electrical and electronic circuits function. Topics include electrical current and voltage, electrical energy, and electrical power. Circuit components such as resistors, inductors, and capacitors are explained both in terms of their underlying physics and how they influence the behavior of electric circuits. Circuit analysis techniques such as Ohm's Law, Kirchhoff's voltage and current laws, Thevenin and Norton transformations, and the superposition theorem are explained and used to solve problems. Basic electrical measurement techniques are demonstrated and applied in a series of laboratory experiments.
5

Prerequisites

17-215.

71-230 Signals and Systems

This course provides an introduction to concepts and methodology of linear dynamic systems in relation to discrete- and continuous-time signals. Topics include representation of systems and signals; Fourier, Laplace, and Z-transforms; and convolution. Linear systems are described in terms of inputs and outputs  and expressed as transfer functions. Systems are analyzed in the time domain and the frequency domain. Filtering and processing of signals will be discussed as applications of the theory. System response will be modeled and visualized using Matlab.
3

Prerequisites

71-220.

71-300 Computer Architecture 1

This study of computer organization covers the central processor unit, memory unit and I/0 unit, number systems, character codes and I/O programming. Programming assignments provide practice working with assembly language techniques, including looping, addressing modes, arrays, subroutines, and macros. Microsoft assembler is discussed and used for programming throughout the course.
3

Prerequisites

70-210.

71-310 Computer Architecture 2

This course builds on the foundation provided in 70-300 / 71-300, Computer Organization / Computer Architecture 1.  It provides a survey of common combinational circuit components; the theory and operation of solid state components; sequential circuit design and analysis; timing analysis of sequential circuits; use of computer-aided design tools for digital logic design (schematic capture, hardware description languages, simulation); design of simple processors and memory subsystems; program execution in simple processors; basic techniques for enhancing processor performance; configurable logic devices.
3

Prerequisites

70-300 or 71-300.

71-320 Hardware and Software Systems

This course discusses the operation, design, and analysis of integrated computing systems, considering both the hardware and the software and their impact on each other. The material will be taught from the application perspective of embedded systems. Topics include embedded systems as hardware/software platforms; networks of devices; communication buses; device drivers and interrupts; processes, threads, and tasks; real-time operating systems; embedded software development tools; real-time operating systems; and benchmarking of computer systems.
3

Prerequisites

70-360, 71-310.

71-400 Computer Engineering Applications

This course surveys a range of application areas in which Computer Engineers provide solutions. Topic areas include industrial automation, product life cycle management, cyber security systems, transportation and logistics, sustainable practice, and health care systems. How Computer Engineering shapes and is shaped by these and other application areas will be explored. Students will design computer systems to solve problems related to these application areas.
3

Prerequisites

71-320.

71-410 Artificial Intelligence

Topics central to Artificial Intelligence are covered, including knowledge representation, the predicate calculus, goal-directed and data-directed search techniques, and rule-based expert systems. Two languages for problem solving is presented: LISP and PROLOG.
3

Prerequisites

13-310, 70-210.

71-450 Robotics

This course introduces the student to the modeling, identification, and control of robotic systems. The course focuses on the implementation of identification and control algorithms on a two-link robot. Topics include the mathematical modeling of robotic systems and the analysis, simulation, and implementation of both linear and nonlinear representations of such systems. The design and integration of sensors and actuators and algorithms for responding and controlling these devices will be pursued.
3

Prerequisites

70-470 or 71-410.

71-496 Computer Engineering Senior Project

This is the  culminating experience in the Computer Engineering program. Students will work in teams to develop a computer engineering solution to a realistic problem. Such solutions will consist of both hardware and software components. This course satisfies the Advanced Writing Requirement in Computer Engineering.
3

Prerequisites

71-400 and a current or successfully completed 400-level Computer Engineering elective.