Sign In
 

 COE Graduate Courses

COE Graduate Courses

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

Hardware and software approaches 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.

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 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: Graduating Standing

COE 540-Computer Networks (3-0-3)

Review of Computer networks layering concepts and quality of service requirements. Physical Layer, Data Link Layer; ARQ Strategies; Analysis of ARQ Strategies. Multi-access communication. Network Layer. Routing in Data Networks. Flow and Congestion Control. Transport Layer. Application Layer: peer-to-peer networking, Content Distribution Networks. Studying a number of classic and current papers on these subjects. Case studies.

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 546-Computer Network Design (3-0-3)

Introduction to different types of computer networks: LANs, VLANs, InterVLAN Routing, ISL/802.1Q Trunking, and WANs. STP and, PVST PVST+ protocols, in addition to ACL (Standard and Extended). IPv4 and IPv6 subnetting and routing. Multicasting, Internet Group Management Protocol (IGMP), and Multicast Listener Discovery (MLD) protocols. Distance-Vector Multicast and Protocol Independent Multicast. Network development life cycle. Network analysis and design methodology. Link topology and sizing; Routing; Reliability. Data in support of network design. Datacenter design and implementation. A packet tracer simulator/emulator or other simulation tools will be used heavily.

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: Graduating Standing

COE 551-Computer and Network Security (3-0-3)

Overview of Online attacks, Malware, Social engineering, Physical and Communication security, Access control techniques, Cryptography: Classical cipher, Mathematical cipher, Stream cipher, Block cipher, public key. Other information security: Steganography, Hashing, Secret sharing, Software reverse engineering & Program security, Firewalls & IP sec, Security policy & risk management, Advanced security topics.

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, OpenDaylight, 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 and 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: Graduating 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: Graduating 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 and 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: Graduating 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: Graduating 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: Graduating 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 multiprocessors and parallel processing. Performance measures. Performance evaluation techniques. Application areas. The modeling cycles. 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: Graduating 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: Graduating 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: Graduating 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 raytracing.

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: Graduating 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

COE 699 Seminar (1-0-0)

PhD students are required to attend Departmental seminars delivered by faculty, visiting scholars, and graduate students. Further, each PhD student should present at least one seminar on a timely research topic. The course is graded as pass or fail. To secure a passing NP grade in this course, the student should have passed the PhD Comprehensive Exam. A student registered in the Seminar Course will be assigned an IC (incomplete) grade in case he fails the PhD Comprehensive exam in that semester. The IC grade will be changed to a passing NP grade once he passes the PhD Comprehensive Exam latest by the following semester to avoid having the IC grade changed into F.

Prerequisite: Graduate Standing

COE 701 -Directed Research I (3-0-3)

This course is intended to allow students to conduct research in advanced problems in their Ph.D. area of specialization. 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. At the end of the course, the student must deliver a public seminar to present his work and findings. The course is graded on a Pass or Fail basis.

Prerequisite: Prior arrangement with an instructor

COE 702-Directed Research II (3-0-3)

This course is intended to allow students to conduct research in advanced problems in their Ph.D. area of specialization. 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. At the end of the course, the student must deliver a public seminar to present his work and findings. The course is graded on a Pass or Fail basis.

Prerequisite: Prior arrangement with an instructor

COE 711-Computer Engineering Ph.D. Pre-Dissertation (0-0-3)

This course enables the student to submit his PhD Dissertation Proposal and defends it in public. The student passes the course if the PhD Dissertation committee accepts the submitted dissertation proposal report and upon successfully passing the Dissertation proposal public defense. The course grade can be NP, NF, or IP.

Co-Requisite: COE 699

Prerequisite: Ph.D. Candidacy

COE 712-Computer Engineering Ph.D. Dissertation (0-0-9)

This course enables the student to submit his PhD Dissertation Proposal and defends it in public. The student passes the course if the PhD Dissertation committee accepts the submitted dissertation proposal report and upon successfully passing the Dissertation proposal public defense. The course grade can be NP, NF, or IP.

Prerequisite: COE 711


295