Sign In

 COE and Other Electives

List of COE Electives/Technical Non-COE Electives/Management Electives

1. COE Electives

COE 501-Computer Architecture (3-0-3)         

Hardware and software approach to ILP, dynamic, speculative, VLIW, and superscalar execution models. Examples and case studies. Dynamic branch prediction techniques. Memory hierarchy, cache, and virtual memory, cache coherence, memory system performance. Parallel architectures models, coherence protocols, and interconnection networks. The students are expected to carry out research projects in the related fields of studies. Pre-requisite: graduate standing.

Prerequisite: Graduate Standing.

COE 502-Parallel Processing Architecture (3-0-3)

Introduction to parallel processing architecture, sequential, parallel, pipelined, and dataflow architectures. Parallel program models. Basic parallel programming techniques, problem decomposition, assignment, orchestration, and mapping. Examples and case studies of static, semi-static, and dynamic application parallelism. Performance: evaluation, scalability, and workload selection. The students are expected to carry out research projects in the related fields of studies.

Prerequisite: Graduate Standing.

COE 504-Heterogeneous Computing (3-0-3)

Introduction to Hard-RT, Soft-RT, and Firm-RT heterogeneous systems. Network heterogeneous computing: design issues, architecture, programming paradigm, environment, and Middleware Technologies. Applications and case studies. The students are expected to carry out research projects in related fields of study.

Prerequisite: Graduate Standing.

COE 510-Programming Methods for Robotics (3-0-3)

Introduction to the key elements of robotics programming. Key skills in implementing robotic software for real-time systems. Robot programming methods using ROS (Robot Operating System) including creating ROS service servers, implementing ROS nodes, communication between ROS nodes, ROS data structures. Simulation of robotics systems, such as SLAM using ROS frameworks. Hands-on experience in using ROS for programming ground robots and UAVs.

Prerequisites: Graduate Standing

COE 511-Multi-Agent Robotic Networks (3-0-3)

Principles of algebraic graph theory. Ad hoc networks: IoT and sensor network enabling technologies, Machine to Machine (M2M) routing protocols, Network topology, connectivity maintenance, fault-tolerance, and coverage> Autonomous multi-robot systems formations, maintenance, and control. Building a network of robots to achieve a common goal, e.g., cooperative Simultaneous Localization and Mapping (SLAM). Case studies.

Prerequisites: AE 581

COE 512-Sensing and Actuation for Intelligent Robots (3-0-3)

Integration of computational intelligence with advanced sensors and actuators for robotic systems perception. Computer vision, robot perception and place recognition, feature extraction, vision object tracking, and obstacle avoidance. Data acquisition and control, robotic system integration. Basic topics in micro-electro-mechanical systems (MEMS) and smart materials sensing and actuation.

Prerequisite: Graduate Standing.

COE 520-Queuing Theory and Network Applications (3-0-3)

Introduction to network applications, discrete random variables, continuous random variables, characteristic functions. Introduction to stochastic processes. Discrete-time Markov chains, continuous-time Markov chains. Introduction to queuing theory, M/M/1 and derivative queues, and M/G/1 queues. Burke's theorem. Jackson's theorem: the open and closed network of queues. Applications to computer networks and case studies.

Prerequisite: Consent of Instructor.

COE 526-Data Privacy (3-0-3)

Data privacy: definition and terminologies. Difference between data security and privacy. Data privacy attacks. Data privacy laws and regulations. Privacy risk and impact assessment. Privacy engineering, management, and evaluation. Data anonymization. Statistical privacy. Differential privacy. Cryptographic privacy. Homomorphic encryption. Secure multi-party computation. Secure data outsourcing. Data hiding and steganography. Anonymous networks. Trusted execution environment. Applications of privacy-preserving technologies in computer systems and applications.

Prerequisite: Graduate Standing.

COE 541-Local and Metropolitan Area Networks (3-0-3)

