Computer Engineering
CE 5325 (EEDG 5325) Hardware Modeling Using HDL (3 semester credit hours) This course introduces students to hardware description languages (HDL) beginning with simple examples and describing tools and methodologies. It covers the language, dwelling on fundamental simulation concepts. Students are also exposed to the subset of HDL that may be used for synthesis of custom logic. HDL simulation and synthesis labs and projects are performed using commercial and/or academic VLSI CAD tools. Prerequisite: EE 3320 or equivalent. (3-0) T
CE 6301 (EEDG 6301) Advanced Digital Logic (3 semester credit hours) Modern design techniques for digital logic. Logic synthesis and design methodology. Link between front-end and back-end design flows. Field programmable gate arrays and reconfigurable digital systems. Introduction to testing, simulation, fault diagnosis and design for testability. Prerequisites: EE 3320 or equivalent and background in VHDL/Verilog. (3-0) T
CE 6302 (EEDG 6302) Embedded Systems (3 semester credit hours) Learn about microcontroller architectures including embedded microprocessors, peripherals and memories. Program different peripherals including general purpose IOs, timers, serial interfaces (UART, SPI, I2C), and analog to digital converters (ADCs). Learn about event driven programing using interrupts. Extensive laboratory work. Lab fee of $30 required. Prerequisites: EE 4304 or equivalent and background in programming in C/C++. (2-3) Y
CE 6303 (EEDG 6303) Testing and Testable Design (3 semester credit hours) Techniques for detection of failures in digital circuits and systems. Fault modeling and detection. Functional testing and algorithms for automatic test pattern generation (ATPG). Design of easily testable digital systems. Techniques for introducing built-in self test (BIST) capability. Test of various digital modules, such as PLA's, memory circuits, datapath, etc. Prerequisites: EE 3320 or equivalent and background in VHDL/Verilog. (3-0) Y
CE 6304 (CS 6304 and EEDG 6304) Computer Architecture (3 semester credit hours) Trends in processor, memory, I/O and system design. Techniques for quantitative analysis and evaluation of computer systems to understand and compare alternative design choices in system design. Components in high performance processors and computers: pipelining, instruction level parallelism, memory hierarchies, and input/output. Students will undertake a major computing system analysis and design project. Must have an understanding of C/C++. Prerequisite: CS 2340 or EE 4304. (3-0) Y
CE 6306 (EEDG 6306) Application Specific Integrated Circuits Design (3 semester credit hours) This course discusses the design of application specific integrated circuits (ASIC). Specific topics include: VLSI system design specification, ASIC circuit structures, synthesis, and implementation of an ASIC digital signal processing (DSP) chip. Prerequisite: EE 3320. (3-0) Y
CE 6308 (CS 6396 and EEDG 6308) Real-Time Systems (3 semester credit hours) Introduction to real-time applications and concepts. Real-time operating systems and resource management. Specification and design methods for real-time systems. System performance analysis and optimization techniques. Project to specify, analyze, design, implement and test small real-time system. Prerequisite: CS 5348. (3-0) R
CE 6309 (EEDG 6309) Applications of Machine Learning in Semiconductor IC Manufacturing and Test (3 semester credit hours) Fundamentals of machine learning, including regression, classification, feature extraction, feature selection, synthetic training set enhancement, boosting and curse of dimensionality; test cost reduction via test compaction, alternate test, adaptive test and effectiveness metrics; wafer-level spatial and spatio-temporal correlation modeling, process variation decomposition, process monitoring, outlier detection yield prediction; post-manufacturing tuning and post-deployment calibration of analog/RF ICs; security and trust assessment, including hardware Trojan detection, counterfeit IC identification, and fab-of-origin attestation. Experience with Machine Learning methods and software desirable but not required. Prerequisite: CE 6301 or EEDG 6301 or CE 6303 or EEDG 6303 or CE 6325 or EECT 6325 or EECT 6326. (3-0) Y
CE 6310 (EEDG 6310) Hardware Security (3 semester credit hours) Theory of cryptography for security, an overview of both classical and emerging attack methods and methodologies and possible defenses against them with respect to silicon-on-chip security, side-channel attacks, hardware trojans, physically unclonable functions, IC counterfeit protection, and hardware-based malware detection. (3-0) Y
CE 6312 (EEDG 6312) Computing with Emerging Technologies (3 semester credit hours) Integration of emerging technologies in novel computing systems. Relevant devices include various spintronic devices, carbon nanotubes, graphene, memristors, and multi-gate FETs. Relevant computational functions include Boolean logic, as well as neuromorphic, threshold, stateful, quantum, and stochastic computing systems. (3-0) Y
CE 6320 Applied Data Structures and Algorithms (3 semester credit hours) Introduction to complexity, basic data structures, lists, trees, graphs; Sorting, Shortest Path, and Dynamic Programming, Spanning Tree and Greedy Algorithms, Introduction to Network Flow, NP, NP-complete, and NP-hard. May not be used to satisfy degree requirements for MS CS or the MS SE degree plans. (3-0) Y
CE 6325 (EECT 6325) VLSI Design (3 semester credit hours) Introduction to MOS transistors. Analysis of the CMOS inverter. Combinational and sequential design techniques in VLSI; issues in static, transmission gate and dynamic logic design. Design and layout of complex gates, latches and flip-flops, arithmetic circuits, memory structures. Low power digital design. The method of logical effort. CMOS technology. Use of CAD tools to design, layout, check, extract and simulate a small project. Prerequisites: EE 3301 and EE 3320 or equivalent. (3-0) S
CE 6330 (EEDG 6330) Applied Cryptography (3 semester credit hours) This course presents a wide range of cryptographic principles and their implementation in software/hardware. This includes: security properties; block and stream ciphers, their basic implementations, and various ways to attack them including side-channel attacks; public-key schemes using number/group-theoretic techniques; advanced protocols; and resilient implementation techniques. Basic familiarity with algorithms, probability, and algebra needed. Credit cannot be received for both CS 6377 and (CE 6330 or EEDG 6330). Prerequisite: ENCS majors only. (3-0) Y
CE 6331 (EEDG 6331) High-Level Synthesis: Design and Verification (3 semester credit hours) Facilitate the design of dedicated hardware using higher levels of abstraction (ANSI-C, C++ or SystemC) instead of hardware description languages like Verilog or VHDL. Theory of HLS process is comprehensively studied including: technology independent optimizations, resource allocation, scheduling, and binding stages. Students will design different types of hardware accelerators using HLS and learn how to design and verify complete hardware systems using only C. Course projects may include, but are not limited to: Building an automated HLS design space explorer, design of neural networks and building complete systems in C. Commercially available EDA tools will be used during the course. Prerequisite: EE3320 or equivalent, C/C++. (3-0) Y
CE 6350 Computer Engineering Practicum (3 semester credit hours) Student gains experience and improves design and development skills for large scale software and/or hardware systems. Student must identify and submit a real-world project with specific goals and learning objectives at the beginning of the semester. At the semester end, student must prepare an oral or poster presentation or a written paper reflecting on the work experience. Department consent required. (3-0) Y
CE 6351 Computer Engineering Internship (3 semester credit hours) Student gains experience and improves design and development skills for large scale software and/or hardware systems through appropriate developmental work assignments in a real business environment. Student must identify and submit a real-world project with specific goals and learning objectives at the beginning of the semester. At the semester end, student must prepare an oral or poster presentation or a written paper reflecting on the work experience. Department consent required. (3-0) R
CE 6368 (EESC 6368) Multimodal Deep Learning (3 semester credit hours) Theory and applications in the field of multimodal deep learning. Robustness and performance of systems by considering cross-modal integration. Deep learning methods used for representation, translation, alignment, fusion, and co-learning of multimodal content. Multimodal embeddings and their applications. Use of deep learning solutions such as convolutional neural network (CNN), Long short-term memory (LSTM), and attention models to process multimodal data. Recommended Corequisite: EESC 6349. Prerequisite: ENGR 3341 or equivalent. (3-0) T
CE 6370 (EEDG 6370) Design and Analysis of Reconfigurable Systems (3 semester credit hours) Introduction to reconfigurable computing. Review different programmable architectures. Software environments for reconfigurable systems and CAD flow, including High-level Synthesis (HLS), logic synthesis, technology mapping, and place and route. Emphasis on using ANSI-C, C++, or SystemC instead of Verilog or VHDL. Theory of HLS process including technology independent optimizations, resource allocation, scheduling, and binding stages. Use of FPGAs in applications including emulation, data centers, custom computing, and embedded application-based computing. Students will design different hardware accelerators using HLS and prototype them on an FPGA. Prerequisite: EE 3320 or equivalent. (3-0) R
CE 6375 (EEDG 6375) Design Automation of VLSI Systems (3 semester credit hours) This course deals with various topics related to the development of CAD tools for VLSI systems design. Algorithms, data structures, heuristics and design methodologies behind CAD tools. Design and analysis of algorithms for layout, circuit partitioning, placement, routing, chip floor planning, and design rule checking (DRC). Introduction to CAD algorithms for RTL and behavior level synthesis, module generators, and silicon compilation. (3-0) Y
CE 6V98 Thesis (3-9 semester credit hours) Pass/Fail only. May be repeated for credit. Instructor consent required. ([3-9]-0) S
CE 7325 (EECT 7325) Advanced VLSI Design (3 semester credit hours) Advanced topics in VLSI design covering topics beyond the first course (EECT 6325). Topics include: use of high-level design, synthesis, and simulation tools, clock distribution and routing problems, (a)synchronous circuits, low-power design techniques, study of various VLSI-based computations, systolic arrays, etc. Discussions on current research topics in VLSI design. Prerequisite: EECT 6325 or equivalent. (3-0) R
CE 7V80 Special Topics in Computer Engineering (1-6 semester credit hours) May be repeated for credit as topics vary (9 semester credit hours maximum.) Prerequisite: ENCS majors only and instructor consent required. ([1-6]-0) S
CE 8V40 Individual Instruction in Computer Engineering (1-6 semester credit hours) Pass/Fail only. May be repeated for credit. Instructor consent required. ([1-6]-0) R
CE 8V70 Research in Computer Engineering (1-9 semester credit hours) Pass/Fail only. May be repeated for credit. Instructor consent required. ([1-9]-0) R
CE 8V99 Dissertation (1-9 semester credit hours) Pass/Fail only. May be repeated for credit. Instructor consent required. ([1-9]-0) S