Master of Engineering Program
Electronics and Electrical Communications Engineering Department
Faculty of Engineering - Cairo University
Introduction to IOT Ecosystem – IOT Use Cases – IOT Architecture – Sensors and Actuators Networks. IOT Sensing Design and Key Specifications – IOT Identification and Security Aspects – Communication Networks and Protocols – Hardware Platforms: (Arduino – Raspberry Pi) IOT platforms - IOT Protocols: Application Layer - Use Case Analysis and Implementation - IOT Business Models - IOT Systems Cost Structure – IOT Standardization and Regulatory Compliance.
Classical AI techniques, ML techniques, Deep Learning. Supervised vs unsupervised vs semi-supervised. Hands-on python - tools - CPU vs GPU. Linear Regression - cost function - gradient descent - Review of Linear Algebra. Features - More complex linear regression - logistic regression - Lasso regression. Linear classifiers - overfitting – regularization. Decision trees - random forests. Unsupervised learning (clustering and dimensionality reduction). Neural Networks fundamentals - single layer and multi layer. Training neural networks - Regularization - data augmentation. Convolutional Neural Networks. Widely used conv neural nets. Sequence models-RNNs.
Concept of Model Based Design – Modeling Continuous Time Systems with Matlab/Simulink – Control Design – Modeling Discrete Time Systems with Matlab/Simulink – Modeling Finite State Machines – Case Study (1) – Automatic Code Generation – Case Study (2) – Model Based Testing – Case Study (3).
Basics of Communications – Digital Transmission Techniques – Signal Encoding – Serial Communication – Ethernet/Industrial Ethernet – MODBUS – CANopen – POFIBUS – AUTOSAR – BACNet – IEEE 802.15.4 – Sockets Programming.
Software Life Cycle – Design for Testability – The V Model – Unit Testing – System Level Testing – Integration Testing – White box vs. Black box testing – Compliance, Feature, Random and Collision Testing – Performance and Stress Testing – Issues in Real-time Testing – Issues in Multi–processor Systems – Issues in Concurrent Processes – Introduction to Formal Methods – Modeling Languages and Testability. Platforms: Linux PC’s.
Processor architectures: RISC/CISC, DSP, VLIWs (including Transport Triggered Architectures), and ASIPs – Code Generation Techniques – Code optimization – Branch Prediction – Data and Instruction Memory Optimization – Memory Hierarchies – Energy –efficient Design – Interfacing Processors and Peripherals – Multi-Processor System on Chip – Details on Specific Popular Processors: ATMEL Microcontrollers – The ARM Processor Family – TI or ADI DSP. Platforms: TI/ADI DSP, Arduino, ARM
Basic Features of Embedded/Real–Time Operating Systems – Tasks and Tasking – Scheduling – Control of Shared Resources – Mutual Exclusion – Resource Contention and Deadlocks – Intertask Communication – Memory Usage and Management – Multiprocessors – Multicore and Multicomputer Systems – Boot Loaders and Memory Segments – Overview of Some Embedded/RT OSs (e.g. VxWorks, uc–OS, Threadx) – Real-Time Software Design With UML. Platforms: ARM platforms with OS and Linux PC’s.
Characteristics of Real-time/Embedded Software Development – C Revision – Arrays, Pointers and Strings – Bit Manipulation & Hardware Access – Device Interaction & Synchronization – Polling Devices – Interrupt Handling – Serial Peripheral Programming – General Purpose IO (GPIO) – Dynamic Memory Management – Leaks and Fragmentation – The C Pre-Processor – Macros – Conditional Compilation. Platforms: Arduino or ARM platforms and Linux PCs.