Department Course
Circuits Fundamentals (CENG201)
This course will introduce students to circuit analysis techniques including nodal analysis, mesh analysis, source transformation, Thevenin's and Norton theorems, and superposition. The course will also cover transient response topics, such as first order RC & RL circuits, step response & time constants, second order RLC circuits, and resonance & quality factor. Phasor representation of sinusoids, impedance & admittance, and circuit analysis using phasors will be also discussed. Average power and RMS values. Finally, operational amplifiers (Op Amp) topics such as ideal Op Amp operation, circuit analysis of Op Amp inverting configuration, applications of inverting configuration, and circuit analysis of Op Amp non-inverting configuration are discussed in detail.
Credit Hours : 3
Prerequisites
- PHYS105 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Analyze And Solve For The Transient Response Of First Order Rl And Rc Circuits As Well As Second Order Rlc Circuits.
- Analyze Dc Electric Circuits Using Nodal And Loop Analysis.
- Apply Thevenin’S And Norton’S Theorems For Circuit Analysis And Use The Maximum-Power-Transfer Theorem.
- Identify The Voltage–Current Relationship And Compute Energy Stored In Inductors And Capacitors.
- Investigate The Ideal Op-Amp For A Specific Application.
- Solve For Current And Voltage Using Network Theorems, Such As Superposition, And Source-Transformation Methods.
Discrete Mathematics (CENG202)
The objective of this course is to introduce the concepts of discrete mathematics which includes sets, sequences, summations, functions, matrices, graphs and trees. It also introduces logical reasoning which includes the logic of compound statements (simple statements joined by logical connectives), logic of quantified statements which is in fact the symbolic analysis of ordinary compound statements (sometimes called statement calculus or propositional calculus), and different proof techniques, such as direct proof technique, contradiction proof technique, contrapositive proof technique, induction and recursion proof technique. Finally, the course introduces the concepts of elementary number theory and counting techniques.
Credit Hours : 3
Prerequisites
- MATH105 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Apply Graph Theory Models To Solve Problems Of Connectivity.
- Prove Assertions Using Basic Proof Methods.
- Synthesize Induction Hypotheses, Proofs, And Derive Closed-Forms Of Series And Recurrences For Growth Rates Of Processes.
- Use Formal Methods Of Symbolic Propositions To Evaluate Elementary Mathematical Arguments And Identify Logical Reasoning.
- Use Logical Notation To Define And Reason About Fundamental Mathematical Concepts Such As Sets, Relations, Functions, Matrices And Integers.
Digital Design & Computer Organization (CENG205)
This course introduces students to the basic concepts of digital systems, including binary systems and codes, digital logic gates, combinational and sequential logic circuits. It also introduces students to the basic concepts of computers, their design and how they work. It encompasses the definition of the machine's instruction set architecture, its use in creating a program, and its implementation in hardware. The course addresses the bridge between gate logic and executable software,
Credit Hours : 3
Course Learning Outcomes
At the end of the course, students will be able to :- Analyze Combinational And Sequential Circuits.
- Convert Between Different Number Systems And Represent Signed Numbers In Both 1'S And 2'S Complement Representation.
- Define A Modern Computer System'S Major Components, Their Functions And Inter-Relationships.
- Describe The Components Of The Instruction Sets And The Different Types Of Instructions And Addressing Modes.
- Design And Implement Combinational And Sequential Circuits.
- Explain The Memory Hierarchy Structure And The Importance And Characteristics Of Each Level
Communication & Networks Fundamentals (CENG210)
This course introduces students to the basic concepts of data communication system, computer networks and TCP/IP layer model. It provides students with an overview of the functionalities, processes and operations of physical layer, data layer, network layer and transport layer. This overview will include basics on signals, analog and digital transmission, multiplexing, modulation, data encoding, medium access control, error control, IP addressing, and flow/congestion control mechanisms.
Credit Hours : 3
Prerequisites
- PHYS105 with a minimum grade D
- Pre/Co CENG205 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Apply Different Mechanisms Of Error Control, Flow Control And Medium Access Control At The Data Link Layer.
- Discuss The Operations And Functions Of Different Transport Layer Protocols.
- Explain The Different Concepts And Functions Of The Physical Layer.
- Explain The Main Functions Of The Network Layer Such As Packet Switching, Ip Addressing And Fragmentation.
Computer Architecture (CENG221)
The course covers primary building blocks of general-purpose computing systems. The course topics include MIPS Instruction Set Architecture and corresponding assembly language. Other covered topics include: digital building blocks of processor micro-architecture, ALU design, and single-cycle processor design. Memory hierarchy and cache micro-architectures are also covered. Additionally, the students learn how to measure performance and how to improve it using pipe-lining. They also learn the structural optimization for preventing data and control hazards. Overall, the course encompasses the core principles of the classical Von Neumann architecture.
Credit Hours : 3
Prerequisites
- CENG205 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Explain how program instructions execute on a simple processor.
- Evaluate how the components of a computer system affect its performance.
- Design a simple processor pipeline.
- Identify pipeline stalls due to hazards.
- Evaluate the use of memory hierarchy in a computer system.
- Develop MIPS-based assembly programs.
Circuits Lab (CENG231)
This course consists of a set of laboratory experiments designed to provide students with hands-on experience in electrical and electronic circuits. Students will learn how to design, simulate, hardware implementation and take measurement on basic AC and DC circuits including electronic components such as BJT and op-amp circuits. Students will become familiar with circuit simulation, safety and grounding considerations and instrumentation. They will also gain hands-on experience on how to use oscilloscopes, signal sources, multimeters, and signal analyzers.
Credit Hours : 1
Prerequisites
- Pre/Co CENG201 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Analyze And Design Electrical Circuits Using Eda Tools.
- Apply The Electrical Circuit Laws And Network Theorems To Design And Build Electrical Circuits Of Varying Complexities.
- Design And Implement Analog Electronic Circuits Using Discrete Components.
- Explian The General Lab Safety Rules And Proper Use Of Electrical Testing And Measuring Instruments.
- Measure Electrical Quantities On Different Circuit Nodes Using The Laboratory Instruments, And Verify Results Theoretically.
Signals and Systems I (CENG320)
This course introduces students to continuous-time and discrete-time signals and systems. The course covers linear time invariant (LTI) systems in terms of system properties, convolution sum, and convolution integral representations. LTI systems are also described using differential and difference equations. Throughout this course, topics such as Fourier series, Fourier transform and Laplace Transform will be discussed in detail. All signals and systems manipulations will be done through MATLAB.
Credit Hours : 3
Prerequisites
- MATH275 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Apply Convolution Integral To Find The Zero-State Response Of Lti Continuous Systems.
- Compute The Response Of The First And Second Order Systems.
- Derive The Generalized Fourier Series Expansion Of A Signal And Compute Its Fourier Transform.
- Perform Basic Operations Such As Time Scale, Time Shift, Time Reverse, And Combining Of These Operations For Signals Using Small Script And Functions In Matlab.
- Recognize The System Characteristics, I.E., Linearity, Causality, Stability, …, Etc.
- Use Fourier Transform And Laplace Transform Techniques In System Analysis.
Digital System Design (CENG324)
This course introduces students to hardware design techniques using a Hardware Description Language (HDL). The course covers concepts of designing, modeling, simulating, and synthesizing digital systems at different abstraction levels including structural, data-flow and behavioral levels. It also introduces HDL-based simulations and testing environments for functional verification and debugging. The course also discusses important HDL features, modeling techniques and finite state machine design.
Credit Hours : 3
Prerequisites
- CENG205 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Apply state minimization techniques to finite state machines.
- Design logic circuits and finite state machines using hdl methods.
- Discuss the digital design methodologies and various types of programmable logic devices.
- Distinguish between function and logic hazards.
- Use an hdl simulator to compile, simulate and synthesize digital systems.
Digital Design lab (CENG325)
This lab provides intensive hand-on experiments in digital circuits design and implementation using Verilog as an HDL language. In this lab students will learn the full custom design process using Verilog structural modeling, and Verilog behavioral and logic synthesis. This lab covers the design of both combinational and sequential logic circuits, simulation tools will be used to simulate and debug designs. FPGA boards will be used for implementing simulated error-free design
Credit Hours : 1
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Design And Implement Combinational And Sequential Circuits Using Hdl
- Simulate And Test Combinational And Sequential Circuits
- Use Modern Eda Tools Properly In Digital System Design
- Utilize Both Hdl Tools And Eda Capabilities To Design, Simulate And Implement A Stand-Alone Application
Introduction to Embedded Systems (CENG328)
This course covers various aspects of embedded system design using micro-controllers. Equipped with the CPU design background from the prerequisite course, in this course, students are expected to comprehend and apply various techniques to build a working embedded system. The topics covered in this course include: mechanism of interfacing peripheral input/output (I/O), timer and Pulse Width Modulation (PWM), analog-digital conversions (ADC and DAC), communication ports, interrupt principles, real-time design issues, and system design methods. In addition to theoretical topics, this course also fosters students’ hands-on and communication skills by working on cutting-edge embedded prototype devices through group projects.
Credit Hours : 3
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Design And Implement A Standalone Embedded Application.
- Design, Implement, And Test Microcontroller-Based Systems.
- Discuss Real-Time Issues And Methodologies.
- Identify Major Components Of Microcontroller Systems.
- Interface I/O Devices.
- Program Microcontrollers In Mips Assembly Language And In C.
Introduction to Embedded Systems Lab (CENG329)
This course consists of laboratory experiments on practical implementation of the microcontroller building blocks including timers, counters, PWM, interrupts, I/O techniques and requirements, A/D and D/A conversion and serial communications. Students will learn how to code control softwarefor I/O devices and use system design process to implement embedded systems.
Credit Hours : 1
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Design And Implement An Embedded System.
- Develop Programs For Interfacing A Microcontroller With I/O Devices.
- Interface A/D And D/A Convertors With A Microcontroller System.
- Interface Memory With Microcontroller And Write Programs Related To Memory Operations
Autonomous Systems: Fundamentals and Applications (CENG340)
The objective of this course is to prepare students for the exciting and rapidly developing field of coordination, navigation, and control of autonomous systems. The focus is on the use of software, platforms, and tools required for (semi-)autonomous systems. To work in this area, students will be familiarized with a wide range of topics, including but not limited to robot kinematics, dynamics, state estimation, path planning, and computer vision. The aim of this course is to cover these essential topics, focusing on their application to robots in general and Unmanned Aerial Vehicles (UAVs) in special. The course will be supplemented by a series of lab tasks that will help students simulate different use cases, where they will implement and configure algorithms in a simulation environment on UAVs with the help of Python, MATLAB, and other software tools. Ultimately, students will apply the knowledge they have gained during the course to design and construct an autonomous system.
Credit Hours : 3
Prerequisites
- CENG328 with a minimum grade D
Corequisites
- CENG341 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Describe the fundamental principles of autonomous systems (Knowledge)
- Demonstrate problem-solving skills in the design and implementation of autonomous systems (Analysis)
- Develop software for the control and operation of autonomous systems. (Application)
- Apply domain-specific expertise to design and develop autonomous systems (Synthesis)
Autonomous Systems Lab (CENG341)
This laboratory provides students with a series of hands-on experiments for autonomous systems with a focus on UAVs. The lab will provide hands-on in system integration, tools/platform deployment and testing, and validation. The lab covers configuring the software tools, working with platforms, and designing, building, and programming UAVs. A series of well-defined lab exercises will enable students to build real-world use-cases with UAVs, providing students with insights into UAV technologies, flight dynamics, autonomous navigation, and applications.
Credit Hours : 1
Prerequisites
- CENG328 with a minimum grade D
Corequisites
- CENG340 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Describe the fundamental principles of autonomous systems (Knowledge)
- Demonstrate problem-solving skills in the design and implementation of autonomous systems (Analysis))
- Develop software for the control and operation of autonomous systems. (Application)
- Design and develop a prototype of an autonomous system (Synthesis)
Distributed Computing and Data Engineering (CENG400)
This course provides students with a comprehensive introduction to distributed data engineering and data streaming concepts, distributed platforms, distributed data acquisition, and distributed computation models. It covers essential distributed computing technologies and platforms such as Databricks, Sparks, Hadoop, and MapReduce. Students will gain hands-on experience with popular software libraries for distributed data acquisition, crawling, processing, and learning. The curriculum encompasses data modeling, visualization, and the application of scalable machine learning algorithms to big data. By exploring topics like social network analysis and big data foundations, students will develop a profound understanding of modern-day distributed computing and the integral roles played by Data Engineers, Data Scientists, and Data Analysts in this evolving ecosystem.
Credit Hours : 3
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Discuss distributed computing concepts, platforms, and models for data acquisition, processing, and analytics
- Apply techniques for collection, storage, and mining of different types of data
- Analyze the challenges and performance of different data processing techniques
- Develop a data processing application to efficiently handle data in a distributed environment
Distributed Systems, Microservices and Containers (CENG410)
Distributed systems and distributed computing provide infrastructure for developing and enabling widely demanded and highly scalable applications from anywhere. Microservices and containerization are widely used approaches to building maintainable, scalable, distributed cloud-based applications that can be deployed and managed in a distributed and independent way. This is a comprehensive course designed to equip students with the knowledge and hands-on skills needed to architect, develop, and deploy microservices-based applications using containers. Through a combination of theory, practical exercises, and real-world projects, students will gain expertise in building and managing scalable and resilient microservices architecture.
Credit Hours : 3
Prerequisites
- CSBP219 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Discuss the concepts of distributed computing architectures and platforms in terms of microservices.
- Apply microservices techniques, architecture and technology stack for building enterprise applications.
- Analyse the requirements for deploying microservices within a distributed system architecture.
- Design and implement distributed, scalable, secure, and fault-tolerant microservices
System Design, Analysis and Simulation (CENG420)
The course provides an overview of the basic concepts, methodologies, models, and tools needed to fully understand the full life-cycle of system design, analysis and development. This understanding is then used to derive a validated set of requirements and select, among alternatives, a design solution that satisfies the system's goals and objectives. The course will explore the use of fundamental statistical methods and the use of modeling and simulation approaches, including data acquisition, analysis and validation, to design and analyze systems and gain a deep understanding of their dynamics, robustness and reliability. A key objective is to demonstrate how different modeling and simulation approaches and tools can be used to assess system performance and validate adherence to system specifications. The application of these skills to solving real-world system engineering problems is emphasized in the lab and course projects.
Credit Hours : 3
Prerequisites
- STAT210 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Explain concepts, methodologies and approaches to systems engineering and discuss the different phases, applications and benefits of the systems development life-cycle.
- Construct convincing arguments for the value of simulation and modeling approaches in system analysis, design, and implementation, under uncertainty.
- Apply system design engineering knowledge and methodologies to analyze, develop and defend solutions to real-world engineering problems.
- Develop a feasibility analysis of a proposed system and use simulation software and tools to evaluate its performance and adherence to requirements.
Applied AI for Computer Engineering (CENG430)
The course is designed to equip students with practical knowledge in applying AI and ML techniques specifically within the field of computer engineering. It offers a comprehensive grasp of AI principles, techniques, and applications tailored to computer engineering. Topics covered encompass fundamental AI concepts, machine learning, deep learning, reinforcement learning, and generative AI. The course places significant emphasis on hands-on experience with cutting-edge ML platforms, training libraries, inferencing services, monitoring, drift detection, reproducibility, and pipeline orchestration, all with a focus on deploying ML solutions effectively within computer engineering contexts.
Credit Hours : 3
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Formulate and apply advanced Artificial Intelligence (AI) and Machine Learning (ML) algorithms to tackle real-world challenges in computer engineering
- Develop and implement innovative solutions utilizing AI and ML techniques for specific problems in computer engineering applications
- Critically analyze and interpret the results generated by AI and ML models in the context of computer engineering challenges.
- Evaluate the effectiveness, efficiency and correctness of AI-based solutions applied to specific problems in computer engineering..
Machine Learning for Embedded Systems (CENG440)
This course focuses on resource-constrained devices and introduces techniques and strategies for developing energy/time-efficient Machine Learning algorithms and models for embedded systems. Topics that are covered include Commonly used machine learning methods for embedded systems, model compression techniques on hardware platforms, hardware-aware machine learning, implementation and deployment of machine learning algorithms and models on embedded devices. This course also fosters students’ hands-on skills development experience through team-based projects and presentations.
Credit Hours : 3
Prerequisites
- CENG328 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Recognize the foundational concepts and principles in machine learning models, training, and inference techniques for embedded systems.
- Develop the ability to collect, preprocess, and manage data on resource-constrained devices.
- Evaluate the performance of Machine Learning algorithms and models in resource-constrained devices.
- Design an embedded system that integrates hardware, software, and machine learning on power and performance-constraint devices to solve a given problem.
Hardware Testing and Fault Tolerance (CENG513)
The course covers fault tolerance and hardware testing techniques for circuits and systems. The course topics include: reliability, faults and fault models, and metrics such as availability, mean time to failure (MTTF) and mean time between failures (MTBF). The students learn how to derive reliability using reliability block diagrams and Markov chains. The other covered topics are: error detection and correction in digital circuits and systems. The students also learn the techniques for testing digital circuits, for example, built-in self-testing (BIST).
Credit Hours : 3
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Apply Error Detection, Correction, And Redundancy Techniques.
- Define Reliability, Availability, Mttf, And Mtbf.
- Derive System Reliability Using Reliability Block Diagrams And Markov Chains.
- Explain Self-Testing Techniques For Digital Circuits.
- Use Different Techniques To Determine Appropriate Test Vectors For Digital Circuits.
Hardware/Software Integration (CENG521)
This course takes the knowledge from a number of prerequisite courses and integrates them into the basis of a hardware and software co-designed embedded systems. The topics covered in this course include: concept of hardware and software, application modeling and analysis, hardware/software communication, performance and trade-offs, state-of-the-art System-on-Chip (SoC), and interfacing and on-chip buses. Hardware implementation techniques using HDL are employed to demonstrate the taught concepts.
Credit Hours : 3
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Analyze The Data And Control Characteristics Of An Application.
- Apply Decision Making Strategies In The Design Process For Optimization.
- Design An Embedded Application Employing Taught Techniques, And Analyze The Performance.
- Identify The Roles Of Hardware And Software In Embedded Design.
- Implement Algorithms And Systems Combinationally In Hdl And Assembly/C.
Networking Lab (CENG529)
This laboratory provides students with a series of hands-on experiments in introductory network topics. It covers the design, configuration and troubleshooting of wired and wireless network as well as implementing basic security mechanisms. Students will gain an understanding of the layered approach to networks and examine the OSI and TCP/IP models to understand their function and services. The lab provides also experimental activities on inter-networking and routing concepts and protocols to develop an understanding on how networks are linked together.
Credit Hours : 1
Prerequisites
- CENG210 with a minimum grade D
Corequisites
- CENG530 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Analyze Ip Routing Traffic Using Packet Sniffer Software
- Build Basic Wireless Communication Network
- Design And Implement A Network Using Various Addressing.
- Implement Network Security Solutions Using Various Security Mechanisms
- Perform Dynamic And Static Network Configurations And Troubleshooting
Computer Network Protocols (CENG530)
This course exposes students to the details of the TCP/IP protocols. Students will learn the IP addressing and sub-netting schemes, data packets delivery and routing techniques. The course covers protocols at various layers with a deep explanation of address resolution protocol (ARP), IP protocol, and transport protocols: UDP and TCP. Students will also learn network troubleshooting using ICMP and routing protocols such as RIP and OSPF. The course also includes an introduction to Internet of Things (IoT), its standards, and protocols.
Credit Hours : 3
Prerequisites
- CENG210 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Describe The Major Iot Concepts And Standards
- Design A Network Using Ip Addressing And Sub-Networking Schemes
- Discuss The Use And Operations Of Ip And Transport Protocols
- Explain Routing Mechanisms And Protocols In Computer Networks
- Explain The Role And Functions Of Each Layer In The Tcp/Ip Stack.
Wireless Communication and Sensor Networks (CENG531)
The objective of this course is to give an introduction to the fundamentals of wireless and mobile communications. The course will cover topics such as RF spectrum, transmission fundamentals, principles of radio communication systems, signal encoding and modulation techniques. It will also cover wireless network architectures, technologies, protocols, and applications. The course will introduce topics related to wireless sensor networks (WSNs) such as WSN architecture and design, routing and transport layer techniques.
Credit Hours : 3
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Demonstrate The Main Concepts Of Medium Access Control, Routing, And Transport Layers In Wsns.
- Describe The Key Hardware And Software Architectural Components Of A Sensor Mote.
- Discuss Different Modulation/Demodulation Techniques Used In Current Wireless Communication Systems.
- Explain Protocols Underlying The Design Of Modern Communication Systems.
- Explain The Principles Of Wireless Transmission, Reception, Antennas And Propagation.
Network Security (CENG532)
This course introduces students to the principles of network security with emphasis on network security architectures and mechanisms. Students will learn about network security threats and their countermeasures, types of firewalls, and firewall implementations. The course also covers concepts in Virtual Private Networks and Web security, including IPSEC, L2TP, SSL and SET protocols.
Credit Hours : 3
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Describe The Foundational Concepts Of Vpns
- Design Secure Network Solutions Using Various Security Mechanisms
- Discuss Network Security Threats And Their Countermeasures
- Explain The Operation Of Security Protocols At Various Layers Of The Tcp/Ip Network Model.
- Implement Network Security Policies Using Firewalls
Advanced Network Services (CENG533)
Converged network technologies for voice, video and data with emphasis on application layer VoIP protocols (H.323 and SIP); Media gateway controller protocols (MGCP) and the transport of VoIP, and RTP/RTCP; Further topics include:- quality of service (QoS) issues and dimensioning a VoIP network, MPLS, design of VoIP networks, and voice compression standards (G.721, G.729).
Credit Hours : 3
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Explain converged network architecture, and voice over IP technologies.
- Design VoIP based solutions using different network technologies.
- Evaluate the performance of a VoIP network.
- Identify the benefits and risks of deploying VoIP solutions.
- Analyze quality of service requirements for VoIP applications.
- Discuss VoIP related protocols such as SIP, MGCP, H.323, and voice compression standards
Selected Topics in Computer Engineering (CENG580)
Special topics in computer engineering is a unique course, which covers advanced and emerging topics of special interest to undergraduates. The topics are selected from recent developments and trends in computer engineering. The course may introduce new or emerging aspects in the field, contemporary applications and theory in computer engineering, or assesses the state-of-the-art through readings, discussions, and critiquing current literature. (Pre-requisites: Senior standing)
Credit Hours : 3
Course Learning Outcomes
At the end of the course, students will be able to :- Apply The Specialized Methods, Techniques, And Skills In Computer Engineering Design
- Discuss The Methods, Techniques, And Skills Specific To The Topics.
- Evaluate The Feasibility And Applications Of The Specialized Topic
Embedded Systems Design (CENG601)
One of the primary reasons behind the emergence of IoT is the rise of embedded platforms (low cost, small form factor devices with significant processing power) which are powering a number of IoT applications in a wide variety of domains. This course aims to cover trends and challenges in embedded systems design understanding the hardware-software trade-offs, introduce microcontrollers, interfacing these with digital/analog systems and the ability to program these systems. The focus of this course will be on the following topics: Micro-controllers (MCUs) and computer interfacing with analog and digital systems; Real-time control issues; Assembly language programming methods for control; Design of control software; Input/output methods, data interrupts, and general issues in digital signal processors (DSPs); Differences in the architectures, functions, and applications of DSPs.
Credit Hours : 3
Course Learning Outcomes
At the end of the course, students will be able to :- Discuss the trends and challenges in embedded systems and the different components that make up microcontrollers.
- Identify different off-the-shelf microcontroller platforms.
- Program microcontrollers and DSPs using suitable Integrated Development Environments (IDEs).
- Design microcontroller and DSP systems interfacing with I/O devices and comprehend real-time concepts.
Wireless and Mobile Networks (CENG602)
IoT is multi-disciplinary and broadly involves leveraging sensing and communication technology to solve problems in a wide variety of domains. The objective of this course is to highlight different verticals where IoT has been and continues to be employed. Ubiquitous connectivity is another key reason behind the emergence of the IoT and therefore, this course aims to cover the history, evolution, and developments in wireless and mobile network systems with a particular emphasis on technologies relevant to the IoT (both short-range and long-range). In particular, this course will cover topics on Wireless HART, IEEE 802.15.4, IEEE 802.11ah, Bluetooth Low Energy, Zigbee Smart Energy, HomePlug Low Power Wide Area Networks (focusing on LoRaWAN, SIGFOX, NB-IoT) and 3GPP Machine Type Communications (MTC).
Credit Hours : 3
Prerequisites
- CENG210 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Discuss the different wireless communication technologies used to build IoT solutions and the role of each one in the IoT ecosystem.
- Analyse the different short range and long range wireless connectivity technologies for the IoT.
- Evaluate the factors affecting choice of a technology when building a solution.
- Build a proof-of-concept prototype IoT application using one of the short range or long range wireless technologies.
Internet of Things (IoT) Systems and Platforms (CENG603)
This course builds on the introductory communication networks course(s) that the students may have taken during their undergraduate education. A brief overview of some of the important topics from the network and transport layer from the undergraduate course is provided followed by treatment of advanced topics, in particular, protocols that have been developed to meet the requirements of the Internet of Things. The specific topics covered will focus on IPv6, network layer protocols such as Routing for Low Power and Lossy Networks (RPL), 6LoWPAN, IPv6 over time slotted channel hopping (6tisch), IPv6 over Bluetooth Low Energy and application layer protocols such as Constrained Application Protocol (CoAP) and Message Queue Telemetry Transport (MQTT). The motivation and overview of different IoT platforms will also be provided in addition to hands-on exercise on how to use the Thingworx platform for building an IoT application.
Credit Hours : 3
Course Learning Outcomes
At the end of the course, students will be able to :- Discuss and analyze the evolution of IoT.
- Evaluate the operation of the different protocols for the IoT.
- Analyze the different IoT platforms.
- Design an application using an IoT platform.
Sensors, Data Acquisition and Interfaces (CENG604)
This course covers a selection of sensors, transducers and the signal conditioning necessary for including these in a data acquisition system such as internet of things. It investigates most common types of sensors, the analogue to digital and digital to analogue conversion principles and their practical applications for data acquisition and control. Examples of a selection of output drivers and devices are also provided. Applications of recording data from sensors (real-time data acquisition and interfaces) in daily life are also provided.
Credit Hours : 3
Prerequisites
Course Learning Outcomes
At the end of the course, students will be able to :- Discuss appropriate techniques and devices for realizing a data acquisition system.
- Evaluate sensor, transducer and amplifier characteristics to measure a specific environmental change.
- Evaluate the operation of amplifiers, analogue to digital and digital to analogue converters.
- Design a data acquisition system utilising smart sensors and transducers.
Internet of Things Security (CENG640)
This course will examine the security and ethical issues of the vast implementation of smart devices known as the Internet of Things (IoT). It will discuss IoT technology and market-specific topics, relevant case studies of IoT security vulnerabilities and attacks, and mitigation controls. It will also discuss common security architectures that can be applied to IoT systems and discusses regulations and standards that apply to secure IoT systems.
Credit Hours : 3
Prerequisites
- CENG210 with a minimum grade D
Course Learning Outcomes
At the end of the course, students will be able to :- Discuss security issues associated with the Internet of Things.
- Analyse threats, vulnerabilities and attacks involving the Internet of Things.
- Apply security design principles across the IoT stack such as at the device, connectivity, platform/cloud, data and application layers.
- Evaluate the use of emerging technologies in addressing security issues in IoT such as machine learning and AI.
Special topics in Computing and IoT (CENG655)
This course covers special topics on various advanced or specialized topics in Computing. Its content is customized on every offering depending on current trends and expression of mutual interest by students and faculty
Credit Hours : 3
Course Learning Outcomes
At the end of the course, students will be able to :- Discuss emerging trends in computing and IoT.
- Analyse new and rapidly evolving computing and IoT technologies and their applications.
- Investigate research activities in selected topics of IoT.
Modeling, Simulation and Performance Evaluation (CENG709)
Computer simulation concepts and modeling theory, probability distributions and queuing theory, random number generation, probability distribution generation, data collection and input analysis, discrete modeling and simulation concepts, Monte Carlo" Simulation.
Credit Hours : 3
Course Learning Outcomes
At the end of the course, students will be able to :- Articulate the significance, similarities, and differences among the modeling, simulation, and performance evaluation techniques
- Apply simulation and performance evaluation techniques to develop and evaluate the relative merits of alternative system design models
- Analyze simulation and performance evaluation results in a clear and coherent manner
- Apply appropriate modeling techniques to real world problems and data sets
Advanced Computer Architecture (CENG742)
This course covers topics essential to modern computing systems including review of current state of computer hardware and architecture; single and multi-core hardware; memory hierarchy and performance; cache hierarchies; cache coherence protocols; pipelining and hazards; quantitative design and analysis; instruction-level parallelism; data-level parallelism; thread-level parallelism; ultra-low power/energy design and optimization; microarchitectures for dependability; microarchitecture modeling and simulation; buses and arbitration; and peripheral devices.
Credit Hours : 3
Course Learning Outcomes
At the end of the course, students will be able to :- Evaluate advanced computer architectures including multiprocessor and multicore systems.
- Create simulation models of different pipelining architectures.
- Create simulation models of different memory hierarchies for performance evaluation.
- Evaluate the performance of instruction-level, data-level, and thread-level parallelism.
- Synthesize common bus protocol for peripherals.
- Create simulation models for improving dependability and power/energy.
Advanced Design and Analysis of Networks (CENG750)
This is a course focusing on advanced and emerging research topics in networks. The course topics include advancement of the following; sensor networks such as nanonetworks and IoT, emerging network management methods such as cognitive networks, current and new network paradigms such as fog, dew, cloud computing, state-of-the-art network technologies such 5G broadband networks, Li-Fi, and 802.11ax, and new network services such as information-centric networks and IoT services. The course consists of both a research papers reading/lecture/discussion component and a project component.
Credit Hours : 3
Course Learning Outcomes
At the end of the course, students will be able to :- Discuss advancements in network design
- Evaluate the performance of the advanced network designs.
- Implement advanced network services using network simulators.
- Analyze research results related to advanced network designs.
عفوا
لايوجد محتوى عربي لهذه الصفحة
عفوا
يوجد مشكلة في الصفحة التي تحاول الوصول إليها