Computer Engineering (CE)
CE-210 Intro to Digital Systems Design 4 Credits
Prerequisites: ECE-101 or CS-101 or IME-211
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 Intro to Microcomputers 4 Credits
Prerequisites: CE-210
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 Design 4 Credits
Prerequisites: CE-210
Minimum Class Standing: Junior
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 Microcomputer Systems 4 Credits
Prerequisites: CE-320
Minimum Class Standing: Junior
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
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
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
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-442 Mobile Robotics 4 Credits
Prerequisites: CE-320
Minimum Class Standing: Junior
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-450 App Dvelpmt for Mobile Devices 4 Credits
Prerequisites: CS-101 or ECE-101
This course is an overview of how to get started in developing mobile apps for Android and iOS platforms. These two app development platforms share similar challenges but have different approaches to addressing them. Both platforms will be taught to encourage students to see how the two different approaches can be used to solve similar issues. Students will choose one platform for their final design project. Topics include user interface design, network, communication, and sensor interfacing. This course includes lab components with design projects and final directed design project.
Lecture: 3, Lab 2, Other 0
CE-451 Introduction to Autonomous Driving 4 Credits
Prerequisites: CS-101 or ECE-101 or IME-211 or MECH-330
This course provides an overview of theoretical and practical background regarding the design and development of autonomous vehicles. Topics include an overview of autonomous vehicle systems, autonomous vehicle localization technologies, perception in autonomous driving, decision and planning, and control for autonomous driving. This course aims to cover the basics of autonomous driving through lectures, lab assignments, a term project, and readings on current related topics.
Lecture: 3, Lab 2, Other 0
CE-452 Artificial Intelligence for Autonomous Driving 4 Credits
Prerequisites: CS-101 or ECE-101
Minimum Class Standing: Junior
This course will provide introductory theories and technologies in artificial intelligence focusing on machine learning for autonomous driving. Machine learning studies algorithms that learn from large quantities of data, identify patterns and make predictions on a new data set. Students will study the concepts that underlie intelligent systems and investigate the advanced topics in intelligent systems. The first half of this course will focus on fundamental models and algorithms in intelligent systems. In the second half of the course, students will learn machine learning applications and programming skills by implementing the intelligent systems. Especially students will learn deep neural networks for identifying and classifying objects (vehicles and pedestrians) using data obtained from automotive sensors.
Lecture: 3, Lab 2, Other 0
CE-454 Computer Vision for Autonomous Driving 4 Credits
Prerequisites: CS-101 or ECE-101
This course will cover introductory theories and modern technologies in computer vision systems for autonomous driving. Data from visual sensors play crucial roles in many fields such as autonomous driving, surveillance camera, and robotics. The computer vision system seeks to automate tasks that the human visual system can do.
The goal of this course is to learn technologies that enable a computer automatically to understand the content of visual sensors for autonomous driving. The first half of this course will focus on fundamental models and algorithms in computer vision and in the second half of the course students can learn about computer vision applications and programming skills to accomplish computer vision tasks.
Lecture: 3, Lab 1, Other 0
CE-472 VR Systems: Modeling & Control 4 Credits
Prerequisites: ECE-101 or CS-101 or IME-211
This course provides the required theoretical and practical background to design and development of multimodal virtual reality (VR) systems. Particularly, the main focus is on VR-based human-in-the-loop systems that enable users to interact and/or manipulate virtual objects in simulated environments. This course aims to cover basics of these systems through lectures, homework, lab assignments, a term project, and readings on current related topics. Through lab assignments, students acquire hands-on skills to create a multimodal virtual environment. Topics include multimodal virtual reality, current VR technology and devices, human-centered simulation: human perception and psychophysics, basic control and stability analysis of VR systems, and human factors in the design of VR displays.
Lecture: 3, Lab 2, Other 0
CE-480 Computer Networks 4 Credits
Prerequisites: CE-320 and MATH-258
Minimum Class Standing: Junior
Organization, analysis, and design of interconnected systems of computers are studied. Topics include the Open System Interconnection model and the Internet TCP/IP reference architecture. Standard protocols and technologies at each network layer will be covered, such as HTTP and a socket programming API at the application layer, TCP and UDP at the transport layer, and IPv4 and IPv6 along with fundamentals of routing at the network layer. Ethernet and Wi-Fi with their related physical mediums are discussed. The course will also introduce error detection and correction methods, basic network security principles and mobile technologies.
Lecture: 3, Lab 2, Other 0
CE-484 Internet of Things (IoT) 4 Credits
Prerequisites: CE-320
The most important topics of the Internet of Things and its applications will be addressed. Topics include an introduction to network stacks and embedded operating systems, IoT architecture models, smart devices, connections and access technologies, the IoT network layer, application layer protocols relevant to IoT, and IoT security practices. Various IoT application areas will be discussed, such as industrial, home automation, manufacturing, energy, utilities, vehicles, smart cities, agriculture and health care. Students complete a term project to develop a complete IoT application.
Lecture: 3, Lab 2, Other 0
CE-490 Senior CE Design Project 4 Credits
Corequisites: CE-422, CE-426
Prerequisites: ECE-101 and CE-420 and CE-480 and EE-320 and EE-321 and CS-102
Minimum Class Standing: Senior
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