Online Computer Engineering Master's Program
Program Details
Degree
Master of Engineering, Master of Science, or Dual-Degree MBADepartment
Electrical and Computer EngineeringAvailable
On Campus & OnlineFocusing on problem-solving skills development for real-world applications.
The Master of Engineering in Computer Engineering educates students to acquire a strong fundamental background in computer engineering and state-of-the-art knowledge and hardware and software skills applied for cutting edge areas such as embedded systems, networks and security and software and data engineering, and artificial intelligence.
This is a 30-credit degree program and an recommended online course sequence can be found below:
Term 1
Axioms of probability; discrete and continuous random vectors; functions of random variables; expectations, moments, characteristic functions, and moment generating functions; inequalities, convergence concepts, and limit theorems; central limit theorem; and characterization of simple stochastic processes: widesense stationality and ergodicity.
This course covers the design and architecture of computer and digital systems in the system design region starting from the transistor/logic gate level to below the device driver level/system monitor level. The systems considered in the course will go beyond the computer chips or CPUs discussed in a typical computer architecture course, but will include complex logic devices such as application specific integrated circuits (ASICs), the core-designs for field programmable gate arrays (FPGAs), system-on-a-chip (SoC) designs, ARM, and other application-specific architectures. Printed circuit board-level architectural considerations for multiple complex digital circuits will also be discussed.
Term 2
The miniaturization of electronics and increasingly sophisticated software environments has enabled the realization of systems that embed intelligence within a wide variety of systems interacting in real time with the environment. Such systems are characterized by hardware/software integration along with integration of both analog and digital electronics. Representative topics include specification of the overall system, real-time operating system, embedded network protocols, tradeoffs between hardware and software, etc. The lectures will be complemented by projects related to design of such systems.
This course introduces students to the principles and design techniques of very large scale integrated circuits (VLSI). Topics include: MOS transistor characteristics, DC analysis, resistance, capacitance models, transient analysis, propagation delay, power dissipation, CMOS logic design, transistor sizing, layout methodologies, clocking schemes, case studies. Students will use VLSI CAD tools for layout and simulation. Selected class projects may be sent for fabrication.
Term 3
This course will deal with the main aspects of applied modeling and optimization suitable for engineering, science, and business students. Sample applications to be used as case studies include channel capacity computation (information theory), statistical detection and estimation (signal processing), sequential decision making/revenue maximization (business), and others. Topics will include introduction to convex and non-linear optimization and modeling; linear, quadratic, and geometric program models and applications; stochastic modeling; combinatorial issues; gradient techniques; machine learning algorithms; stochastic approximation; genetic algorithms; and ant colony optimization.
This course is designed to enhance ECE’s students knowledge in core subjects with the ability of analyzing big data applications. It will cover both the computational techniques, and the mathematical intuitions in the skill sets for the big data analytics. This class will provide students with the necessary data engineering processing skills, refined data optimizations for feature engineering, and sophisticated linear analysis for data transform and model ensembling.
Term 4
This course presents tool, techniques, algorithms, and programming techniques using the Python programming language for data intensive applications and decision making. The course formally introduces techniques to: (i) gather,(ii) store, and (iii) process large volumes of data to make informed decisions. Such techniques find applicability in many engineering application areas, including communications systems, embedded systems, smart grids, robotics, Internet, and enterprise networks, or any network where information flows and alters decision making.
This course will provide a comprehensive introduction on deep learning techniques used by practitioners in industry, with a focus on programming exercises using deep learning software packages. The course starts with a brief overview on statistics, linear algebra, and machine learning basics, and emphasizes teaching the analytical tools and the programming skills for applying deep neural networks for different application scenarios. By the end of the course, students will have a thorough knowledge on the state-of-the-art approaches used in deep learning for engineering applications.
Term 5
An introduction course for machine learning theory, algorithms and applications. This course aims to provide students with the knowledge in understanding key elements of how to design algorithms/systems that automatically learn, improve and accumulate knowledge with experience. Topics covered in this course include decision tree learning, neural networks, Bayesian learning, reinforcement learning, ensembling multiple learning algorithms, and various application problems. The students will have chances to simulate their algorithms in a programming language and apply them to solve real-world problems.
Learn the technologies that make the Internet work. You will understand the IP and TCP protocols and their interaction. You will study TCP slow start in low noise and high noise environments, the use of proxy servers, web caching and gain understanding of the technologies used to make routers perform well under load. These include shortest path routing, new routing algorithms, TCP congestion control, leaky bucket and token bucket admission Control, weighted fair queuing and random early detection of congestion. Networks are described in terms of their architecture, transport, routing, and their management. Quality of Service issues (QoS) are integrated with communication models. The course requires problem solving and extensive reading on network technology. After an introduction to bridges, gigabit Ethernet, routing and the Internet Protocol, a fundamental understanding of shortest path and distance vector routing is taught. A ‘problem/solution’ approach is used to develop how and why the technology evolved to keep engineering tradeoffs in focus. Continuation of Information Networks I with a focus on the network and transport layers of the OSI layers. Protocol definitions for distributed networks and performance analysis of various routing protocols including Bellman-Ford, BGP, and OSPF. TCP over IP is discussed Other topics include pipelining, broadcast routing, congestion control and reservations, Leaky and Token Bucket algorithms, weighted fair queuing, tunneling, firewalls, Ipv4 and IPv6. Network layers in SAN including the different service categories are discussed. The TCP and UDP transport protocols are discussed in depth along with network security, DNS, SAN, SLIP, firewalls and naming.