Computer Engineering (CE)

CE-210  Digital Systems I    4 Credits

Prerequisites: ECE-101 or CS-101 or IME-211
Terms Offered: Summer, Fall, Winter, Spring
Design and analysis techniques for combinational and sequential logic circuits are studied. Topics include binary number systems and binary addition/subtraction, combination logic minimization, frequently used combinational logic circuits, finite state machines, shift registers and counters. VHDL will be used for description, simulation and FPGA synthesis of digital circuits.
Lecture: 3, Lab 2, Other 0

CE-320  Microcomputers I    4 Credits

Prerequisites: CE-210
Terms Offered: Summer, Fall, Winter, Spring
Principles of microcomputer hardware and software are presented. Topics include instruction sets and addressing modes, structured assembly language programming, topdown design, introductory machine architecture and its relationship to programming, introduction to hardware in typical microcontrollers, and an introduction to programming microcontrollers in C.
Lecture: 3, Lab 2, Other 0

CE-412  Digital Systems II    4 Credits

Prerequisites: CE-210
Minimum Class Standing: Junior
Terms Offered: Summer of even years; Fall of odd years
The principles and practices used in the design of modern complex combinational and sequential digital systems is covered. Digital logic design, analysis, simulation, and implementation techniques are provided. Fundamental algorithms underlying computer-aided design (CAD) tools are studied. Schematic diagrams and hardware description languages (HDL) are used to specify designs targeted for implementation in technologies ranging from discrete ICs to programmable logic devices and ASICs. The course has a laboratory component that allows students to exercise the principles and practices learned.
Lecture: 3, Lab 2, Other 0

CE-420  Microcomputers II    4 Credits

Prerequisites: CE-320
Minimum Class Standing: Junior
Terms Offered: Summer, Fall
This advanced course in Microcomputer Systems covers the architectural features, design principles, development tools and techniques of advanced embedded microcomputers. The topics include architectures of contemporary 16-bit and 32-bit RISC microcontrollers (considering Microchip PIC24 and PIC32 as example cases for the practical development experiences), instruction set, addressing modes, software development & debugging, parallel and serial interfacing, interrupts, timer module, ADC module, etc. The course has a strong laboratory component, which will be carried out on a microcomputer development kit with the latest family of 16-bit and 32-bit microcontrollers.
Lecture: 3, Lab 2, Other 0

CE-422  Computer Architecture and Organization    4 Credits

Prerequisites: CE-320
Minimum Class Standing: Junior
Terms Offered: Winter, Spring
The fundamental concepts in computer architecture and organization are presented. Laboratory assignments using VHDL simulation are a major portion of the course. Topics include fixed point and floating point computer arithmetic; assessing and understanding performance; control unit design; microprogramming; memory organization; cache design; a 32-bit instruction-set architecture; single-cycle, multicycle and pipelined CPU architectures; RISC architecture; examples of commercial computer architectures.
Lecture: 3, Lab 2, Other 0

CE-424  VLSI Design    4 Credits

Prerequisites: CE-320 and EE-210
Minimum Class Standing: Junior
Terms Offered: Winter of odd years; Spring of even years
Design techniques and basic theory of integrated circuit design are discussed. Topics include review of the semiconductor physics associated with NMOS and PMOS transistors; fabrication process; CMOS combinational circuits; memory cells; stick diagrams; layout techniques using CAD tools; circuit extraction and analysis. A project is completed.
Lecture: 3, Lab 2, Other 0

CE-426  Real-Time Embedded Systems    4 Credits

Prerequisites: CE-320
Minimum Class Standing: Junior
Terms Offered: Summer, Fall
Implementation and applications of real-time embedded computers are studied. Topics include the case study of an embedded real-time operating system, typical applications of embedded computers, real-time hardware and software interfacing, and real-time scheduling algorithms. This course includes a lab component with several short design projects and a final directed design project.
Lecture: 3, Lab 2, Other 0

CE-430  Logic Systems    4 Credits

