Changes in the field of computer sciences and their application are very dynamic. The main challenge of the research and studies in this area is developing new advanced systems and technologies that will provide solutions in the area of information and communication technologies.
Information and communication technologies have become the largest, the most important and the most developed sectors that are rapidly expanding in the European Union and the global market.
In addition, the emergence of new markets for the software and telecommunications sector in Southeast Europe has led to increased demand for highly qualified and specialized professionals in this field.
Graduate students can work as professional software engineers or as software architects in the development of software companies or in IT departments of various different enterprises.
The high level of professional skills will enable graduate students to become successful leaders in the software industry. In addition, specialization in four majors such as Data Engineering, Web and Mobile Systems, Software Engineering and Information Systems, will enable graduate students to gain expertise in certain areas and be even more competitive in their workplaces.
The program will supply students with the necessary knowledge and skills so that they can contribute in all aspects of the software development process, including planning, collaboration, specifications, design, development, delivery and maintenance of software products. In addition, students will also acquire general skills, such as analytical and critical thinking, teamwork including multicultural environments, planning and organization.
After finishing this program, the graduates will have career opportunities in a variety of industries, mainly fulfilling the needs for designing computer systems, developing software for mobile and Web applications, working as database engineers, managers of software projects and processes, etc. depending on the track the students will choose within this study program.
The last semester of studies includes master thesis writing, enabling program graduates to continue their studies towards a doctoral degree in computer sciences.
Knowledge and understanding
- Ability to develop and implement original and creative IT ideas to ensure the quality and design and managing applications related to telecommunications applications areas such as security and quality assurance;
- Ability to apply IT skills and knowledge and demonstrate specialized competencies in computer sciences and information technologies in order to organize and connect telecommunications processes like a structure that is managed and monitored both in terms of data flow and in terms of creating user interfaces;
- Having knowledge and understanding of areas such as computer sciences and engineering (programming, web technologies, databases, networks, computer and information systems and multimedia);
- Having knowledge of one or more areas of the telecommunications industry that can upgrade students to expert s in the application of knowledge in a given area;
Applying knowledge and understanding
- Ability to critically, independently and creatively solve problems in new and unfamiliar environments with no previous experience in telecommunications;
- Planning, management and evaluation of independent research in the field of telecommunications as well as development and implementation of appropriate tools for testing, simulation and implementation;
- Creativity and originality in the interpretation of the knowledge in informatics to solve problems related to the objectives of the industrial production area of telecommunications;
Making judgement
- Ability for creative integration and synthesis of knowledge from several areas in the telecommunications field, and administration processes and systems using IT tools designed and created for a specific issue. Creating educational processes using computer tools and techniques;
- Ability to deal with complex situations associated with specific processes resulting in real-time telecoms space;
- Ability to identify appropriate specialized instances and make sound judgments in situations of lack of complete information or data based on personal, social and ethical principles and responsibilities associated with the application of knowledge and understanding;
Communication skills
- Ability to share findings and proposals with rational argument and reliance both with professionals and with unskilled people, clearly and unambiguously;
- Taking considerable responsibility in shared outcomes, running and initiating activities, etc.
Learning skills
- Ability to take responsibility for continued private study in specialized areas of business and information within the networked economy;
- Ability to take responsibility for further professional development and training;
Semester 1
-
[MCS-101]
[6 ECTS]
Advanced Databases
The course aims are to continue with an in-depth study of databases. The course is a continuation of the same course from the first study cycle; it starts with some revision of the conceptual database design models (a well-known entity relationship model) and continues with the enhanced entity relationship model. The concept of normalization and normal forms is introduced and is used for database design. The course continues with data storage methods, representing data elements, database system architecture, query processing and optimization, transaction processing concepts, concurrency control techniques, database recovery techniques and database security and authorization.
-
[MCS-102]
[6 ECTS]
Object-Oriented Design and Programming
This course aims to teach a rigorous approach to object-oriented design and programming, with an emphasis on abstraction, modularity, and code reuse as applied to the building and understanding of large-scale systems. In addition to object-oriented concepts, it covers object-oriented modeling using UML, best design practices, design patterns, and their application to real world problem solving and modeling of applications.
-
[MCS-103]
[6 ECTS]
Advanced Software Engineering
The aim of this course is to provide students with knowledge and understanding of advanced software engineering concepts. Initially the students will be introduced to the construction of a clear specification. In addition, the aim is to answer the following advanced aspects of software engineering: What key technical activities are conducted during the clean room software engineering process? How is component-based software engineering used to create systems from reusable components? How does the client/server architecture affect the way in which software is engineered? Are software engineering concepts and principles applicable for Web-based applications and products?
-
[6 ECTS]
Elective course
-
[ECSWMS-01] Wireless Mobile Networks
The course introduces the underlying concepts and principles of wireless networks. It presents the different components of a network and how these components fit together. It is intended to help students to understand the wireless mobile network technologies in general, and wireless LAN (WLAN) technology in depth and to help students prepare for the CWNA certification exam (PW0-100). The CWNA certification prepares the candidate to implement, troubleshoot, and maintain small, medium, and large wireless networks.
-
[ECSWMS-02] Interactive Systems Design for Web and Mobile Applications
The objective of this course is to help students learn the design principles of web and mobile applications in order to achieve high level of usability. More specifically, students will get acquainted with the user-centered design method, which represents the design of mobile applications based on user analysis and the context of use. Additionally, various wire-framing methods of building web and mobile application will be learned, which will be implemented to ensure the usability of the application by the users. Through practical examples, students will learn to avoid designing bad interfaces and instead develop usable and desirable web and mobile interfaces.
-
[ECSWMS-03] Internet of Things
This course provides a general introduction to the emerging concept of the “Internet of Things” and an overview of its stack of enabling technologies, spanning from sensors and actuators near the user or environment end to the cyber-physical systems that provide governing intelligence, via the Cloud that caters for virtually ubiquitous connectivity. This course brings together the next two big things, Semantic Web (Web 3.0) and the Internet of Things. The course emphasizes software-hardware code sign. A student may choose to focus on either software, hardware, or both aspects. The course aims at highlighting open issues with the Internet of Things (IoT) model, deployment, evaluation and evolution, outlining future directions relevant for societal impact and research opportunities.
-
[ECSWMS-04] Sofware Development for Mobile Devices
The aim of the course is to provide students with knowledge and understanding of a pragmatic process for developing applications for mobile devices. It will cover the development aspects for mobile devices, and practical individual project work in design and development oriented towards real practical case for one or more contemporary platforms that will enable students to gain real life practical experience and insights.
-
[ECSWMS-05] Web Application Security
This class is designed to teach students how to properly secure a web server, web page, and web application. Students will take an already existing web application and redesign it to be as secure as possible. Students will also design and build an ecommerce site designed with the best security practices. Students will learn how to protect confidential information, including financial and personal data.
Part of security is testing the security and vulnerabilities of the web application. To that end, students will also learn the common techniques for penetrating web applications and web servers. This will give students the techniques to properly test their web applications in their academic and professional careers.
-
[ECSWMS-06] Large Scale Distributed Systems
Distributed systems have become widely inescapable and are having a tremendous impact on various domains of human activity. They range from ad-hoc networks comprising of tiny sensor devices, to massive web farms of powerful servers. Therefore, this course will cover advanced and current topics in modern, large-scale distributed systems. The course will include an in-depth coverage of different strategies to process voluminous data. Issues related to replication, fault tolerance, consistency, scalability, isolation and privacy, virtualization and creation of machine images in large-scale distributed systems will also be covered. Writing critical reviews of research papers in the field is a principal activity of this course.
-
[ECSWMS-07] Cloud Computing Technologies
This course covers a series of current cloud computing technologies. The students will learn how to develop Cloud-based software applications on top of various Cloud platforms, how to integrate application-level services built on heterogeneous Cloud platforms, and how to leverage SaaS and PaaS solutions to build comprehensive end-to-end business solutions on the Cloud. For different layers of the cloud technologies, practical solutions such as Google, Amazon, Microsoft, SalesForce.com, etc. as well as theoretical solutions (covered by a set of papers) will be introduced.
-
[EMCS-01] Service Oriented Architectures
The aim of this course is to establish an in-depth study of Service Oriented Architectures (SOA) from three main perspectives: business, architectural and technological point of view. From business perspective, adopting SOA is essential to delivering business agility; therefore, the importance of SOA in industry will be explained. The architectural perspective will discuss different architectural models of software development, with focus on SOA design and design patterns. The technology perspective will provide students with the opportunity to gain the required experience to implement and deploy SOA solutions that will meet different functional and non – functional requirements.
-
[EMCS-02] Data Visualization
The aim of this course is to introduce students to the field of data visualization. Students will learn visualization design and evaluation principles, and learn how to acquire, parse, and analyze large datasets. Students will also learn techniques for visualizing multivariate, temporal, text-based, geospatial, hierarchical, and network/graph-based data. Additionally, students will utilize Processing, D3, R and ggplot2, and many other tools to prototype many of these techniques on existing datasets.
-
[EMCS-03] Web Engineering
The Web has become a major delivery platform for resources. The aim of this course is to address concepts, methods, technologies and techniques to developing high quality, reliable and usable web applications. The course explores the approaches, methodologies, techniques and tools that support their design, development, evolution and evaluation. Students will be able to learn Web engineering methods and techniques that incorporate unique aspects of the problem domain such as: document oriented delivery, fine-grained lifecycles, user-centric development, client-server legacy system integration and diverse end user skill levels that ensure proper operability, maintenance and security of a web application.
-
[6 ECTS]
Free elective course
-
[MFE01] Rhetoric
During its long history of 2,500 years, rhetoric was used to indicate many different things; but rhetoric nowadays is considered as the art of persuasion through language. Rhetoric marks the way that an individual is linked to a particular theme or idea in order to convince the others. Rhetoric is characterized by several distinguishing features.
-
[MFE02] Multilingualism and multiculturalism
The purpose of this subject will be multilingualism in multicultural societies as a social phenomenon. This phenomenon is massive in the world. During the lectures, more precise terms such as monoculturalism and multiculturalism will be considered. The term ‘linguistic nationalism’ has at least two forms of this nationalism, which collide with each other: for the leaders of the most powerful countries nationalism means expansion, and for minorities it takes the form of defiance and struggle for the affirmation of identity, despite such pressure. The emphasis during the program will be multiculturalism in education. In the schools curricula consists of contents from different cultures.
-
[MFE03] Selected Advanced Topics in IT Applications for Preparing a Scientific Paper
The aim of this subject is:
To display the technical elements, the structure of the text and design of a scientific research.
To enable students to acquire advanced knowledge and skills from selected advanced chapters of IT applications that will be needed in preparing the scientific and research paper.
Practical application of these objectives in preparing student’s individual research paper.
-
[MFE04] Selected Advanced Topics in Applications for Statistical Data Processing
The aim of this subject is:
To display the technical elements in the field of statistics: organizing, processing, comparing through analysis and publication of data.
To enable students to acquire advanced knowledge and skills from selected advanced chapters of the applications for statistical data processing.
Practical application of these objectives in statistical processing of data obtained from questionnaires, reports, scientific studies and other documents.
-
[MFE05] Professional Communication
The course is focused on the development of those communication skills that are essential for effective functioning in the professional world. Students will study the process for analysis of different communication situations, and will accordingly comprehend them. Among the themes that will be covered are communication in organization, interpersonal and group communication, oral presentations, interviews for employment, professional business letters and interpersonal skills including group dynamics and teamwork.
-
[MFE09] Labor Market
The main aim of the course “Labor Market” is to provide second cycle students with basic and in-depth knowledge in the field of labor market theory and the mechanism of functioning of the market economy. The objective of the course Labor Market is to provide and teach students about categories, laws and basic principles through which the labor market functions. The course makes a detailed analysis of behavior pattern and the role that key agents play in labor market: individuals, companies and government. The analysis is based on two basic categories - labor demand and labor supply, which are applied in almost all the topics that are addressed in this course. The knowledge gained by the students from this course, serves as essential theoretical basis necessary to understand and grasp the different theories and policies that are applied in the labor market. The course teaches students to understand how labor markets distribute and use efficiently the rare factor of production- the labor. Lectures include knowledge about the concepts of labor demand and labor supply and their practical application; behavior of individuals in the labor market, in order to maximize their usefulness; behavior of companies in the labor market, aiming profit maximization; government's role in the labor market, the different structures of labor markets: labor market in full competition, monopoly in the labor market, the role of unions in the labor market, the bilateral monopoly in the labor market. Lectures and class discussions cover material that may not be in the book and some aspects of the material contained in the basic literature will not be discussed in class, but are left for active studying of the student. Therefore in order the student to achieve success in learning the course is to be present in lectures and workshops by participating actively in the discussion of various issues related to labor market.
-
[MFE08] Methodology of Teaching
The aim of the course is to introduce the students to the basic teaching approaches and methods. They are expected to gain knowledge and skills in order to be able to apply the active educational tools. The course also offers development, learning and teaching as concepts and basic practices that allow teachers to teach about the development of thinking. Throughout this course, students will gain both theoretical background and entirety of strategies that will enable them to reflect and develop both their own and their students' critical thinking.
-
[MFE10] Philosophy of Social Sciences
This module covers information that will provide the learner to gain knowledge, skill and competence of the social sciences, including general methodology (explaining, theorizing, testing), the application of philosophy (especially individualism versus holism), the nature of rationality, and the history of theories and concepts. This module offers an advanced survey of current debates about the ontology, methodology, and aims of the social sciences. It will focus on the central issues of the social sciences: Ethno methodology; Evolution; Phenomenology; Rationality; Relativism; Scientific Methods; Тextual Interpretations.
Learning outcomes:
On successful completion of the course, students will be able to:
Understand the goal of social sciences.
Tell the difference between explaining and understanding human behavior;
To explain the different approach in explanation of the social sciences compare the natural sciences, the peculiarities about human beings and social phenomena;
To understand the social structures, practices, norms, institutions, etc. The relationship between individuals and larger social structures;
To explain the rely not only on facts about individuals and their mental states, but also the cases in which social phenomena cannot be explained in terms of individual behavior;
To understand the value-laden in a different way or to a different degree than natural science, the possibility to have a value-free social science, the possibility to have an objectivity in social science.
-
[MFE11] Project Management
On successful completion of the course, students will be able to:
plan the activities necessary to implement the project, identify their interdependencies, their duration and costs;
prepare the necessary reports and perform all the required communication between the project and the client, as well as among the team members and the other stakeholders.
structure the project to its constituent activities;
prepare a Gantt-chart and a network plan for the project and identify the shortest time needed to complete the project;
use MS Project as a tool in the process of planning, implementation and review of the project;
define the project, identify its scope and objectives and develop project specification;
-
[MFE12] Optimization Methods
The aim of this course is to present techniques of modeling and optimization in order to prepare students for developing their ability to prepare models for solving real problems in the field of computer science. The course explore the importance of matrix factorizations as an important tool which offers modality for optimizing the solutions of different numerical algorithms which are of basic interest for problem solving in the area computer sciences. The course introduces optimization theory and approach to find the optimum. The different methods of optimization will be analyzed such as the simplex method, duality problem and sensitivity of the problems of linear programming. The aim is to explore a computer implementation for each of the problems followed by the proposal of the corresponding model for optimization.
-
[MFE13] Ethical and Legal Issues in Information Technology (IT)
Aims of the course program:
to develop an understanding of the relationship between computing, technological change, society and the law;
to emphasize the powerful role that computers and computer professionals play in a technological society;
to provide an understanding of legal areas which are relevant to the discipline of computing;
to provide an understanding of ethical concepts that are important to computer users and professionals;
to provide experience in the consideration of ethical matters and the resolution of ethical dilemmas.
-
[MFE14] Protection of Human Rights
The purpose of this course is: to introduce students with the concept of international law on human rights, their implementation, influence of those rights in the creation of national policies; to encourage students to critically reflect on the relationship between international law and national law; make them aware of current international events, how they affect the daily lives of people in the world; encourage students to contribute in matters of drafting laws for the protection of human rights hoping that, the law makers will consult them same during the creation and implementation of state policies.
Semester 2
-
[MCS-201]
[6 ECTS]
Advanced Data Strucutres and Algorithms
This course builds on previous knowledge in the area of algorithms and data structures. The goal of the course is to acquaint students with efficient advanced algorithms and adequate data structures that are used to organize, search and optimize data. It also includes the theoretical efficiency of algorithms and its practical determination with in order to be able to compare different algorithms. During the course, students will be introduced to several well-known algorithms, particularly search and optimization in complex nonlinear structures such as trees and graphs.
-
[MCS-202]
[6 ECTS]
Web Information Systems
This course will introduce technologies for building data-centric information systems on the World Wide Web and show the practical applications of such systems. The subject will focus on the aspects such as technologies and architectures for web information systems, web data management, web data and semantics, social web and web science.
-
[MCS-203]
[6 ECTS]
Distributed Computing
This subject introduces graduate students to the advanced topics in distributed computing models, algorithms, and software systems. In particular, the course will emphasize recent techniques used by real-world distributed systems such as distributed file systems, lock services, enterprise data centers, cloud computing, wireless sensor networks and pervasive applications. Case studies on real distributed systems will be conducted, and recent research literature in the subject area will be reviewed.
-
[6 ECTS]
Elective course
-
[ECSWMS-01] Wireless Mobile Networks
The course introduces the underlying concepts and principles of wireless networks. It presents the different components of a network and how these components fit together. It is intended to help students to understand the wireless mobile network technologies in general, and wireless LAN (WLAN) technology in depth and to help students prepare for the CWNA certification exam (PW0-100). The CWNA certification prepares the candidate to implement, troubleshoot, and maintain small, medium, and large wireless networks.
-
[ECSWMS-02] Interactive Systems Design for Web and Mobile Applications
The objective of this course is to help students learn the design principles of web and mobile applications in order to achieve high level of usability. More specifically, students will get acquainted with the user-centered design method, which represents the design of mobile applications based on user analysis and the context of use. Additionally, various wire-framing methods of building web and mobile application will be learned, which will be implemented to ensure the usability of the application by the users. Through practical examples, students will learn to avoid designing bad interfaces and instead develop usable and desirable web and mobile interfaces.
-
[ECSWMS-03] Internet of Things
This course provides a general introduction to the emerging concept of the “Internet of Things” and an overview of its stack of enabling technologies, spanning from sensors and actuators near the user or environment end to the cyber-physical systems that provide governing intelligence, via the Cloud that caters for virtually ubiquitous connectivity. This course brings together the next two big things, Semantic Web (Web 3.0) and the Internet of Things. The course emphasizes software-hardware code sign. A student may choose to focus on either software, hardware, or both aspects. The course aims at highlighting open issues with the Internet of Things (IoT) model, deployment, evaluation and evolution, outlining future directions relevant for societal impact and research opportunities.
-
[ECSWMS-04] Sofware Development for Mobile Devices
The aim of the course is to provide students with knowledge and understanding of a pragmatic process for developing applications for mobile devices. It will cover the development aspects for mobile devices, and practical individual project work in design and development oriented towards real practical case for one or more contemporary platforms that will enable students to gain real life practical experience and insights.
-
[ECSWMS-05] Web Application Security
This class is designed to teach students how to properly secure a web server, web page, and web application. Students will take an already existing web application and redesign it to be as secure as possible. Students will also design and build an ecommerce site designed with the best security practices. Students will learn how to protect confidential information, including financial and personal data.
Part of security is testing the security and vulnerabilities of the web application. To that end, students will also learn the common techniques for penetrating web applications and web servers. This will give students the techniques to properly test their web applications in their academic and professional careers.
-
[ECSWMS-06] Large Scale Distributed Systems
Distributed systems have become widely inescapable and are having a tremendous impact on various domains of human activity. They range from ad-hoc networks comprising of tiny sensor devices, to massive web farms of powerful servers. Therefore, this course will cover advanced and current topics in modern, large-scale distributed systems. The course will include an in-depth coverage of different strategies to process voluminous data. Issues related to replication, fault tolerance, consistency, scalability, isolation and privacy, virtualization and creation of machine images in large-scale distributed systems will also be covered. Writing critical reviews of research papers in the field is a principal activity of this course.
-
[EMCS-01] Service Oriented Architectures
The aim of this course is to establish an in-depth study of Service Oriented Architectures (SOA) from three main perspectives: business, architectural and technological point of view. From business perspective, adopting SOA is essential to delivering business agility; therefore, the importance of SOA in industry will be explained. The architectural perspective will discuss different architectural models of software development, with focus on SOA design and design patterns. The technology perspective will provide students with the opportunity to gain the required experience to implement and deploy SOA solutions that will meet different functional and non – functional requirements.
-
[EMCS-02] Data Visualization
The aim of this course is to introduce students to the field of data visualization. Students will learn visualization design and evaluation principles, and learn how to acquire, parse, and analyze large datasets. Students will also learn techniques for visualizing multivariate, temporal, text-based, geospatial, hierarchical, and network/graph-based data. Additionally, students will utilize Processing, D3, R and ggplot2, and many other tools to prototype many of these techniques on existing datasets.
-
[EMCS-03] Web Engineering
The Web has become a major delivery platform for resources. The aim of this course is to address concepts, methods, technologies and techniques to developing high quality, reliable and usable web applications. The course explores the approaches, methodologies, techniques and tools that support their design, development, evolution and evaluation. Students will be able to learn Web engineering methods and techniques that incorporate unique aspects of the problem domain such as: document oriented delivery, fine-grained lifecycles, user-centric development, client-server legacy system integration and diverse end user skill levels that ensure proper operability, maintenance and security of a web application.
-
[6 ECTS]
Free elective course
-
[MFE01] Rhetoric
During its long history of 2,500 years, rhetoric was used to indicate many different things; but rhetoric nowadays is considered as the art of persuasion through language. Rhetoric marks the way that an individual is linked to a particular theme or idea in order to convince the others. Rhetoric is characterized by several distinguishing features.
-
[MFE02] Multilingualism and multiculturalism
The purpose of this subject will be multilingualism in multicultural societies as a social phenomenon. This phenomenon is massive in the world. During the lectures, more precise terms such as monoculturalism and multiculturalism will be considered. The term ‘linguistic nationalism’ has at least two forms of this nationalism, which collide with each other: for the leaders of the most powerful countries nationalism means expansion, and for minorities it takes the form of defiance and struggle for the affirmation of identity, despite such pressure. The emphasis during the program will be multiculturalism in education. In the schools curricula consists of contents from different cultures.
-
[MFE03] Selected Advanced Topics in IT Applications for Preparing a Scientific Paper
The aim of this subject is:
To display the technical elements, the structure of the text and design of a scientific research.
To enable students to acquire advanced knowledge and skills from selected advanced chapters of IT applications that will be needed in preparing the scientific and research paper.
Practical application of these objectives in preparing student’s individual research paper.
-
[MFE04] Selected Advanced Topics in Applications for Statistical Data Processing
The aim of this subject is:
To display the technical elements in the field of statistics: organizing, processing, comparing through analysis and publication of data.
To enable students to acquire advanced knowledge and skills from selected advanced chapters of the applications for statistical data processing.
Practical application of these objectives in statistical processing of data obtained from questionnaires, reports, scientific studies and other documents.
-
[MFE05] Professional Communication
The course is focused on the development of those communication skills that are essential for effective functioning in the professional world. Students will study the process for analysis of different communication situations, and will accordingly comprehend them. Among the themes that will be covered are communication in organization, interpersonal and group communication, oral presentations, interviews for employment, professional business letters and interpersonal skills including group dynamics and teamwork.
-
[MFE09] Labor Market
The main aim of the course “Labor Market” is to provide second cycle students with basic and in-depth knowledge in the field of labor market theory and the mechanism of functioning of the market economy. The objective of the course Labor Market is to provide and teach students about categories, laws and basic principles through which the labor market functions. The course makes a detailed analysis of behavior pattern and the role that key agents play in labor market: individuals, companies and government. The analysis is based on two basic categories - labor demand and labor supply, which are applied in almost all the topics that are addressed in this course. The knowledge gained by the students from this course, serves as essential theoretical basis necessary to understand and grasp the different theories and policies that are applied in the labor market. The course teaches students to understand how labor markets distribute and use efficiently the rare factor of production- the labor. Lectures include knowledge about the concepts of labor demand and labor supply and their practical application; behavior of individuals in the labor market, in order to maximize their usefulness; behavior of companies in the labor market, aiming profit maximization; government's role in the labor market, the different structures of labor markets: labor market in full competition, monopoly in the labor market, the role of unions in the labor market, the bilateral monopoly in the labor market. Lectures and class discussions cover material that may not be in the book and some aspects of the material contained in the basic literature will not be discussed in class, but are left for active studying of the student. Therefore in order the student to achieve success in learning the course is to be present in lectures and workshops by participating actively in the discussion of various issues related to labor market.
-
[MFE08] Methodology of Teaching
The aim of the course is to introduce the students to the basic teaching approaches and methods. They are expected to gain knowledge and skills in order to be able to apply the active educational tools. The course also offers development, learning and teaching as concepts and basic practices that allow teachers to teach about the development of thinking. Throughout this course, students will gain both theoretical background and entirety of strategies that will enable them to reflect and develop both their own and their students' critical thinking.
-
[MFE10] Philosophy of Social Sciences
This module covers information that will provide the learner to gain knowledge, skill and competence of the social sciences, including general methodology (explaining, theorizing, testing), the application of philosophy (especially individualism versus holism), the nature of rationality, and the history of theories and concepts. This module offers an advanced survey of current debates about the ontology, methodology, and aims of the social sciences. It will focus on the central issues of the social sciences: Ethno methodology; Evolution; Phenomenology; Rationality; Relativism; Scientific Methods; Тextual Interpretations.
Learning outcomes:
On successful completion of the course, students will be able to:
Understand the goal of social sciences.
Tell the difference between explaining and understanding human behavior;
To explain the different approach in explanation of the social sciences compare the natural sciences, the peculiarities about human beings and social phenomena;
To understand the social structures, practices, norms, institutions, etc. The relationship between individuals and larger social structures;
To explain the rely not only on facts about individuals and their mental states, but also the cases in which social phenomena cannot be explained in terms of individual behavior;
To understand the value-laden in a different way or to a different degree than natural science, the possibility to have a value-free social science, the possibility to have an objectivity in social science.
-
[MFE11] Project Management
On successful completion of the course, students will be able to:
plan the activities necessary to implement the project, identify their interdependencies, their duration and costs;
prepare the necessary reports and perform all the required communication between the project and the client, as well as among the team members and the other stakeholders.
structure the project to its constituent activities;
prepare a Gantt-chart and a network plan for the project and identify the shortest time needed to complete the project;
use MS Project as a tool in the process of planning, implementation and review of the project;
define the project, identify its scope and objectives and develop project specification;
-
[MFE12] Optimization Methods
The aim of this course is to present techniques of modeling and optimization in order to prepare students for developing their ability to prepare models for solving real problems in the field of computer science. The course explore the importance of matrix factorizations as an important tool which offers modality for optimizing the solutions of different numerical algorithms which are of basic interest for problem solving in the area computer sciences. The course introduces optimization theory and approach to find the optimum. The different methods of optimization will be analyzed such as the simplex method, duality problem and sensitivity of the problems of linear programming. The aim is to explore a computer implementation for each of the problems followed by the proposal of the corresponding model for optimization.
-
[MFE13] Ethical and Legal Issues in Information Technology (IT)
Aims of the course program:
to develop an understanding of the relationship between computing, technological change, society and the law;
to emphasize the powerful role that computers and computer professionals play in a technological society;
to provide an understanding of legal areas which are relevant to the discipline of computing;
to provide an understanding of ethical concepts that are important to computer users and professionals;
to provide experience in the consideration of ethical matters and the resolution of ethical dilemmas.
-
[MFE14] Protection of Human Rights
The purpose of this course is: to introduce students with the concept of international law on human rights, their implementation, influence of those rights in the creation of national policies; to encourage students to critically reflect on the relationship between international law and national law; make them aware of current international events, how they affect the daily lives of people in the world; encourage students to contribute in matters of drafting laws for the protection of human rights hoping that, the law makers will consult them same during the creation and implementation of state policies.
Semester 3
-
[MCS-301]
[6 ECTS]
Sofware Interfaces
The course helps students learn the principles of designing computer applications to achieve high level of user usability. More specifically, students will gain knowledge of the user-centered design methods, which encompasses designing applications based on analyzing users and the conditions where the application is planned to be used. Additionally, various evaluating methods will be learned that will be implemented to ensure the application built will be highly usable by the users.
-
[MCS-302]
[6 ECTS]
Advanced Datat Engineering
The aim of this course is to learn from data, in order to gain useful predictions and insights. Separating signal from noise presents many computational and inferential challenges, which we approach from a perspective at the interface of computer science and statistics. Through real-world examples of wide interest, students will practically learn how to solve problems using methods and techniques learned in class.
-
[MCS-303]
[6 ECTS]
Research Methodology
The purpose of this course is to provide students with knowledge and understanding of different scientific theories and methodologies. Initially the student will be introduced to the conceptual, theoretical definitions and examples of all existing methods of research, hypothesis, direct and indirect variables, validation of the results, the conclusions BIAS and scientific qualitative and quantitative methodologies, "ground research" methodology and other methodological approaches. In each chapter the student will work on practical assignments. After completing the course the student will be able to explain thoroughly and understand the importance of basic scientific concepts, effectively search and find information-relevant literature, identify, describe and formulate scientific problems, make a careful choice of alternative research approaches, thoroughly described, compare and explain the advantages and disadvantages of different scientific methods for collecting quantitative and qualitative data, apply basic scientific methods to analyze quantitative and qualitative data, understand different frameworks for building theory and review and evaluate scientific publications.
-
[6 ECTS]
Elective course
-
[ECSWMS-01] Wireless Mobile Networks
The course introduces the underlying concepts and principles of wireless networks. It presents the different components of a network and how these components fit together. It is intended to help students to understand the wireless mobile network technologies in general, and wireless LAN (WLAN) technology in depth and to help students prepare for the CWNA certification exam (PW0-100). The CWNA certification prepares the candidate to implement, troubleshoot, and maintain small, medium, and large wireless networks.
-
[ECSWMS-02] Interactive Systems Design for Web and Mobile Applications
The objective of this course is to help students learn the design principles of web and mobile applications in order to achieve high level of usability. More specifically, students will get acquainted with the user-centered design method, which represents the design of mobile applications based on user analysis and the context of use. Additionally, various wire-framing methods of building web and mobile application will be learned, which will be implemented to ensure the usability of the application by the users. Through practical examples, students will learn to avoid designing bad interfaces and instead develop usable and desirable web and mobile interfaces.
-
[ECSWMS-03] Internet of Things
This course provides a general introduction to the emerging concept of the “Internet of Things” and an overview of its stack of enabling technologies, spanning from sensors and actuators near the user or environment end to the cyber-physical systems that provide governing intelligence, via the Cloud that caters for virtually ubiquitous connectivity. This course brings together the next two big things, Semantic Web (Web 3.0) and the Internet of Things. The course emphasizes software-hardware code sign. A student may choose to focus on either software, hardware, or both aspects. The course aims at highlighting open issues with the Internet of Things (IoT) model, deployment, evaluation and evolution, outlining future directions relevant for societal impact and research opportunities.
-
[ECSWMS-04] Sofware Development for Mobile Devices
The aim of the course is to provide students with knowledge and understanding of a pragmatic process for developing applications for mobile devices. It will cover the development aspects for mobile devices, and practical individual project work in design and development oriented towards real practical case for one or more contemporary platforms that will enable students to gain real life practical experience and insights.
-
[ECSWMS-05] Web Application Security
This class is designed to teach students how to properly secure a web server, web page, and web application. Students will take an already existing web application and redesign it to be as secure as possible. Students will also design and build an ecommerce site designed with the best security practices. Students will learn how to protect confidential information, including financial and personal data.
Part of security is testing the security and vulnerabilities of the web application. To that end, students will also learn the common techniques for penetrating web applications and web servers. This will give students the techniques to properly test their web applications in their academic and professional careers.
-
[ECSWMS-06] Large Scale Distributed Systems
Distributed systems have become widely inescapable and are having a tremendous impact on various domains of human activity. They range from ad-hoc networks comprising of tiny sensor devices, to massive web farms of powerful servers. Therefore, this course will cover advanced and current topics in modern, large-scale distributed systems. The course will include an in-depth coverage of different strategies to process voluminous data. Issues related to replication, fault tolerance, consistency, scalability, isolation and privacy, virtualization and creation of machine images in large-scale distributed systems will also be covered. Writing critical reviews of research papers in the field is a principal activity of this course.
-
[ECSWMS-07] Cloud Computing Technologies
This course covers a series of current cloud computing technologies. The students will learn how to develop Cloud-based software applications on top of various Cloud platforms, how to integrate application-level services built on heterogeneous Cloud platforms, and how to leverage SaaS and PaaS solutions to build comprehensive end-to-end business solutions on the Cloud. For different layers of the cloud technologies, practical solutions such as Google, Amazon, Microsoft, SalesForce.com, etc. as well as theoretical solutions (covered by a set of papers) will be introduced.
-
[EMCS-01] Service Oriented Architectures
The aim of this course is to establish an in-depth study of Service Oriented Architectures (SOA) from three main perspectives: business, architectural and technological point of view. From business perspective, adopting SOA is essential to delivering business agility; therefore, the importance of SOA in industry will be explained. The architectural perspective will discuss different architectural models of software development, with focus on SOA design and design patterns. The technology perspective will provide students with the opportunity to gain the required experience to implement and deploy SOA solutions that will meet different functional and non – functional requirements.
-
[EMCS-02] Data Visualization
The aim of this course is to introduce students to the field of data visualization. Students will learn visualization design and evaluation principles, and learn how to acquire, parse, and analyze large datasets. Students will also learn techniques for visualizing multivariate, temporal, text-based, geospatial, hierarchical, and network/graph-based data. Additionally, students will utilize Processing, D3, R and ggplot2, and many other tools to prototype many of these techniques on existing datasets.
-
[EMCS-03] Web Engineering
The Web has become a major delivery platform for resources. The aim of this course is to address concepts, methods, technologies and techniques to developing high quality, reliable and usable web applications. The course explores the approaches, methodologies, techniques and tools that support their design, development, evolution and evaluation. Students will be able to learn Web engineering methods and techniques that incorporate unique aspects of the problem domain such as: document oriented delivery, fine-grained lifecycles, user-centric development, client-server legacy system integration and diverse end user skill levels that ensure proper operability, maintenance and security of a web application.
-
[6 ECTS]
Elective course
-
[ECSWMS-01] Wireless Mobile Networks
The course introduces the underlying concepts and principles of wireless networks. It presents the different components of a network and how these components fit together. It is intended to help students to understand the wireless mobile network technologies in general, and wireless LAN (WLAN) technology in depth and to help students prepare for the CWNA certification exam (PW0-100). The CWNA certification prepares the candidate to implement, troubleshoot, and maintain small, medium, and large wireless networks.
-
[ECSWMS-02] Interactive Systems Design for Web and Mobile Applications
The objective of this course is to help students learn the design principles of web and mobile applications in order to achieve high level of usability. More specifically, students will get acquainted with the user-centered design method, which represents the design of mobile applications based on user analysis and the context of use. Additionally, various wire-framing methods of building web and mobile application will be learned, which will be implemented to ensure the usability of the application by the users. Through practical examples, students will learn to avoid designing bad interfaces and instead develop usable and desirable web and mobile interfaces.
-
[ECSWMS-03] Internet of Things
This course provides a general introduction to the emerging concept of the “Internet of Things” and an overview of its stack of enabling technologies, spanning from sensors and actuators near the user or environment end to the cyber-physical systems that provide governing intelligence, via the Cloud that caters for virtually ubiquitous connectivity. This course brings together the next two big things, Semantic Web (Web 3.0) and the Internet of Things. The course emphasizes software-hardware code sign. A student may choose to focus on either software, hardware, or both aspects. The course aims at highlighting open issues with the Internet of Things (IoT) model, deployment, evaluation and evolution, outlining future directions relevant for societal impact and research opportunities.
-
[ECSWMS-04] Sofware Development for Mobile Devices
The aim of the course is to provide students with knowledge and understanding of a pragmatic process for developing applications for mobile devices. It will cover the development aspects for mobile devices, and practical individual project work in design and development oriented towards real practical case for one or more contemporary platforms that will enable students to gain real life practical experience and insights.
-
[ECSWMS-05] Web Application Security
This class is designed to teach students how to properly secure a web server, web page, and web application. Students will take an already existing web application and redesign it to be as secure as possible. Students will also design and build an ecommerce site designed with the best security practices. Students will learn how to protect confidential information, including financial and personal data.
Part of security is testing the security and vulnerabilities of the web application. To that end, students will also learn the common techniques for penetrating web applications and web servers. This will give students the techniques to properly test their web applications in their academic and professional careers.
-
[ECSWMS-06] Large Scale Distributed Systems
Distributed systems have become widely inescapable and are having a tremendous impact on various domains of human activity. They range from ad-hoc networks comprising of tiny sensor devices, to massive web farms of powerful servers. Therefore, this course will cover advanced and current topics in modern, large-scale distributed systems. The course will include an in-depth coverage of different strategies to process voluminous data. Issues related to replication, fault tolerance, consistency, scalability, isolation and privacy, virtualization and creation of machine images in large-scale distributed systems will also be covered. Writing critical reviews of research papers in the field is a principal activity of this course.
-
[ECSWMS-07] Cloud Computing Technologies
This course covers a series of current cloud computing technologies. The students will learn how to develop Cloud-based software applications on top of various Cloud platforms, how to integrate application-level services built on heterogeneous Cloud platforms, and how to leverage SaaS and PaaS solutions to build comprehensive end-to-end business solutions on the Cloud. For different layers of the cloud technologies, practical solutions such as Google, Amazon, Microsoft, SalesForce.com, etc. as well as theoretical solutions (covered by a set of papers) will be introduced.
-
[EMCS-01] Service Oriented Architectures
The aim of this course is to establish an in-depth study of Service Oriented Architectures (SOA) from three main perspectives: business, architectural and technological point of view. From business perspective, adopting SOA is essential to delivering business agility; therefore, the importance of SOA in industry will be explained. The architectural perspective will discuss different architectural models of software development, with focus on SOA design and design patterns. The technology perspective will provide students with the opportunity to gain the required experience to implement and deploy SOA solutions that will meet different functional and non – functional requirements.
-
[EMCS-02] Data Visualization
The aim of this course is to introduce students to the field of data visualization. Students will learn visualization design and evaluation principles, and learn how to acquire, parse, and analyze large datasets. Students will also learn techniques for visualizing multivariate, temporal, text-based, geospatial, hierarchical, and network/graph-based data. Additionally, students will utilize Processing, D3, R and ggplot2, and many other tools to prototype many of these techniques on existing datasets.
-
[EMCS-03] Web Engineering
The Web has become a major delivery platform for resources. The aim of this course is to address concepts, methods, technologies and techniques to developing high quality, reliable and usable web applications. The course explores the approaches, methodologies, techniques and tools that support their design, development, evolution and evaluation. Students will be able to learn Web engineering methods and techniques that incorporate unique aspects of the problem domain such as: document oriented delivery, fine-grained lifecycles, user-centric development, client-server legacy system integration and diverse end user skill levels that ensure proper operability, maintenance and security of a web application.
Semester 4
-
[CST-THESIS-120]
[30 ECTS]
Master Thesis
This module enables students to transfer their skills and knowledge to research and carry out more complex tasks related to their master thesis. The module is designed to be fully practical and students to acquire the necessary knowledge and skills to approach writing the thesis. The module has unique return result-to enable students to write the master thesis with minimal difficulties, and with maximum efficiency. The course aims to improve research techniques and style of writing the paper, taking into account the prevention of the usage of illegal means, such as plagiarism and infringement of copyright, which are prohibited by the Statute of SEEU.