A – Winter Semester, (30 ECTS)

Α – Integrated System Design – core (6 ECTS): Reconfigurable system architectures, Design reuse techniques, Hardware description languages, High level synthesis, Scheduling, Resource allocation, Design space exploration, Embedded system design flows, Hardware software prototypes, Simulation and verification techniques.

Α – Compilers for Embedded Systems – core (6 ECTS): Compilers, Software optimization, Compiler optimization techniques, Code optimization, Program transformation technique, Loop transformations, Data Dependence Graph, Memory management techniques, Vectorization, Parallel programming Software profilers, Execution Time Speed-up.

Α – Architecture/Arithmetic for Digital Processing Systems – elective (6 ECTS): DSP architectures, Parallel digital filters, Graphs for algorithms, Transformations for DSP architectures, Algorithmic design techniques, Low power techniques, Retiming, Unfolding, Folding, Systolic architectures, Number representation, Digital arithmetic, Basic arithmetic circuits, Alternative number representations, Alternative number systems, Circuits for approximations, Optimizations for number representations.

Α – Cybersecurity – elective (6 ECTS): Introduction to cybersecurity: basic principles and good practises, Human factor, Models of attacks, Applied cryptography, Access control, Authentication, Software security, Operating systems and security, Big data security, Digital Forensics, Hardware security, Cyber-physical systems and security, Critical infrastructures security.

Α – Fault Tolerant Systems – elective (6 ECTS): Fault Tolerance versus Reliability, Availability, Safety, Maintainability, Long life / Critical Computations / Maintenance Postponement / High- Availability Systems, Fault – Error – Failure, Fault Characteristics, Fault and Error Models, Fault – Tolerance Design Techniques, Hardware Redundancy, Passive techniques (TMR, NMR, voting), Active techniques (Duplication, Sparing, watchdog timers), Hybrid techniques (NMR with spares, Self-purging, Triplex-Duplex), Information redundancy (Parity, Hamming, Arithmetic and Cyclic codes), Time Redundancy, Software Redundancy.

Α – Programmable Networks and Management – elective (6 ECTS): Network Management, Network Management Models, Information Models, Network Management Protocols, Network Monitoring, Designing Subnetworks, Programmable Networks, Cloud Computing, Network Management Standards, Network Management Architectures, SNMP, RMON, Netconf, Software Defined Networks, Network Function Virtualization.

Α – Algorithms for Data Science – elective (6 ECTS): Advanced Programming Techniques for Big Data, Complexity of Algorithms for Big Data, Document Similarity, Locality-Sensitive Hashing, Frequent Itemsets, Clustering, Social Network Analysis, Community Detection in Social Networks, Recommender Systems, Link Analysis of Huge Graphs, Dimensionality Reduction, Large-Scale Machine Learning, Algorithms for Large Data Streams.

Α – Selected Topics in Algorithms – elective (6 ECTS): Algorithmic Efficiency, Analysis of Time Complexity, Advanced Algorithmic Techniques, Network Optimization, Modelling of Optimization Problems, Representation of Optimization Problems, Efficient Data Structures, Optimal Routing in Networks, Maximum Network Flow, Minimum Network Cut, Minimum Cost Flow, Generic Optimization Techniques.

Α – Software Engineering – elective (6 ECTS): Software life cycle models, Symmetrical view model, System development process, Cyber-Physical systems, IoT systems, Structural models, Behavioural models, Structured Analysis (SA), Modern Structured Analysis (MSA), State-Transition Diagrams (STDs), Unified Modelling Language (UML), System Modelling Language (SysML), System Architecture, Process mining, Concurrent Systems modelling, Service Oriented Architecture (SOA), micro-services.

B – Spring Semester, (30 ECTS)

B – System on Chip – core (6 ECTS): System on Chip, Multicore Systems, Multicore Systems Revolution, Multicore Systems Design, Multicore Systems Components, Multicores Memory Hierarchy, Multicore Systems Organization, Multicores Interconnection Networks, Multicores Interconnection Technology, Integrated Circuit Interconnection, Photonic Interconnection Techniques, 2 Dimension Multicore Systems, 3 Dimension Multicore Systems, Multicore Systems Compilers, Power Optimization Techniques.

B – Design Verification, VLSI Testing and Design for Testability – core (6 ECTS): Types of Testing, Problems of Testing, Test Economics, Fault Models, Failures Classification, Fault Simulation, Fault Coverage, Testability Measures, Test Pattern Generation, Design for Testability, test point insertion, Pseudoexhaustive testing, Scan Path Design Techniques, Built-In Self- Test, Response Compression, Test Data Compression, Digital boundary scan, Test Scheduling, Design Verification, Logic simulation, SystemVerilog Testbench & Coverage, SystemVerilog Assertions.

B – Digital Processing Systems – elective (6 ECTS): Discrete Fourier Transform, Butterflies, Pipelining, Memory organization, Power dissipation, Viterbi architectures, Equalizers and error correction, Wireless system architectures, Multicarrier systems, Sychronization techniques, peak-to-average power control, Hardware for error correction, Iterative decoders, turbo decoders, LDPC decoders, Polar decoders.

B – Hardware Security – elective (6 ECTS): Introduction to Hardware Security and Trust, Emerging Applications and New Threats, Basic Principles of Cryptography, Hardware Metering, Physically Unclonable Functions and True Random Number Generators, Fault Injection Attacks, Watermarking of HW IPs, Physical Attacks and Tamper Resistance, Side Channel Attacks and Countermeasures, Countermeasures for Embedded Microcontrollers, Trusted Design in FPGAs, Security in Embedded Systems, Security for RFID Tags, Hardware Trojans, Secure JTAG, Crypto Processor Design.

B – Low Power Systems Design – elective (6 ECTS): Digital VLSI systems and circuits, Sources of power dissipation, Power dissipation modelling, Estimation of power consumption, Methodologies and design flows for low-power design, Low power design techniques, Low power software applications, Specialized low power applications, Advanced topics for low power design.

B – Advanced Algorithm Engineering – elective (6 ECTS): Importance of Algorithm Engineering, Algorithm Engineering Lifecycle, Algorithmic Software Environments, Methodology of Empirical Algorithmic Research, Reproduction of Experiments, Proper Data Sets, Program Correctness Checking, Certifying Algorithms & Programs, Efficient Implementation of Algorithms, Efficient Implementation of Data Structures, Heuristic Methods, Preventing Arithmetic Precision Errors, Methodology of Efficient Software Development.

B – Architectures of Network Systems – elective (6 ECTS).

B – Radio Communication via Software – elective (6 ECTS).

C – Spring Semester, (30 ECTS)

C – MSc Thesis (30 ECTS)