The courses conducted at the Department of Digital Systems of the University of Piraeus with the help of members of the Data & Cloud team.
Undergraduate courses
C Programming
The goal of this course is to introduce basic programming principles using the C programming language. C is a principal programming language and a fundamental component of C++ and Java. With the completion of the course, the student will be in position to:
- understand and become familiar with the key concepts and principles of programming regardless of the programming language (e.g. methods / functions, variables, control loops, etc.).
- know the main characteristics of the programming language C, as a basic language that can be applied to different cases and which is independent from the underlying operating system.
- be able to implement code artefacts that provide solutions to a variety of problems by utilizing programming techniques and methods.
Information Systems
This course analyses the five main components of an Information System, the different types of IS and issues associated with the implementation and application of IS. With the completion of the course, the student will be in position:
- to understand and become familiar with the key concepts and principles of information systems, addressing both architectural and implementation aspects.
- to know the main characteristics of the programming languages used to implement information systems, as well as the key principles for the interconnection of different application components of an information system.
- to be able to implement code artefacts that realize information systems.
Introduction to Cloud Computing
The main objective of this course is to introduce concepts related to the analysis, design and implementation of computation and storage clouds. With the completion of the course, the student will be in position:
- to understand the necessary theoretical background for computing and storage clouds environments.
- to know the methodologies and technologies for the development of applications that will be deployed and offered through cloud computing environments.
- to be able to realize cloud infrastructures by using IaaS software, while also developing cloud applications by utilizing PaaS software.
Web and Mobile Information Systems
This course addresses concepts and technologies concerning the development of internet systems and applications. With the completion of the course, the student will be in position to:
- Understand and become familiar with the key concepts and principles of web programming including aspects related to client-server programming, server- and client- side development.
- Know the background and key concepts governing the web applications by analyzing the pros and cons of architectural and implementation decisions.
- Be able to implement web applications by using HTML5, CSS3 and Javascript for client-side programming, as well as approaches for server-side programming and use of data stores (including PHP and Node.JS technologies).
Web Programming
Web applications are the basis of service provisioning in future internet environments. The course includes both theoretical lectures and laboratory exercises. With the completion of the course, the student will be in position to:
- Understand and become familiar with the key concepts and principles of web and mobile programming, the methodologies and techniques for the development and management of future web applications.
- Know the main design and implementation principles of for the realization of web and mobile information systems.
- Be able to implement code artefacts that enable the development of web and mobile information systems by exploiting the programming techniques and methods analysed during laboratory exercises.
Postgraduate courses
Postgraduate Programme – Information Systems & Services
Area of Study – Advanced Information Systems
Service Oriented Architectures
In the past, organizations have adopted computer applications to improve and automate their business processes. These applications have not been implemented according to a strategic plan or based on a common integrated IT infrastructure. Instead, it was based on the needs of each individual department of the company and always according to current technologies. Thus, most organizations have developed information infrastructures consisting of a set of autonomous and in many cases heterogeneous systems. As a result, the need for automated and integrated business processes has increased over the years but organizations were unable to build an integrated IT infrastructure as heterogeneous applications have had several connection problems. In recent years, Service Oriented Architectures (SOA) and technologies are widely used to help organizations overcome these problems. In this context, the objective of this course is to study SOA model and it emphases on the analysis, design and development of SOA based applications. Upon completion this course, students will be able to implement service oriented systems and architectures.
Intelligent and Interoperable Information Systems
The main objective of the course is to introduce students to modern techniques, systems and platforms for the implementation of intelligent and interoperable information systems using Artificial Intelligence and Machine Learning approaches. Emphasis will be placed on issues related to the scalability of information systems, and their management including monitoring, self-management and fault tolerance mechanisms in the full life cycle of information systems. In addition, issues related to the architectures of interconnected information systems services as well as the techniques for the implementation and use of the aforementioned services will be analyzed. Through this course, students are expected to acquire important technical skills related to the modeling of intelligent information systems, and will learn to design and implement large-scale information systems consisting of complex services.
Area of Study – Big data and analytics
Python Programming Language
This course focuses on methodologies for solving complex data analysis problems using the Python programming language. The course emphasizes on modern methodologies applied to a wide range of problems arising from the broader field of data science, including big data problems and business logic / intelligence. The main goal is to familiarize students with the most advanced solution methodologies and language libraries that are widely used in the above areas, as well as with the techniques of their integration in the development of technologically advanced solutions.
Postgraduate Programme – Digital Communications & Networks
Future Internet and Cloud Computing
The course aims at presenting and analyzing design and implementation aspects in Future Internet. To this effect, the first part of the course provides an overview of the today’s Internet, as well as of the problems-challenges of the latter. It then presents and analyzes the most recent technologies and architectures focusing on the emerging new network architecture, 5G. In this context, a set of topics will be covered addressing Virtualized Network Functions (VNFs), profiles compilation and analysis, management and orchestration of VNFs, while emerging standards (such as ETSI MANO) will also be analysed. The second part of the course focuses on the infrastructures per se, that comprise variant entities (Things) and computing Clouds. The course offers the theoretical fundaments of these infrastructures, whereas it aims at the familiarization of the students with both the functional and programming technologies and the application execution in these environments through lab exercises and the use of specific tools (e.g. OpenStack, Google AppEngine). Techniques and methodologies in all infrastructure layers are thoroughly examined and analyzed, in particular focusing on modern cloud architectures (computing clouds, storage clouds, event-driven etc), their structural components (resource types service classes, service level and event level agreements, synthesis and multilayer service orchestration), as well as on networking technologies.