Learning Outcomes
he course presents simulation techniques with particular emphasis on discrete event simulation and applications in computer computational systems and communication networks.
Upon successful completion of the course, the students will be in position to:
- design system models with the required details level that serves better the problem at hand
- develop simulation programs in general purpose programming language (e.g C++) to simulate and evaluate the behavior of simpler systems
- use more sophisticated simulation software for the study and performance evaluation of more complex communication networks and computational systems (e.g network simulator ns3 and CloudSim for cloud computing systems)
- design experiments, collect measurements and interpret and evaluate simulation results
Course Contents
- Introduction to dynamic discrete event systems.
- Development of discrete system models, event-advance design, time-advance design, activity-based design.
- Pseudorandom number generation, random variables generation.
- Overview of simulation languages and platforms.
- Development of simulation programs using general purpose programming languages.
- Measurement techniques, traffic load and experiment design.
- Statistical analysis of simulation experiments, transient and steady state, data collection, confidence intervals, variation reduction techniques.
- Simulation exercises and examples of data networks and cloud computing systems. Theoretical results verification.
Recommended Readings
- Roumeliotis and Souravlas, “Simulation Techniques”, Epikentro Publications.
- Kouikoglou and Konstantas, “Simulation of Discrete Event Systems”, Disigma Publications, 2016.
- Harry Perros, “Computer Simulation Techniques – The Definitive Introduction”, free download from https://people.engr.ncsu.edu/hp/files/simulation.pdf
- Averill M. Law and W. David Kelton, “Simulation Modeling and Analysis”, McGraw-Hill, Inc.
- NS manual and tutorials, https://www.nsnam.org/documentation/
Learning Outcomes
The students after the successful completion of the course will be able:
- to model and analyze data with appropriate analysis techniques, assess the quality of input
- to choose the appropriate exploratory and/or inferential method for analyzing data, and interpret the results contextually.
- to use supervised and unsupervised learning techniques for solving many analysis problems such as prediction, classification, segmentation.
- to apply methods for the evaluation of the data analysis results.
Course Contents
- Collection, preparation and representation of data for analysis
- Linear, logistic regression
- Classification Techniques (probabilistic classification, decision trees, support vector machines)
- Predictive analytics and neural networks
- Recommender systems
- Graph analysis (applications on social networks)
- Text mining – sentiment analysis
- Evaluation of data analysis results
Recommended Readings
- Mohammed J. Zaki, Wagner Meira Jr. (2018): Data Mining and Analysis Fundamental Concepts and Algorithms, Cambridge University Press.
- Jure Leskovec, Anand Rajaraman, Jeffrey David Ullman (2014): Mining massive datasets, Cambridge University Press.
- Top of Form.
- Bottom of Form.
Students can choose it only once during undergraduate studies (either the 7th or the 8th semester).
Learning Outcomes
The objective of this course is to present fundamentals concepts regarding Healthcare Information Systems (HIS). HIS are described at both conceptual and technical level and types of HIS are studied thoroughly. In addition, best practices regarding HIS architectural design, development methodologies and interoperability are analysed. Challenges and perspectives of HIS are presented with reference to modern digital technologies of data analytics and artificial intelligence. The course will incorporate a significant laboratory component with various digital tools (mainly open source) that allow student to implement HIS.
Upon successful completion of the course the students will be able to:
- Understand the connection between healthcare systems and healthcare information systems
- Define the users of information and decision support based on existing data
- Describe the general functions, objectives and advantages of HIS
- Describe contemporary architectural trends and HIS, in the form of services provided, for supporting important healthcare processes
- Compare various HIS characteristics and choose the most appropriate systems for specific needs and operational frameworks
- Develop HIS, by using open source tools, inventing innovative practices in the fields of medical data architecture and management for their multiple exploitation.
Course Content
- Healthcare Information Systems: General characteristics. HIS evolution.
- HIS analysis, design and implementation.
- Patient-oriented HIS development.
- Process-oriented healthcare organizations. Healthcare process and data management.
- Specialized HIS. Contribution to provided healthcare services.
- HIS architectures, integration and interoperability.
- HIS security. Standards and security policies.
- Presentation of well-known commercial HIS of the global market regarding electronic health records.
- HIS challenges and perspectives. HIS in Greece.
- HIS development (analysis, design, implementation, testing, operation, maintenance).
Suggested Bibliography
- Karen A. Wager, Frances W. Lee and John P. Glaser (2009): Health Care Information Systems: A Practical Approach for Health Care Management, Jossey-Bass.
- Joseph Tan (2010): Developments in Healthcare Information Systems and Healthcare Informatics: Improving Efficiency and Productivity, IGI Global.
- Charlotte A. Weaver, Marion J. Ball, George R. Kim, Joan M. Kiel, (2015): Healthcare Information Management Systems: Cases, Strategies, and Solutions, Springer.
- Sean P. Murphy, (2015), Healthcare Information Security and Privacy, McGraw-Hill Education.
- Pamela K Oachs, Amy Watters, (2016), Health Information Management: Concepts, Principles, and Practice, American Health Information Management Association.
- International Journal of Healthcare Information Systems and Informatics (IJHISI), IGI Global
- International Journal of Healthcare Technology and Management, Inderscience
- International Journal of Medical Informatics, Elsevier.
Learning Outcomes
The aim of this course is to support the students in learning the principles, concepts and applications of cryptography.
Upon successful completion of the course the student will be able:
- to handle the basic elements of numerical theory and modular arithmetic
- to manage cryptographic algorithms and their properties
- basic cryptographic functions, such as pseudo-random sequences, one-way hash functions, shift and displacement networks and feistel networks.
- the main features for symmetric and asymmetric cryptography are familiar
- to handle key management systems and digital signatures
Course Contents
- Basic definitions and concepts; information security.
- Symmetric cryptography.
- Digital signatures.
- Authentication.
- Public key cryptography.
- Hash functions.
- Integrity checking.
- Key management and random number generators.
Recommended Readings
- Schneier B. (1996): Applied Cryptography, 2nd Edition, John Wiley & Sons.
- Stallings W. (2006): Cryptography and Network Security, 4th Edition, Prentice Hall.
Learning Outcomes
This course is the basic introductory course in the field of computational analysis and synthesis of social networks.
The course material seeks to introduce the students to the basic concepts and algorithms for the study of social networks. The course focuses on answering questions related to the creation of social networks, their information properties and the interaction between their structure and the emergence of social processes related to information diffusion, strategic interaction and collective behavior. All theoretical results are presented in relation to their application in real problems in social computational environments such as Facebook of Google search.
The successful completion of the course will make students capable of:
- understanding the basic and important features of social networks in both an algorithmic and interaction level.
- knowing the major features of the tools and development methods for the creation of digital social networks and applications
Course Contents
- Conceptual features of social networks
- Elements of Graph Theory
- Social links
- Topics in Social Environments (Homophily, Group participation, Separation)
- Social Balancing
- Information Diffusion
- Elements of Game Theory
- Group Decision-Making
- Sharing frameworks
Recommended Readings
- Martin J. Osborne, An Introduction to Game Theory, Oxford, 2010
- Instructor Notes
Learning Outcomes
This course presents baselines on digital economy. With the completion of the course, the student will be in position:
- to understand and become familiar with the key concepts and principles of applications of e-business.
- to know the main characteristics of the e-business applications both in terms of development and in terms of provisioning of such applications.
- to be able to implement e-business applications, by applying the knowledge obtained from laboratory exercises in different application contexts / domains.
Course Contents
- e-Business introduction.
- e-Commerce presentation.
- Baselines on e-business micro-economy theory.
- Business requirements analysis for the design of e-commerce.
- Methodology for the design of successful web pages. Blogs.
- e-Stores, methodology for the design of e-stores.
- Design evaluation and faults detection through the use of web statistics applications.
- eGovernment, ebanking; ehealth; business-to-business applications.
Moreover, the EVDOXOS system is utilized to provide additional useful information to the students as well as exercises that respond to the corresponding thematic topics / sessions covered by the course.
Recommended Readings
- McGarvey R. & Campanelli M. (2005): Start Your own E-Business, Entrepreneur Press.
- Chaffey D. (2008): E-Business and E-Commerce Management, 3rd Edition, Prentice Hall.
This course offered by the Department of Business Administration of University of Piraeus.
Learning Outcomes
The key objective of this unique course on Embedded Systems is to present a good understanding of embedded systems architecture as well as a detailed methodology for the multilayered design of embedded systems and their applications with emphasis on network embedded systems. Main topics of the course are the understanding of communication processors and system architecture, the matching of requirements with system specifications, basic hardware design principles, Linux operating system porting on proprietary system architectures, as well as device driver programming and performance evaluation of (network) embedded systems. From this point on, system architecture is transparent to the development of embedded applications under certain limitations.
In the laboratory sessions, students will familiarize with the development of adaptive Linux kernel and filesystem images for a broad range of network embedded systems in the rise of the IoT era.
At the end of the course, students will be equipped with advanced expert and analytical knowledge for the consistent design, development and validation of embedded systems which include network devices (see Course Content). The obtained knowledge will allow the critical and analytical deepening as well as performing innovative research and critical development in the broad scientific domain of embedded systems and applications.
Students will be capable of:
- specifying and designing prototype embedded systems with network and peripheral devices which are interfaced to the communication processor meeting user requirements and cost limitations.
- designing the embedded system hardware using CAD tools for schematic and PCB design.
- adapting and porting the Linux operating system on the individual architecture of the embedded system and the underlying communication processor, its memory subsystem and network and peripheral devices, integrating desired functionality.
- configuring and building GNU/Linux applications using tools and toolchains.
- developing typical and complex embedded device drivers, with emphasis on network devices for network interfacing.
- developing embedded applications running on the embedded systems, including the proper adaptation of desktop application in the embedded domain.
- creating proper embedded root filesystems including embedded compilations of certain desktop applications.
- debugging, administering and optimizing applications aiming at resolving trade-off between system performance and memory and storage space requirements.
- evaluating performance of network embedded systems.
- analyzing the basic functionality of embedded systems through a closer look and consideration of the underlying hardware and software.
- analyzing architectural and technical information available in user, design and programming guides of the communication processor and the interfaced peripheral devices, and cross-checking them against corresponding embedded software implementations, recognizing the required differentiations per case and performing the corresponding porting of system source code, including the grouping of functionality in appropriate files and functions of the embedded software.
- applying the obtained knowledge and methodologies in a diverse range of system architectures including a central microprocessor (which could be different than the reference system) and network device controllers, either integrated on the communications processor module of the CPU or provided using external integrated circuit components.
Course Contents
- Communication Processors: Architecture, integrated communication processor module, peripheral devices, memory map, Ι/Ο ports, peripheral and network device controllers and operation (TDM, serial, ΑΤΜ, fast Ethernet, HDLC, multi-channel), interrupt handling.
- Hardware development tools: Schematic design, PCB design, BOM, lab equipment.
- Hardware System Architecture: Sample integrated access device (IAD) system architectures, modular design, EMI standards.
- Development tools, embedded software and processes: Cross-compilers, GNU cross-development tool chain, basic system initialization (JTAG), bootloader configuration, Linux kernel configuration, kernel architecture, debian packages, embedded filesystems.
- Device drivers: Peripheral and network devices (TDM, Ethernet, HDLC, multi-channel), device driver programming, Linux network API.
- Performance analysis of high bitrate network devices, performance optimization, interrupt moderation.
- Development and performance evaluation of an ATM network access device.
- Embedded applications: Network services (NAT, DHCP, routing, IP QoS, VLAN, VPN etc.), web-based management, video surveillance, telephony, Asterisk PBX, home automation and domotics, voice interaction.
- Restricted embedded systems: Detailed design of restricted embedded systems/devices, ultralow-power design, study of use cases.
- Lab projects.
- Building and configuring applications in GNU/Linux, tools for automating processes.
- Debugging techniques, administering and optimizing applications, handling trade-offs between performance and memory and storage size.
- Kernel structure, configuration, building and debugging. Useful configuration recipes.
- Building cross-compile toolchains and validation techniques.
- Kernel initialization process and adaptation.
- Linux root filesystem structure, difference from pseudo-filesystems, filesystem types and proper uses.
- Kernel image development tools.
Recommended Readings
- Meliones A. (2006): Network Embedded Systems, Course textbook.
- Wolf W. (2008): Computers as Components: Principles of Embedded Computing System Design. Elsevier, Inc.
- Ashenden P. (2007): Digital Design (VHDL): An Embedded Systems Approach Using VHDL. Morgan Kaufmann Publishing
- Wolf W. (2004): FPGA-Based System Design. Prentice Hall.
- Brown S. & Vranesic Z. (2008): Fundamentals of Digital Logic with VHDL Design, 3rd Edition, McGraw-Hill
- Pogarides D. (2013): Digital Design with VHDL: Principles and Practices, Disigma Publications (in Greek).
- Pedroni V. (2004): Circuit Design with VHDL, MIT Press.
- Souravlas S., Roumeliotis Μ. (2008): Digital Systems: Modeling & Simulation with VHDL, Tziolas Publishing (in Greek).
- Pogarides D. (2015): Embedded Systems: The AVR and Arduino Controllers, Disigma Publishing (in Greek).
- Kalovrektes Κ. (2012): Basic Principles of Embedded Systems, Varvarigou Publishing (in Greek).
- Apostolacos S. & Meliones Α. (2014): Satellite IP Radio Communications in Air Traffic Control: Design, Implementation and Evaluation of Telecommunication Systems (in Greek).
- Pekmestzi Κ. (2009): Micro Systems Ι: Microprocessors, Symmetria Publishing (in Greek).
- Pekmestzi Κ. (2015): Micro Systems ΙΙ: Microcontrollers, Symmetria Publishing (in Greek).
- Petrellis Ν, Alexiou G. (2012): Microprocessors and Design of Micro Systems, Kleidarithmos Publishing (in Greek).
- Pogarides D. (2014): Design of Micro Systems, Ion Publishing (in Greek).
- Rabaey J., Chandrakasan A., Borivoje N. (2003): Digital Integrated Circuits: A Design Perspective, 2nd Edition, Pearson.
- Patterson D. & Hennessy J. (2014): Computer Organization and Design: The Hardware/Software Interface, 5th Edition, Elsevier, Inc.
- Yaghmour K., Masters J., Ben-Yossef G. & Gherum P. (2008): Building Embedded Linux Systems, O’Reily.
- Peckol J. (2007): Embedded Systems: A Contemporary Design Tool, Wiley.
- Corbet J., Rubini A. & Kroah-Hartman G. (2005): Linux Device Drivers, 3rd Edition, O’Reilly.
Learning Outcomes
Upon successful completion of the course, the student will be able:
- to describe in a methodical way a course lesson and how to orchestrate activities
- to know how to use graphical educational design tools to create educational scenarios
- to know the basic principles of science, technology, engineering, and mathematics (STEM)
- to create STEM worksheets
- to understand and successfully implement the quality assessment principles of training scenarios
- to design STEM educational activities with Educational Robotics and Internet of Things
- to develop Robotics and IoT applications using Scratch & Lego Mindstorms
- to implement applications using platforms like Lego EV3 (Robotics), BBC Microbit and Raspberry Pi (IOT).
Course Contents
- Methodology for creating learning scenarios by orchestrating educational activities
- Design worksheets through examples
- Introduction to the Science, Technology, Engineering and Mathematics Teaching Approaches – STEM (science, technology, engineering, and mathematics)
- Presentation of pedagogical principles through which STEM training activities are planned
- Analysis of educational robotics activities with the tools MIT Scratch, Lego Mindstorms, Makecode
- Explaining how to develop educational activities with ARDUINO & RASSBERY Pi
- Development of STEM educational activity as lab praxticals
Recommended Readings
- Alimisis D., Moro M., Menegatti E. (eds) (2017) Educational Robotics in the Makers Era. Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 560). Springer, Cham
- Julie Dirksen (2015). Design for How People Learn (2nd Edition) (Voices That Matter), New Riders.
Associated scientific Journals
- Nicolai Pöhner and Martin Hennecke (2018). The Teacher’s Role in Educational Robotics Competitions. In Proceedings of the 18th Koli Calling International Conference on Computing Education Research (Koli Calling ’18). ACM, New York, NY, USA, Article 34, 2 pages. DOI: https://doi.org/10.1145/3279720.3279753
- Mayerove, K. and Veselovska, M. (2017): “How to Teach with LEGO WeDo at Primary School”. In: Merdan, M. et al. (eds.): Proceedings of the 7th International Conference on Robotics in Education (RiE 2016, Vienna). Vienna: Springer International Publishing. pp. 55 — 62.
- Sullivan, F. and Heffernan, J. (2016): “Robotics Construction Kits as Computational Manipulatives for the Learning in STEM Disciplines”. In: Schrum, L. (ed.): Journal of Reserach on Technology in Education. Volume 48. Issue 2. London: Routledge. pp. 105 — 128.