• Home
  • Academic Activity
  • Courses

Courses

Undergraduate Courses

[ΗΥ-501] HARDWARE/SOFTWARE CO-DESIGN
tutors: Dr Nikolaos Voros

The goal of this course is to introduce to the students the challenges and problems when designing systems comprising both from hardware and software. During the course, the students will learn about:

  • Fast evolution of product properties, like: more functionality and diversity; the requirement to manage product families; the requirement for more effort when designing new, functionally complex systems; the need for more designers involved in design of a product
  • Fast evolution of technologies, requiring frequent adaptations of the methodology
  • New application domains, requiring novel use of designer expertise
  • Decreasing time-to-market (TTM) despite increased functionality, diversity and complexity
  • Demand for decreasing cost in the market encountering price erosion

Moreover, the students will learn techniques how to improve the product development capabilities and how to cope with the above challenges.

The knowledge and skills acquired will form the basis for the courses of forthcoming semesters like EMBEDDED SYSTEMS I and EMBEDDED SYSTEMS II.

supportedByLaboratories: No
semester: 5
category: Compulsory
officialWebSite: [link  ]

[ΗΥ-502] MICROPROCESSORS & MICROSYSTEMS
tutors: Dr Christos Antonopoulos

The main objective of this course is to introduce the students to the areas of microcontroller systems and microprocessors. In this context in-depth analysis and presentation will be offered concerning the fundamentals components of contemporary microcontroller systems, the architecture of such systems as well as the performance and interface capabilities with the end user. At the same time a critical goal will be offer valuable training concerning the use and programming of typical respective platforms.

Following the successful completion of the course students will have obtained knowledge and skills required in more specialized course like Digital Signal Processing, Telecommunications, Networks, Sensors Networks, Embedded systems etc.

supportedByLaboratories: Yes
semester: 5
category: Compulsory, Prerequisite: COMPUTER ARCHITECTURE
officialWebSite: [link  ]

[ΗΥ-503] REAL TIME SYSTEMS
tutors: Dr Nikolaos Voros

In the context of the course, the students will be taught:

  • Implementation theory of real time systems
  • Architectures and operating systems for time sharing and performance assurance in worst case scenarios
  • Analysis and routing techniques
  • Requirements in methodologies and analysis languages
  • Confirmation and validation techniques for real time systems
supportedByLaboratories: No
semester: 5
category: Compulsory
officialWebSite: [link  ]

[ΗΥ-601] FORMAL SYSTEM MODELING LANGUAGES
tutors: Dr Nikolaos Voros, Christos Panagiotou

The main goal of the course is to introduce to the students the concepts of system design using formal languages. In this context, SDL (Specification and Description Language) will be presented. The structural constructs of the language will be detailed and the students will learn how to SDL for the design of complex systems. In parallel, the students will be trained in using SDL tools during all system design phases.

After the successful course completion, the students will have acquired the knowledge and the skills for modeling complex systems using SDL. Moreover, they will be able to develop, control and correct hierarchical system models based on SDL and to produce C code for from the models of the system under development.

The knowledge and skills acquired will form the basis for the courses of forthcoming semesters like EMBEDDED SYSTEMS I.

supportedByLaboratories: Yes
semester: 6
category: Composlury
officialWebSite: [link  ]

[HY-602] EMBEDDED SYSTEMS I
tutors: Dr Nikolaos Voros, Dr Christos Antonopoulos

The main goal of the course is to introduce the students to the basic concepts of embedded systems and the practical issues of their design. In this context, the main structural components of modern embedded systems and their corresponding architectures will be presented and analyzed thoroughly. In parallel, the students will be trained in using and programming development boards through which they will be able to focus on practical aspects of embedded system design.
supportedByLaboratories: Yes
semester: 6
category: Compulsory, Prerequisite: COMPUTER ARCHITECTURE
officialWebSite: [link  ]

[ΗΥ-603] ADVANCED PARALLEL ARCHITECTURES
tutors: Christos Panagiotou

The goal of this course is to introduce to the students advance topics related to state-of-the chip-multiprocessors (CMPs). In particular, the students will be taught the forms of parallelism in modern processors, the principals of parallel execution, and the design objectives of chip multiprocessors. In addition, the student will learn to categorize the computing systems as SISD, SIMD, MIMD, and MISD, they will learn to exploit the instruction-level-parallelism (ILP) in superscalar and very-long-instruction-word (VLIW) architectures, and they will get familiar will the basic aspects of interconnection networks, shared-memory and message-passing architectures.
supportedByLaboratories: No
semester: 6
category: Compulsory, Prerequisite: COMPUTER ARCHITECTURE
officialWebSite: [link  ]

[ΗΥ-604] SPECIAL PURPOSE PROCESSORS
tutors: Christos Panagiotou