Prerequisites: CE-320 and EE-210 and EE-211
Minimum Class Standing: Junior
Terms Offered: Summer of odd years; Fall of even years
Several types of logic systems and their applications are introduced. Topics in asynchronous logic are covered, including design and analysis of asynchronous sequential networks, races, and various types of hazards. The course also covers ladder logic and its implementation in programmable logic controllers. Additionally, an introduction to fuzzy logic is studied, including membership functions, rule creation and evaluation, and applications. This course has a laboratory component that allows students to implement the various logic systems in hardware and software.
Lecture: 3, Lab 2, Other 0

CE-442  Introduction to Mobile Robotics    4 Credits

Prerequisites: CE-320
Minimum Class Standing: Junior
Terms Offered: Winter of odd years; Spring of even years
The fundamentals of robotics are covered with an emphasis on mobile robots, which are intelligent integrated mechanical, electrical and computational systems functioning in the physical world. Topics include state-of-the-art technologies in mobile robotics, such as locomotion, sensing, control, communication, localization, mapping, navigation, etc. Advanced topics such as coordination of multiple mobile robots will also be introduced. The course aims to provide both theoretical and practical experience to students through lectures and hands-on experience with real robots and simulation software.
Lecture: 3, Lab 2, Other 0

CE-460  Massively Parallel Processors    4 Credits

Prerequisites: CE-320
Minimum Class Standing: Junior
Terms Offered: Summer of even years; Fall of odd years
Introduction to using massively parallel processors utilizing hundreds of processing cores, those typically used as graphics processing units, for general purpose scientific computing. Topics include the architectural differences between a GPU and a traditional CPU, a decomposing problems to efficiency utilize GPUs, performance optimization techniques, and case studies. This course contains a directed project that allows the student to compare the performances of CPUs and GPUs on data-parallel algorithms. This course is equivalent to CE-660.
Lecture: 4, Lab 0, Other 0

CE-470  Haptic Systems    4 Credits

Prerequisites: CS-101
Minimum Class Standing: Junior
Terms Offered: Winter of even years; Spring of odd years
The required theoretical and practical background to design and development of haptic systems will be provided. Haptic technology enables computer users to touch and/or manipulate virtual or remote objects in simulated environments or tele-operation systems. This course aims to cover the basics of haptics through lectures, homework, lab assignments, a term project, and readings on current topics in haptics. Through lab assignments, students learn to create haptic-enabled virtual environments using a haptic device. Topics include current haptic technology and devices, the human haptic system, human haptic perception and psychophysics, haptic rendering of virtual objects.
Lecture: 3, Lab 2, Other 0

CE-480  Computer Networks    4 Credits

Prerequisites: CE-320 and MATH-408
Minimum Class Standing: Junior
Terms Offered: Summer, Fall
Organization, analysis, and design of interconnected systems of computers are studied. Topics include the Open System Interconnection model; the Internet reference architecture; network topology; media types; protocol; Ethernet; routing; TCP/IP; HTTP, wireless and mobile networks, multimedia Internet, industrial networks; and Internet applications.
Lecture: 3, Lab 2, Other 0

CE-482  Distributed Embedded Systems    4 Credits

Prerequisites: CE-320
Minimum Class Standing: Junior
Terms Offered: Summer of odd years; Fall of even years
The most important topics in embedded systems operating in a network environment will be addressed. Topics include: typical applications of distributed embedded systems, digital control systems, real-time scheduling and complete commercial hardware and software development environment that supports rapid prototyping, automated code generation, and debugging is used in laboratory assignments and a term project to develop a complete distributed embedded application. Automotive applications are emphasized.
Lecture: 3, Lab 2, Other 0

CE-490  Senior CE Design Project    4 Credits

Prerequisites: None
Minimum Class Standing: Senior
Terms Offered: Winter, Spring
Students are prepared for engineering practice through a major design experience based on knowledge and skills acquired in earlier course work. They work in teams to design and develop a prototype embedded-computer or other complex digital system to meet a given specification. The specification requires the design to incorporate relevant engineering standards and to address most of the following: manufacturability, sustainability, and economic, environmental, ethical, health and safety, social, and political considerations. Designs are documented in a professional manner and presented publicly.
Lecture: 2, Lab 4, Other 0