Master of Science in Computer Science
2026-08-22 16:03Master of Science in Computer Science
Master in Computer Science (120 ECTC, 2 academic years, full-time)
Program’s Objectives
The aim of the Master of Science in Computer Science study program is to deepen, broaden, and strengthen the knowledge and skills acquired during the first cycle of studies, as well as to provide students with advanced practical and theoretical knowledge in the field of computer science. The program supports rapid technological advancement and provides a foundation for lifelong learning and career success in both national and international environments. It offers specialized theoretical and practical knowledge in computer science and enables innovation in industry, as well as original research innovation within higher education institutions. The program also provides expertise in problem-solving in the areas of research and innovation and in the acquisition of new interdisciplinary knowledge. It equips students with the skills to develop teamwork strategies that contribute to the advancement of professional knowledge and to the evaluation of such work.
Objectives and Learning Outcomes of the Study Program:
The Master of Science in Computer Science program prepares students to achieve the following career and professional accomplishments within the years following graduation.
First Level: Knowledge and Understanding
The student will be able to:
– recognize and apply advanced algorithmic principles and computer science theory in the modeling, development, and design of computer systems.
– in the design of data structures, parallel algorithms, hash codes and algorithmic assumptions, heuristic programming, information security, the design of multimedia systems and various games, as well as artificial intelligence and machine learning, in order to solve complex problems in industry or scientific research contexts.
– identify input/output and peripheral devices, all components related to computer hardware, network interfaces, and drivers.
Second Level: Enhancing the Capacity to Apply Theoretical Knowledge in Practice
The student will acquire the following skills:
– pursue successful careers in computer science disciplines and/or continue with Master’s/doctoral studies in this field or related fields;
– enhance their knowledge and skills through lifelong learning and adapt to emerging markets and technologies.
Third Level: Professional Skills
The student will acquire expertise and skills to:
– assume leadership positions with the aim of improving services in this field, as well as initiate businesses that provide innovative solutions, and collaborate effectively in teams to complete a joint final project;
– act with awareness of the potential and responsibilities of the computing profession in the context of science, technology, society, and humanity.
Employment opportunities
Given the spread and development of computer technology in society today, there are many different job opportunities for computer science graduates. Some of the employment opportunities offered by the Master of Science in Computer Science program include the following:
- Software Engineer, who designs computer programs and applies
- computer science concepts to solve practical problems;
- Database Analyst, who designs and develops programs for collecting, storing, and
- analyzing various types of data;
- Systems and/or Database Administrator;
- Information Systems Manager;
- Information and Computer Security Specialist;
- IT Project Manager or Consultant;
- Web Developer;
- Game Developer;
- Computer Network Specialist;
EDUCATION PROGRAM
Semester I
Course description:Python is a high-level programming language used to develop a wide range of applications. It can be used for web development, automated testing, data analysis through Machine Learning algorithms, and many other purposes. Python enables programmers to perform automated testing through scripts that identify problems at an early stage, thereby increasing the reliability and efficiency of a system or program. It also facilitates and supports the software documentation process.
The student selects one (1) of the following courses:
The objectives of the course are to provide students with the knowledge required to become effective project managers, as well as practical techniques for managing projects. At the same time, students will work both individually and as part of a team to develop their own project. More specifically, the course aims to equip students with the knowledge and practical skills necessary for project management by examining a range of well-established project management techniques, from traditional to modern approaches. It also aims to establish a connection with computer science in the “real world” by sharing experiences from projects that are currently being implemented. Course Description:
Project management is the process of planning, organizing, and overseeing the overall execution of a project from its initiation through to completion. The general role of a project manager is to define the project objectives, develop a feasible project plan, allocate essential resources, and manage the project team as a whole. Effective project management requires strong communication skills, attention to detail, and the ability to adapt to constantly changing circumstances. It is critical across many industries, including construction, engineering, software development, and marketing. At the same time, almost everything in the field of computer science is structured as a “project,” often involving significant risk and uncertainty. Nevertheless, computer science professionals are expected to plan and anticipate effectively in order to deliver high-quality, fully functional products on time and within budget.
Semester II
The main objective is to familiarize students with the necessary mathematical concepts as well as the latest software tools used in the development of artificial intelligence algorithms. In this way, students will be prepared to analyze and develop various AI algorithms. Students will also become familiar with the statistical approach to artificial intelligence and will be able to interpret the results obtained. Finally, they will implement some of the most widely used artificial intelligence algorithms and test their performance on different datasets.
Course Description:
In this course, through lectures, seminars, and laboratory sessions focused on coding-related aspects, students are introduced to the fundamental concepts of artificial intelligence. The aim is to equip students with the knowledge required to contribute to various areas of scientific research as well as to industry. The course introduces students to the fundamental concepts of linear algebra, optimization, probability, and statistics, helping them develop the mathematical maturity necessary to succeed in research-oriented environments. Furthermore, throughout the course, students are required to implement some of the most widely used artificial intelligence algorithms using various Python libraries. This knowledge equips students with the skills and competencies needed to succeed across a range of industries.
Course Description:
The Software Engineering module covers the complete software development lifecycle, from design through to implementation. During this module, students will learn the principles, techniques, methods, and tools required to support application development.
The module places particular emphasis on the disciplined development and management of large and complex systems. Through practical examples, the topics covered guide students in meeting initially defined requirements by developing software correctly as a product that satisfies business needs.
Course Description:
This course provides broad coverage of information security and cybersecurity as a foundation for understanding, evaluating, and implementing a range of technical and organizational measures designed to ensure the appropriate protection of information resources against damage or compromise.
Cybersecurity also involves protecting physical systems from damage resulting from attacks carried out through the Internet. The course provides a foundation for pursuing additional security-related courses at the Master’s level.
The student selects one (1) of the following courses:
The course is divided into several areas, including Django and Flask libraries, asynchronous libraries, application development through Artificial Intelligence and Data Science, TensorFlow development, automated testing, and other development tools.
Students will gain expertise in designing RESTful APIs, implementing authentication and authorization mechanisms, and using ORM concepts for database interactions in both Flask and Django.
Furthermore, the course emphasizes automated testing practices, ensuring that students develop skills in creating unit tests, integration tests, and end-to-end tests in order to maintain code reliability and functionality. Course Description: Python is a high-level programming language used to develop a wide range of applications. It is used for web development, automated testing, data analysis through Machine Learning algorithms, and other purposes.
Python enables programmers to perform automated testing through scripts that detect problems at an early stage, increase the reliability and efficiency of a system or program, and also support the documentation process.
The course addresses issues related to the design and analysis of systems operating under real-time constraints.
The student selects one (1) of the following courses:
Semester III
The knowledge and techniques acquired in the Advanced Computer Networks and Technologies course enable students to conduct in-depth analyses and develop proposals for solutions and improvements to practices and procedures related to the design, implementation, and maintenance of computer networks.
Course Description:
This course aims to equip students with the knowledge and skills required to design, secure, manage, and adapt computer networks within a rapidly evolving technological environment.
Upon completion of the course, students will have developed knowledge and skills in areas such as the analysis and application of network protocols, customized design of network topologies, configuration and management of network devices, network performance optimization, and related topics.
Course Description:
The module is designed in an open-class format, encouraging in-depth discussion of both the theoretical and practical perspectives of scientific research. Through this module, students will become familiar with the techniques and processes required to conduct high-quality scientific research in computer science and related fields.
The range of topics covered throughout the course will be applied to a specific case using an appropriate methodology that identifies how to address the research problem, achieve the research objectives, and answer the research question and/or validate the research hypothesis.
Course Description:
This course is designed to provide students with a comprehensive understanding of web development. The curriculum covers essential DevOps practices and version control using GitHub. The course aims to equip students with the skills and knowledge required to successfully develop and deploy web applications online.
The student selects one (1) of the following courses:
This interdisciplinary course focuses on the design and evaluation of computer systems and technologies with which users interact. The course aims to help students learn and understand the principles of Human-Computer Interaction Design. The course is divided into three levels: 1. Theoretical instruction; 2. Exercises, case studies, and examples; 3. Project work carried out by students in teams. The theoretical component of the course can be divided into four main areas: 1. Principles of participatory design; 2. Principles of interaction design; 3. User Experience (UX) and User Interface (UI) design; 4. Tools and languages.
The student selects one (1) of the following courses:
The course is structured into three levels: theoretical instruction; exercises, case studies, and examples; and project work carried out by students in teams.
The theoretical component can be divided into several areas, including the fundamentals of digital business, disruptive technologies, principles of business intelligence, and relevant tools and programming languages.
Semester IV
Write the course content here.
Course Description:
Through lectures, students are expected to gain comprehensive knowledge of the impact of computer science across all areas of life and, more directly, on society. The course provides a broad examination of the influence of computer science from two main perspectives: the fields in which it is applied and its impact on emerging technologies.
We are now living in the computer age, where most people use devices capable of processing data, such as personal computers or smart devices including smartphones, smartwatches, and smart glasses. The development of computing represents one of the greatest scientific achievements of the 20th century and continues to have a direct influence on technological and societal developments in the 21st century.
Write the course content here.