The main objectives of this course if to introduce the students to the areas of application specific microprocessors, respective applications and requirements. In this context, specific architectures, approaches and implementations will be presented and analyzed focusing on specific and specialized requirements while differentiating from general purpose counterparts.

Following the successful completion of the respective lectures the students will have acquired the required knowledge and skills for following courses like digital signal processing, telecommunications, networks, sensor networks, embedded systems etc.

supportedByLaboratories: No
semester: 6
category: Compulsory, Prerequisite: MICROPROCESSORS & MICROSYSTEMS
officialWebSite: [link  ]

[ΗΥ-701] EMBEDDED SYSTEMS II
tutors: Dr Nikolaos Voros, Christos Panagiotou

The goal of this course is to extend the knowledge the students acquired in course EMBEDDED SYSTEMS I and to introduce advance topics related to embedded system design. More specifically, the students will be taught modern techniques for embedded system design as well as validation, verification and testing techniques for systems comprising of hardware and software. In parallel, the basic compilation techniques for embedded systems as well as code optimization methods will be introduced. As part of the design process of an embedded system, the existing embedded operating systems and their features will be presented. In addition, the students will be taught how to develop hardware accelerators for embedded systems. Finally, the concept of networked embedded systems will be presented, which is the cornerstone of the next generation of systems called IoT (Internet of Things).
supportedByLaboratories: Yes
semester: 7
category: Compulsory, Prerequisite: EMBEDDED SYSTEMS I
officialWebSite: [link  ]

[ΗΥ-702] ARCHITECTURES OF NETWORK SYSTEMS AND PROCESSORS
tutors: Christos Panagiotou

The purpose of the course is to introduce to the students the basic principles of network devices and processors. In particular, the students will learn the basic architectures of switches, routers, gateways and the how to map typical network protocols into hardware. In parallel, the student will be taught advanced issues like memory management and accelerator design for high-speed network devices.
supportedByLaboratories: No
semester: 7
category: Compulsory, Prerequisite: MICROPROCESSORS & MICROSYSTEMS
officialWebSite: [link  ]

Postgraduate Courses

[MSC 14] HARDWARE/SOFTWARE SYSTEM DESIGN FRAMEWORKS AND METHODOLOGIES
tutors: Dr Nikolaos Voros, Dr Georgios Keramidas

In the context of the course, the students will be taught:

  • Domain based Methodological Needs: Telecommunications, Automotive, Bioinformatics, Signal- and Image Processing, Cyberphysical systems
  • Introduction to Design Methodologies: Hardware/Software Engineering Processes, Requirements Analysis, Iterative and Incremental Development, Object Oriented System Modelling. Introduction to Formal Methods
  • Program Design: Matlab/Scilab based design, SystemC based design, ImpulseC based design, VHDL based design, High Level Synthesis Tools/C-to-HDL tools
  • Quality assurance: Hints and tips, Design Patterns for embedded systems
  • Architecture Based Design: Single core architectures, Multicore architectures, Reconfigurable architectures, Architectural Templates, Architecture Description Languages, Networks-on-Chip
  • Hardware/Software Partitioning Tools and Methodologies: Scheduling and Allocation, Partitioning algorithms, Functional evaluation of design alternatives
  • Evaluation Frameworks: How to test programs to verify their correctness: traditional vs formal methods, Test Driven Development, Testing Frameworks
supportedByLaboratories: No
semester: 1
category: Compulsory
officialWebSite: [link  ]

[MSC 43] EMBEDDED SYSTEM DESIGN
tutors: Dr Nikolaos Voros, Dr Georgios Keramidas, Dr Christos Antonopoulos, Dr Vaggelis Mariatos

In the context of the course, the students will be taught:

  • Review of Embedded System Design: System-on-Chip (SoC) and System-of-Systems (SoSs)
  • Embedded System Architecture: Modern embedded systems architecture overview. CISC/RISC processors overview, Case studies of small RISC processors (ARM, MIPS, ARC, Intel 8051)
  • Building blocks of embedded systems: Caches, memory and network-on-chip (NoC) architectures, Digital Signal Processors (DSPs), Embedded Graphic Cards, Microcontrollers
  • Memory system design: Memory systems and types (flash, CAMs etc)
  • Embedded development methodologies and tools: Embedded system modeling, Real-time constraints and constraint-driven design (time, size, cost trade-offs)
  • Software techniques, compilers and operating systems: Software and firmware for embedded systems, Software/compiler optimization techniques to decrease execution and/or power consumption of embedded software, Embedded system programming, Parallel processing in (multicore) embedded systems, Reconfigurable systems
supportedByLaboratories: No
semester: 2
category: Optional
officialWebSite: [link  ]

ESDA