Local and Metropolitan Area Networks classes, standards, and network architectures. The physical layer for LANs and MANs. Introduction to basic Queueing Models. Multiple access techniques and protocols for advanced Local and Metropolitan Area Networks. Design issues, and performance modeling and analysis. Interworking and network management for LAN and MAN. Case studies including Gigabit/Terabit Ethernet, Gigabit WiFi, G/EPONs, etc. Emerging LAN and MAN technologies.

Prerequisite: Graduate Standing.

COE 542 – Information-Centric Networking (3-0-3)

Exploring issues with current Internet architecture. Introduction of the concept of Information-Centric Networking (ICN) and how it addresses those issues. Components of ICN such as caching, data-naming, routing and forwarding, and security. ICN proposed architectures such as Named-Data Networks (NDN), Network of Information (NetInf), Data-Oriented Network Architecture (DONA), and Publish-Subscribe Internet Routing Paradigm (PSIRP).

Prerequisite: Graduate Standing

COE 543-Mobile Computing and Wireless Networks (3-0-3)

Introduction to radio frequency propagation models. The physical layer for advanced mobile systems. Cellular configurations and interference mitigation and coordination methods. Multiple access techniques for wireless networks. Wireless network architecture. Cooperative communications. Mesh networks. Ad-hoc networks. Mobility solutions for mobile networks (Mobile-IP, Session Initiation Protocol, Mobile-Stream Control Transport Protocol, etc.). Quality of service, reliability, and security in the mobile computing environment. 5th generation wireless networks. Case studies including Wireless Personal Area Networks (e.g. Bluetooth, Zigbee, etc.), Wireless Local Area Networks (e.g. 802.11n, 802.11ac, etc.) Wireless Metropolitan and Wide Area Networks (e.g. WiMAX-2, Long-Term Evolution, and Long-Term Evolution Advanced).

Prerequisite: Graduate Standing

COE 544-Wireless Ad hoc Networks (3-0-3)

Introduction to the most recent advanced Mobile Ad hoc Networks (MANETs) routing protocols.  The course will cover all the issues that are related to design protocols such as scheduling, capacity, medium access, QoS, topology control, and mobility tracking. In addition, modeling techniques, as well as delay models, will be covered using Linear Programming.

Prerequisite: Graduate Standing.

COE 545-Wireless Sensor Networks (3-0-3)

The basic hardware and software platforms for sensor networks and will address in detail several algorithmic techniques for deployment, localization, synchronization, MAC, sleep scheduling, data routing, querying processing, topology management, and energy-aware protocols. Hands-on experience through programming projects involving different platforms. In addition, different microcontrollers, such as Arduino will be used to interface different wireless communication transceivers with sensors.

Prerequisite: Graduate Standing

COE 547-Network Management (3-0-3)

Network Management Standards and Models. Network Management Protocols. Network Management Applications. Network Management Tools and Systems. Abstract Syntax Notation One (ASN.1). Structure of Management Information (SMI). Management Information Base (MIB). Simple Network Management Protocol (SNMP). SNMPv2 and SNMPv3. Remote Monitoring (RMON). RMON 1 and 2. Web-Based Management. Recent Network Management Advances.

Prerequisite: Graduate Standing

COE 548 – Cloud Computing: Architecture and Security (3-0-3)

Study of cloud computing principles, architectures, and actual implementations. Cloud solutions performance evaluation. Performance issues such as security, cost, usability, and utility of cloud computing solutions will be studied both theoretically and in hands-on exercises. How to construct and secure a private cloud computing environment based on open source solutions, and how to federate it with external clouds.

Prerequisite: Graduate Standing 

COE 550 – Internet of Things: Applications and Implementation (3-0-3)

Study of IoT principles, IoT application requirements, Design issues in IoT. IoT technologies and architectures. Publish/Subscribe messaging protocols such as MQTT and COAP protocols. Security and privacy issues in IoT and IIoT communication protocols.

Prerequisite:  Graduate Standing

COE 552 – Software Defined Networking (3-0-3)

