Computer Engineering (CE)

CE-612  Digital Systems Design    4 Credits

Prerequisites: None
The principles and practices used in the design of modern complex combinational and sequential digital systems are covered in this course. Digital logic design, analysis, simulation, and implementation techniques are covered. Fundamental algorithms underlying computer-aided design (CAD) tools are studied. Schematic diagrams, hardware description languages (HDL), and system-on-programmable chip (SoPC) design tools are used to specify designs targeted for implementation in technologies ranging from discrete ICs to programmable logic devices, ASICs and SoPCs. Topics in testing of logic circuits and hardware-software co-design will be covered. The course is accompanied by laboratory component that allows students to exercise the principles and practices learned.
Lecture: 3, Lab 2, Other 0

CE-620  Microcomputer Systems    4 Credits

Prerequisites: None
The architectural features, design principles, development tools and techniques of advanced embedded microcomputers are covered in this advanced level course. 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. Students will also complete independent projects or research assigned by the instructor on topics such as low-power micro architectures and power-aware computing.
Lecture: 3, Lab 2, Other 0

CE-622  Computer Architecture and Organization    4 Credits

Prerequisites: None
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. An independent study or project will be completed.
Lecture: 3, Lab 2, Other 0

CE-624  VLSI Design    4 Credits

Prerequisites: None
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. An advanced project is completed.
Lecture: 3, Lab 2, Other 0

CE-626  Real-Time Embedded Systems    4 Credits

Prerequisites: None
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 research-oriented final project.
Lecture: 3, Lab 2, Other 0

CE-630  Logic Systems    4 Credits

Prerequisites: None
Introduction to several types of logic systems and their applications will be covered. 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, culminating in a directed design project.
Lecture: 3, Lab 2, Other 0

CE-642  Mobile Robotics    4 Credits

Prerequisites: None
Fundamentals of robotics with an emphasis on mobile robots, which are intelligent integrated mechanical, electrical and computational systems functioning in the physical world will be covered. 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 explored. The course aims to provide both theoretical and practical experience to students through lectures and hands-on experience with real robots and simulation software. Students will also complete independent projects or research on current topics covering mobile robotics technologies and related fields.
Lecture: 3, Lab 2, Other 0

CE-660  Massively Parallel Processors    4 Credits

Prerequisites: None
Massive parallel processors utilizing hundreds of processing cores, those typically used as graphics processing units, for general purpose scientific computing will be taught in this introductory course. Topics include the architectural differences between a GPU and a traditional CPU, decomposing problems to efficiently utilize GPUs, and performance optimization techniques, and case studies. This course contains a research project that allows the student to identify a data-parallel algorithm and compare the performance of its CPU and GPU implementations.
Lecture: 4, Lab 0, Other 0

CE-670  Haptic Systems    4 Credits

Prerequisites: None
The required theoretical and practical background to design and development of haptic systems is provided in this course. 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. Students will be required to complete projects or independent review of research topics with approval of the instructor.
Lecture: 3, Lab 2, Other 0

CE-680  Computer Networks    4 Credits

Prerequisites: None
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; protocols; Ethernet; routing; TCP/IP; HTTP, wireless and mobile networks, multimedia Internet, industrial networks; and Internet applications. Students will be required to complete projects or independent review of research topics with approval of the instructor.
Lecture: 3, Lab 2, Other 0

CE-682  Computer Embedded Systems    4 Credits

Prerequisites: None
The most important topics in embedded systems operating in a network environment are addressed in this course. Topics include: typical applications of distributed embedded systems, control systems, real-time embedded software, microcontrollers, sensors, actuators, rapid prototyping, network-based software, and dependability concepts. A complete commercial hardware and software development environment that supports rapid prototyping and debugging is used in laboratory assignments and a term project to develop a complete distributed embedded application. Students will be required to complete projects or independent review of research topics with approval of the instructor.
Lecture: 3, Lab 2, Other 0

CE-691  Computer Engineering Special Topics    4 Credits

Prerequisites: None
Graduate level Special Topics in Computer Engineering.
Lecture: 4, Lab 2, Other 0

CE-695  Graduate Research in Computer Engineering    1-8 Credits

Prerequisites: None
This course is directed research towards a master’s thesis. Students must take this course under the direction of a faculty advisor, and it is graded pass or fail. This course may be repeated for credit.
Lecture: 6, Lab 2, Other 0

CE-699  Computer Engineering Independent Study    4 Credits

Prerequisites: None
Terms Offered: As needed
Graduate level Independent Study in Computer Engineering
Lecture: 4, Lab 0, Other 0