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
-
[ECSSE-01] Software Project Management
The aim of this course is to give students knowledge on how to develop a software project management plan for software intensive systems; how to set up monitoring and control mechanisms; how to allocate and reallocate project resources; how to track schedule, budget, quality, productivity, and progress; frameworks and how to plan for the installation and support phase of the system life cycle. They will understand the importance project structure, resource planning and execution, and progress measures of a project. In addition, they will understand the relationships among quality assurance, configuration management, verification and validation, and test and evaluation. They will also gain an understanding of the key issues in costing and pricing units of effort, motivation of workers, leading project teams, and total quality management.
-
[ECSSE-02] Software Testing and Analysis
Software plays an important role in our daily activities, often providing critical services to end users. It is important to ensure that these systems function as they are intended with a high degree of quality. Software testing and program analysis are two techniques that are widely used to ensure the software quality. These techniques are used by developers in order to validate, verify, and evaluate the quality of software produced during the software engineering process. This course aims to provide students with advanced knowledge of the techniques used in software testing and program analysis. Students will gain an understanding of the concepts and theories that underlie these techniques. Students will also learn to use existing popular tools that support testing and analysis tasks and will be exposed to new research in the area.
-
[ECSSE-03] Requirements Engineering
Kjo lëndë mbulon konceptet e krijimit, përkufizimit dhe menaxhimit sistematik me kërkesat e softuerit për sistemet e mëdha, komplekse, të ndryshueshme ku dominon pjesa softuerike. Procesi mbulohet nga ana teknike, organizative si dhe nga perspektiva e menaxhimit, duke diskutuar paradigmat dhe metodologjitë e inxhinierisë së kërkesave që janë përdorur në të kaluarën, përdoren tash ose do të përdoren në të ardhmen. Këtu mbulohen qasjet informate, gjysmë-formale dhe formale, duke mbajtur baraspeshën ndërmjet teorisë dhe praktikës. Kjo nënkupton ndërtimin e modeleve njëherësh edhe të procesit të inxhinierisë së kërkesave edhe të produktit që është rezultat i këtij procesi, në lidhje me qëllimet/kërkesat/specifikimet funksionale dhe jo-funksionale, me përdorimin e një procesi sistematik të vendimmarrjes.
Предметот ги опфаќа концептите за систематско создавање, дефинирање и управување со побарувањата на софтверот за големи, комплексни, менливи и за софтвер-интензивни системи. Процесот е покриен од техничка, организациска и од управувачка перспектива, опфаќајќи ги минатите, сегашните и идните парадигми и методологии во инженеринг на побарувањата. Овој предмет ги опфаќа неформалните, полуформалните и формалните пристапи, одржувајќи рамнотежа меѓу теоријата и практиката. Тоа подразбира градење модели воедно и процесот и производот на инженерството на побарувањата, во врска со двете функционални и нефункционални цели/побарувања/спецификации, со користење систематски процес на донесување одлуки.
The course covers concepts for systematically establishing, defining and managing software requirements for large, complex, changing and software-intensive systems. The process is covered from technical, organizational and management perspectives, discussing past, present and future paradigms and methodologies in requirements engineering. The course covers informal, semi-formal and formal approaches, while keeping the balance between theory and practice. It involves building models of both requirement engineering process and requirements engineering product, concerning both functional and non-functional goals/requirements/specifications, using a systematic decision-making process.
-
[ECSSE-04] Agile Software Development
The course aim is to introduce the fundamental principles and practices associated with each of the agile development methods: Lean, Scrum, eXtreme Programming (XP), Feature-driven Development (FDD), Kanban, and Dynamic Systems Development Method (DSDM).
-
[ECSSE-05] Model-Driven Software Development
Model Driven Software Development is an emerging area in academic software engineering research and in industry practice. The aim of this module is to expose students to model – driven engineering by teaching them how to choose coherent modeling formalism to produce complete and consistent analysis and design models, and in which order the different models should be produced, and finally how models from one development phase are used as input/transformed into models at the next development phase. At the end of the course student will not only be able to analyze, specify and design, but also to implement applications using model – driven development and specific technologies.
-
[ECSSE-06] Software Quality Assurance and Risk Management
As software becomes more complex, and in order to ensure a higher quality, it is necessary to establish clear processes and methodologies. Doing so will ensure that the end-product has been exposed to intensive and rigorous industry-wide verification and validation techniques and procedures. Additionally, it is necessary to provide good management of risks in order to ensure reliable processes. This will translate into a high degree of assurance that a software system passes the test for correctness and reliability. The aim of this course is to provide theoretical and practical knowledge about both the quality assurance processes and risk management.
-
[ECSSE-07] Ethical Issues for IT Professionals
This course provides a comprehensive overview of the current ethical issues in Information Technology (IT) use. It examines an array of long-standing and emerging issues facing IT users ranging from free speech, privacy, intellectual property, hacking, and the digital divide, to ethics in social networking and online communities. The course discusses the ethical dilemmas and responsibilities of IT professionals, and promotes the critical examination and responsible use of IT.
-
[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-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
-
[ECSSE-01] Software Project Management
The aim of this course is to give students knowledge on how to develop a software project management plan for software intensive systems; how to set up monitoring and control mechanisms; how to allocate and reallocate project resources; how to track schedule, budget, quality, productivity, and progress; frameworks and how to plan for the installation and support phase of the system life cycle. They will understand the importance project structure, resource planning and execution, and progress measures of a project. In addition, they will understand the relationships among quality assurance, configuration management, verification and validation, and test and evaluation. They will also gain an understanding of the key issues in costing and pricing units of effort, motivation of workers, leading project teams, and total quality management.
-
[ECSSE-02] Software Testing and Analysis
Software plays an important role in our daily activities, often providing critical services to end users. It is important to ensure that these systems function as they are intended with a high degree of quality. Software testing and program analysis are two techniques that are widely used to ensure the software quality. These techniques are used by developers in order to validate, verify, and evaluate the quality of software produced during the software engineering process. This course aims to provide students with advanced knowledge of the techniques used in software testing and program analysis. Students will gain an understanding of the concepts and theories that underlie these techniques. Students will also learn to use existing popular tools that support testing and analysis tasks and will be exposed to new research in the area.
-
[ECSSE-03] Requirements Engineering
Kjo lëndë mbulon konceptet e krijimit, përkufizimit dhe menaxhimit sistematik me kërkesat e softuerit për sistemet e mëdha, komplekse, të ndryshueshme ku dominon pjesa softuerike. Procesi mbulohet nga ana teknike, organizative si dhe nga perspektiva e menaxhimit, duke diskutuar paradigmat dhe metodologjitë e inxhinierisë së kërkesave që janë përdorur në të kaluarën, përdoren tash ose do të përdoren në të ardhmen. Këtu mbulohen qasjet informate, gjysmë-formale dhe formale, duke mbajtur baraspeshën ndërmjet teorisë dhe praktikës. Kjo nënkupton ndërtimin e modeleve njëherësh edhe të procesit të inxhinierisë së kërkesave edhe të produktit që është rezultat i këtij procesi, në lidhje me qëllimet/kërkesat/specifikimet funksionale dhe jo-funksionale, me përdorimin e një procesi sistematik të vendimmarrjes.
Предметот ги опфаќа концептите за систематско создавање, дефинирање и управување со побарувањата на софтверот за големи, комплексни, менливи и за софтвер-интензивни системи. Процесот е покриен од техничка, организациска и од управувачка перспектива, опфаќајќи ги минатите, сегашните и идните парадигми и методологии во инженеринг на побарувањата. Овој предмет ги опфаќа неформалните, полуформалните и формалните пристапи, одржувајќи рамнотежа меѓу теоријата и практиката. Тоа подразбира градење модели воедно и процесот и производот на инженерството на побарувањата, во врска со двете функционални и нефункционални цели/побарувања/спецификации, со користење систематски процес на донесување одлуки.
The course covers concepts for systematically establishing, defining and managing software requirements for large, complex, changing and software-intensive systems. The process is covered from technical, organizational and management perspectives, discussing past, present and future paradigms and methodologies in requirements engineering. The course covers informal, semi-formal and formal approaches, while keeping the balance between theory and practice. It involves building models of both requirement engineering process and requirements engineering product, concerning both functional and non-functional goals/requirements/specifications, using a systematic decision-making process.
-
[ECSSE-04] Agile Software Development
The course aim is to introduce the fundamental principles and practices associated with each of the agile development methods: Lean, Scrum, eXtreme Programming (XP), Feature-driven Development (FDD), Kanban, and Dynamic Systems Development Method (DSDM).
-
[ECSSE-05] Model-Driven Software Development
Model Driven Software Development is an emerging area in academic software engineering research and in industry practice. The aim of this module is to expose students to model – driven engineering by teaching them how to choose coherent modeling formalism to produce complete and consistent analysis and design models, and in which order the different models should be produced, and finally how models from one development phase are used as input/transformed into models at the next development phase. At the end of the course student will not only be able to analyze, specify and design, but also to implement applications using model – driven development and specific technologies.
-
[ECSSE-06] Software Quality Assurance and Risk Management
As software becomes more complex, and in order to ensure a higher quality, it is necessary to establish clear processes and methodologies. Doing so will ensure that the end-product has been exposed to intensive and rigorous industry-wide verification and validation techniques and procedures. Additionally, it is necessary to provide good management of risks in order to ensure reliable processes. This will translate into a high degree of assurance that a software system passes the test for correctness and reliability. The aim of this course is to provide theoretical and practical knowledge about both the quality assurance processes and risk management.
-
[ECSSE-07] Ethical Issues for IT Professionals
This course provides a comprehensive overview of the current ethical issues in Information Technology (IT) use. It examines an array of long-standing and emerging issues facing IT users ranging from free speech, privacy, intellectual property, hacking, and the digital divide, to ethics in social networking and online communities. The course discusses the ethical dilemmas and responsibilities of IT professionals, and promotes the critical examination and responsible use of IT.
-
[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-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
-
[ECSSE-01] Software Project Management
The aim of this course is to give students knowledge on how to develop a software project management plan for software intensive systems; how to set up monitoring and control mechanisms; how to allocate and reallocate project resources; how to track schedule, budget, quality, productivity, and progress; frameworks and how to plan for the installation and support phase of the system life cycle. They will understand the importance project structure, resource planning and execution, and progress measures of a project. In addition, they will understand the relationships among quality assurance, configuration management, verification and validation, and test and evaluation. They will also gain an understanding of the key issues in costing and pricing units of effort, motivation of workers, leading project teams, and total quality management.
-
[ECSSE-02] Software Testing and Analysis
Software plays an important role in our daily activities, often providing critical services to end users. It is important to ensure that these systems function as they are intended with a high degree of quality. Software testing and program analysis are two techniques that are widely used to ensure the software quality. These techniques are used by developers in order to validate, verify, and evaluate the quality of software produced during the software engineering process. This course aims to provide students with advanced knowledge of the techniques used in software testing and program analysis. Students will gain an understanding of the concepts and theories that underlie these techniques. Students will also learn to use existing popular tools that support testing and analysis tasks and will be exposed to new research in the area.
-
[ECSSE-03] Requirements Engineering
Kjo lëndë mbulon konceptet e krijimit, përkufizimit dhe menaxhimit sistematik me kërkesat e softuerit për sistemet e mëdha, komplekse, të ndryshueshme ku dominon pjesa softuerike. Procesi mbulohet nga ana teknike, organizative si dhe nga perspektiva e menaxhimit, duke diskutuar paradigmat dhe metodologjitë e inxhinierisë së kërkesave që janë përdorur në të kaluarën, përdoren tash ose do të përdoren në të ardhmen. Këtu mbulohen qasjet informate, gjysmë-formale dhe formale, duke mbajtur baraspeshën ndërmjet teorisë dhe praktikës. Kjo nënkupton ndërtimin e modeleve njëherësh edhe të procesit të inxhinierisë së kërkesave edhe të produktit që është rezultat i këtij procesi, në lidhje me qëllimet/kërkesat/specifikimet funksionale dhe jo-funksionale, me përdorimin e një procesi sistematik të vendimmarrjes.
Предметот ги опфаќа концептите за систематско создавање, дефинирање и управување со побарувањата на софтверот за големи, комплексни, менливи и за софтвер-интензивни системи. Процесот е покриен од техничка, организациска и од управувачка перспектива, опфаќајќи ги минатите, сегашните и идните парадигми и методологии во инженеринг на побарувањата. Овој предмет ги опфаќа неформалните, полуформалните и формалните пристапи, одржувајќи рамнотежа меѓу теоријата и практиката. Тоа подразбира градење модели воедно и процесот и производот на инженерството на побарувањата, во врска со двете функционални и нефункционални цели/побарувања/спецификации, со користење систематски процес на донесување одлуки.
The course covers concepts for systematically establishing, defining and managing software requirements for large, complex, changing and software-intensive systems. The process is covered from technical, organizational and management perspectives, discussing past, present and future paradigms and methodologies in requirements engineering. The course covers informal, semi-formal and formal approaches, while keeping the balance between theory and practice. It involves building models of both requirement engineering process and requirements engineering product, concerning both functional and non-functional goals/requirements/specifications, using a systematic decision-making process.
-
[ECSSE-04] Agile Software Development
The course aim is to introduce the fundamental principles and practices associated with each of the agile development methods: Lean, Scrum, eXtreme Programming (XP), Feature-driven Development (FDD), Kanban, and Dynamic Systems Development Method (DSDM).
-
[ECSSE-05] Model-Driven Software Development
Model Driven Software Development is an emerging area in academic software engineering research and in industry practice. The aim of this module is to expose students to model – driven engineering by teaching them how to choose coherent modeling formalism to produce complete and consistent analysis and design models, and in which order the different models should be produced, and finally how models from one development phase are used as input/transformed into models at the next development phase. At the end of the course student will not only be able to analyze, specify and design, but also to implement applications using model – driven development and specific technologies.
-
[ECSSE-06] Software Quality Assurance and Risk Management
As software becomes more complex, and in order to ensure a higher quality, it is necessary to establish clear processes and methodologies. Doing so will ensure that the end-product has been exposed to intensive and rigorous industry-wide verification and validation techniques and procedures. Additionally, it is necessary to provide good management of risks in order to ensure reliable processes. This will translate into a high degree of assurance that a software system passes the test for correctness and reliability. The aim of this course is to provide theoretical and practical knowledge about both the quality assurance processes and risk management.
-
[ECSSE-07] Ethical Issues for IT Professionals
This course provides a comprehensive overview of the current ethical issues in Information Technology (IT) use. It examines an array of long-standing and emerging issues facing IT users ranging from free speech, privacy, intellectual property, hacking, and the digital divide, to ethics in social networking and online communities. The course discusses the ethical dilemmas and responsibilities of IT professionals, and promotes the critical examination and responsible use of IT.
-
[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-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
-
[ECSSE-01] Software Project Management
The aim of this course is to give students knowledge on how to develop a software project management plan for software intensive systems; how to set up monitoring and control mechanisms; how to allocate and reallocate project resources; how to track schedule, budget, quality, productivity, and progress; frameworks and how to plan for the installation and support phase of the system life cycle. They will understand the importance project structure, resource planning and execution, and progress measures of a project. In addition, they will understand the relationships among quality assurance, configuration management, verification and validation, and test and evaluation. They will also gain an understanding of the key issues in costing and pricing units of effort, motivation of workers, leading project teams, and total quality management.
-
[ECSSE-02] Software Testing and Analysis
Software plays an important role in our daily activities, often providing critical services to end users. It is important to ensure that these systems function as they are intended with a high degree of quality. Software testing and program analysis are two techniques that are widely used to ensure the software quality. These techniques are used by developers in order to validate, verify, and evaluate the quality of software produced during the software engineering process. This course aims to provide students with advanced knowledge of the techniques used in software testing and program analysis. Students will gain an understanding of the concepts and theories that underlie these techniques. Students will also learn to use existing popular tools that support testing and analysis tasks and will be exposed to new research in the area.
-
[ECSSE-03] Requirements Engineering
Kjo lëndë mbulon konceptet e krijimit, përkufizimit dhe menaxhimit sistematik me kërkesat e softuerit për sistemet e mëdha, komplekse, të ndryshueshme ku dominon pjesa softuerike. Procesi mbulohet nga ana teknike, organizative si dhe nga perspektiva e menaxhimit, duke diskutuar paradigmat dhe metodologjitë e inxhinierisë së kërkesave që janë përdorur në të kaluarën, përdoren tash ose do të përdoren në të ardhmen. Këtu mbulohen qasjet informate, gjysmë-formale dhe formale, duke mbajtur baraspeshën ndërmjet teorisë dhe praktikës. Kjo nënkupton ndërtimin e modeleve njëherësh edhe të procesit të inxhinierisë së kërkesave edhe të produktit që është rezultat i këtij procesi, në lidhje me qëllimet/kërkesat/specifikimet funksionale dhe jo-funksionale, me përdorimin e një procesi sistematik të vendimmarrjes.
Предметот ги опфаќа концептите за систематско создавање, дефинирање и управување со побарувањата на софтверот за големи, комплексни, менливи и за софтвер-интензивни системи. Процесот е покриен од техничка, организациска и од управувачка перспектива, опфаќајќи ги минатите, сегашните и идните парадигми и методологии во инженеринг на побарувањата. Овој предмет ги опфаќа неформалните, полуформалните и формалните пристапи, одржувајќи рамнотежа меѓу теоријата и практиката. Тоа подразбира градење модели воедно и процесот и производот на инженерството на побарувањата, во врска со двете функционални и нефункционални цели/побарувања/спецификации, со користење систематски процес на донесување одлуки.
The course covers concepts for systematically establishing, defining and managing software requirements for large, complex, changing and software-intensive systems. The process is covered from technical, organizational and management perspectives, discussing past, present and future paradigms and methodologies in requirements engineering. The course covers informal, semi-formal and formal approaches, while keeping the balance between theory and practice. It involves building models of both requirement engineering process and requirements engineering product, concerning both functional and non-functional goals/requirements/specifications, using a systematic decision-making process.
-
[ECSSE-04] Agile Software Development
The course aim is to introduce the fundamental principles and practices associated with each of the agile development methods: Lean, Scrum, eXtreme Programming (XP), Feature-driven Development (FDD), Kanban, and Dynamic Systems Development Method (DSDM).
-
[ECSSE-05] Model-Driven Software Development
Model Driven Software Development is an emerging area in academic software engineering research and in industry practice. The aim of this module is to expose students to model – driven engineering by teaching them how to choose coherent modeling formalism to produce complete and consistent analysis and design models, and in which order the different models should be produced, and finally how models from one development phase are used as input/transformed into models at the next development phase. At the end of the course student will not only be able to analyze, specify and design, but also to implement applications using model – driven development and specific technologies.
-
[ECSSE-06] Software Quality Assurance and Risk Management
As software becomes more complex, and in order to ensure a higher quality, it is necessary to establish clear processes and methodologies. Doing so will ensure that the end-product has been exposed to intensive and rigorous industry-wide verification and validation techniques and procedures. Additionally, it is necessary to provide good management of risks in order to ensure reliable processes. This will translate into a high degree of assurance that a software system passes the test for correctness and reliability. The aim of this course is to provide theoretical and practical knowledge about both the quality assurance processes and risk management.
-
[ECSSE-07] Ethical Issues for IT Professionals
This course provides a comprehensive overview of the current ethical issues in Information Technology (IT) use. It examines an array of long-standing and emerging issues facing IT users ranging from free speech, privacy, intellectual property, hacking, and the digital divide, to ethics in social networking and online communities. The course discusses the ethical dilemmas and responsibilities of IT professionals, and promotes the critical examination and responsible use of IT.
-
[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-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.