SDN paradigm and decoupling of control-plane and data-plan. OpenFlow. Controller design and network programmability. Open source controllers: Floodlight, NOX/POX, Open Daylight, etc. Traffic engineering using SDN (e.g. Google B4, Microsoft SWAN, and SDX). SDN virtualization: FlowVisor, Open vSwitch, and Network Function Virtualization (NFV). SDN for data centers, enterprise networks, wireless and mobile networks, and service provider networks. Case studies.

Prerequisite: Graduate Standing

COE 553 Fault Tolerance and Reliability in Computer Networks (3-0-3)

Introduction to concepts of faults, errors, and failures. Basic concepts of dependable computing including dependability attributes, means, and validation. Stochastic modeling techniques in the context of network reliability analysis. Error detection and correction techniques. Fault-tolerant topology design. The practices of reliable and fault-tolerant computer networks design. Case studies.

Prerequisite: Graduate Standing

COE 561-Digital System Design & Synthesis (3-0-3)

Overview of modern digital systems, Digital system hierarchy & abstraction levels, Design and Modeling using HDL, Design optimization and performance criteria, High-Level synthesis, Digital system implementation using FPGAs.

Prerequisite: Graduate Standing.

COE 562-VLSI System Design (3-0-3)

Review of MOS transistors, modeling, scaling, sizing, physical design (layout). IC Design Styles, Combinational and sequential logic, static CMOS, Dynamic circuits, pass-transistor logic. Clocking strategies, clock skew, setup, hold & propagation delays, self-timed logic, I/O design. Design considerations of regular structures: ROM's, PLA's, arithmetic circuits. CAD tools used in VLSI design (schematic, layout, DFT …etc.). CMOS memory architecture, design constraints. ROM, SRAM, and DRAM cells. Single and double-ended bit line sensing. Multiport register files. The course is project-oriented stressing the use of CAD tools through class projects.

Prerequisite: Graduate Standing

COE 563-Synthesis and Optimization of Digital Systems (3-0-3)

Digital design styles, design representations, abstraction levels & domains, Binary Decision Diagrams, Satisfiability and Covering problems, Two-level logic synthesis and optimization: Exact and heuristic techniques, Testability properties of two-level circuits, Multi-level logic synthesis and optimization, Observability, and controllability don't care conditions, Testability properties of multilevel circuits, Synthesis of minimal delay circuits, Sequential logic synthesis: state minimization, state encoding, retiming, Technology mapping, High-level synthesis: data flow and control sequencing graphs, scheduling, allocation.

Prerequisite: Graduate Standing

COE 566-VLSI ASIC Design (3-0-3)

Review of MOS transistors, modeling, scaling, sizing, physical design (layout), and static versus dynamic logic. MOS logic optimization of delay and area. IC Design Styles, Hardware description languages, ASIC design flows. ASIC design with HDL. ASIC library design, cell characterization, design area, and delay. Standard-cell design methodology, propagation delay, design area, critical path, placement and routing of cells, design optimization, and back annotation. HDL modeling, technology mapping, and synthesis. ASICs test techniques, fault models, boundary scan, and DFT. The course emphasizes hands-on experience through the use of available design tools for the design of ASIC VLSI.

Prerequisite: Graduate Standing.

COE 567-Digital System Modeling & Verification (3-0-3)

Introduction and approaches to digital system verification. Simulation versus Formal verification. Levels of hardware modeling (circuit, switch, gate, RTL, and Behavioral levels). Hardware description languages, Principle of Formal hardware modeling, and verification. Model-checking; binary and word-level decision diagrams, symbolic methods, Mathematical logic (First-order logic, Higher-Order Logic, Temporal Logic). Abstraction mechanisms for hardware verification. Automated theorem provers. Verification using Specific Calculus. Formal verification versus formal synthesis. Future trends in hardware verification.

Prerequisite: Graduate Standing.

COE 568-Design of Re-Configurable ASICs (3-0-3)

Review of modern digital systems and their designs. Hardware description languages, ASIC design flows. Field programmable gate Arrays: Architectures, Configuration Techniques, Design Parameters, and Models. FPGA Design Flow. Application Domains, Custom computing machines, and FPGA-based hardware accelerators. Case studies and contemporary issues in reconfigurable computing.

Prerequisite: Graduate Standing.

COE 571-Digital System Testing (3-0-3)

Basic principles and practice of digital system testing, Test Economics, Fault models, Fault simulation, Test generation for Combinational and Sequential circuits, Test compaction, Test Compression, Fault Diagnosis, Delay-fault testing, Design for testability, Boundary Scan, Built-in self-test: logic BIST and memory BIST, Testing of system-on-chip.

Prerequisite: Graduate Standing.

COE 572-Computer Aided Design of Digital Systems (3-0-3)

An up-to-date survey of design automation techniques for digital hardware designers. Digital design languages, System-level simulation. Register-transfer-level description and simulation. Gate-level simulation. Partitioning, placement, and routing for printed and integrated circuits. Fault simulation and test generation. Automated documentation. Integrated design systems. Hands-on experience on an actual design automation system.

Prerequisite: Graduate Standing

COE 581-Digital Forensics (3-0-3)

Research-oriented graduate course in digital forensics. The course aims to provide an extensive background suitable for those interested in conducting research in this area, as well as for those interested to learn about digital forensics in general. The course focuses on technical issues and open problems in the area. Topics include fundamentals of digital forensics; digital forensics models; OS artifacts forensics; live and memory forensics; network forensics; mobile devices forensics; current tools and their limitations; legal and ethical issues.

Prerequisite: Graduate Standing

COE 587-Performance Evaluation and Analysis (3-0-3)

Simulation of the functions of a computer system, Analytical and stochastic methods of performance, Graph models for multiprocessor, and parallel processing. Performance measures. Performance evaluation techniques. Application areas. The modeling cycle. Flow analysis. Bottleneck analysis. Hierarchical modeling. Case studies.

Prerequisite: Graduate Standing

COE 588-Modeling and Simulation of Computer and Networks Systems (3-0-3)

Computation as a third tool for the scientific method; Simulating probabilities, random variables, and stochastic processes; Discrete-event simulation; performance laws; event graphs; random number and variate generation; Monte Carlo methods; output analysis; case studies.

Prerequisite: Graduate Standing

COE 593-Multimedia Systems  (3-0-3)

Multimedia architecture and systems in ubiquitous computing devices. Time-Frequency Representation, Predictive Coding, Speech Analysis, and Synthesis, Image Understanding and Modeling, Image Compression Techniques, Color Models and Color Applications, 3-D Representation, Illumination Models, Graphics Systems, MPEG Standards, Video Compression, Video Conferencing, Digital Rights Management. Distributed machine learning systems and computational challenges.

Prerequisite: Graduate Standing

COE 596-Intelligent Computing (3-0-3)

Overview of natural evolution and its application as a problem-solving tool. Genetic algorithm and its extensions. Simulated annealing and taboo search. Evolution strategies and genetic programming. Social computing. Plant-based algorithms. Neural networks. Quantum computing. Examples and applications.

Prerequisite: Graduate Standing

COE 597-Real-Time systems (3-0-3)

Systems with temporal requirements. Need for real-time systems. Real-time operating systems. Distributed real-time systems. Designing and developing real-time systems. Fundamental problems and concepts.

Prerequisite: Graduate Standing

COE 599-Seminar (1-0-0)

Graduate students are required to attend the seminars by faculty members, visiting scholars, and fellow graduate students. Additionally, each student must present at least one seminar on a timely research topic. Among other things, this course is designed to give the students an overview of research in COE, and a familiarity with research methodology, journals, and professional societies in his discipline. Graded on a Pass or Fail basis.

Prerequisite: Graduate standing

COE 600-Computer Networks Project (0-0-3)

A project on an independent study performed under the supervision of a COE faculty advisor.  A written report should be submitted, presented, and orally examined by a faculty committee.

Co-Requisite: COE 599

COE 601-Massively Parallel Computing (3-0-3)

Introduction to massively parallel multiprocessors and their programming models. Streaming multiprocessor, SIMD, and multithreading. Highly multithreaded architectures, Thread-Level parallelism, resource sharing, thread scheduling, score-boarding, transparent scalability. Data dependence analysis, recurrences, races. Shared-memory, atomicity, mutual exclusion, barrier, and synchronization. Memory hierarchy optimization, locality and data placement, data reuse, loop reordering transformations, shared-memory usage, global memory bandwidth, and accesses. Control-flow, SIMD, thread blocks partitioning, vector parallel reduction, tree-structured computation, serialized gathering, Predicated execution, and dynamic task queues. Applications of static, semi-static, and dynamic parallel computations: dense and sparse linear Algebra, bucket sorting, N-body simulation, and ray-tracing.

Prerequisite: COE 501

COE 606-Independent Research (3-0-3)

This course is intended to allow M.S Students to conduct research-related independent study. The faculty offering the course should submit a research plan to be approved by the COE Graduate Program Committee. The student is expected to deliver a public seminar and a written report on his research outcome at the end of the course. The course is graded on a Pass or Fail basis. To select an adequate subject, prior arrangement with the instructor is required. Graded on a Pass or Fail basis.

Prerequisite: Graduate standing

COE 610-Computer Engineering Master Thesis (0-0-6)

The student has to undertake and complete a research topic under the supervision of a faculty member in order to probe in-depth a specific problem in Computer Engineering. Graded on a Pass or Fail basis.

Co-Requisite: COE 599

COE 642-Computer Systems Performance (3-0-3)

Queuing theory. Stochastic Petri nets and Markov Chains. Separable queuing networks. Priority queuing systems. Queuing networks, product forms, and various solution techniques. Matrix geometric solutions to queuing theory. Bounds and approximations. Fluid analysis and diffusion processes. Evaluation studies: monitoring techniques, modeling methods, and model validation. Simulations and variance reduction techniques. Application of queuing theory to computer time-sharing & multi-access systems, multiprocessor systems, interconnection networks. Computer communication networks. Case studies of several distributed and network system configurations.

Prerequisite: COE 520

COE 644-Radio Resource Management (3-0-3)

Radio resource management and performance analysis in transporting homogenous/ heterogeneous traffic in wireless communication networks. Traffic characteristics, connection admission control, packet scheduling, access control, and mobility and handoff management. Cases studies on mobile wireless networks and wireless sensor networks.

Prerequisite: COE 543

COE 647-Multimedia networks (3-0-3)

Fundamentals concepts in multimedia systems. Resource management issues in distributed/networked multimedia systems, QoS routing, and multicasting. Traffic shaping, Traffic engineering, Task, and message scheduling, Internet QoS. Adaptive multimedia applications over the Internet. Storage architecture and scalable media servers. Compression techniques, synchronization techniques for multimedia. Multimedia over wireless networks. Case studies.

Prerequisite: COE 540

COE 661-System-On-Chip Modeling and Design (3-0-3)

A current-day system on a chip (SoC) consists of several different microprocessor subsystems together with memories and I/O interfaces. This course covers SoC design and modeling techniques with an emphasis on architectural exploration, assertion-driven design, and the concurrent development of hardware and embedded software. This is the 'front end' of the design automation toolchain.

Prerequisite: COE 561

COE 665-Hardware/Software Co-Design on Embedded Systems (3-0-3)

Embedded System Design Considerations, Classical Design Methods, co-representation, Performance Modeling, Co-design Trade-offs, Functional Decomposition, Partitioning, Design methodologies, Co-design Environments, Abstract Models, Recent Techniques in Co-design, Case Studies.

Prerequisite: COE 561

2. Non-COE Technical Electives from Other Departments

Graduate Course from:

Petroleum Engineering & Geosciences
Information and Computer Science Department
System Engineering Department
Mathematics & Statistics Department
Electrical Engineering Department, Communication Systems, EE 57x.
3. Management Electives from Other Departments
Master of Business Administration
Engineering Management Program