The Master’s Programme in Software Technologies includes a wide range of advanced technology courses to build such sophisticated software solutions such as distributed computing resource management systems, autonomous self-adapting systems, mobile applications, Internet applications, and more. At the same time, it provides the necessary knowledge for the management of complex and large software projects.
The Master’s programme of Software Technologies (ST) was developed in accordance with the requirements of the ACM / IEEE Computing Curricula of Software Engineering. The program combines a wide range of knowledge in the current aspects of software technologies. The Master of Science (MSc) Programme of Software Technologes has a duration of 3 semesters, the last semester being provided for a mandatory internship and a diploma project. The Programme training and diploma theses are carried out in collaboration with leading software companies (Rila Solutions, IBM, SAP labs, VMWare, etc.), professional organizations (BASSCOM, BAIT) and other universities (University of Malardalen, Sweden , University of L'Aquila, Italy, University of Grenoble, France, etc.). For individual topics, Bulgarian and foreign lecturers and experts are invited as guest lecturers. Students can use a specialized library that contains modern editions in different areas of Software Technologies. Specialized literature is provided for all offered courses in the curriculum.
Bachelors who have graduated in Informatics or a similar major may apply for this Master's programme. There is no limitation regarding the university where the Bachelor's degree was obtained. It is recommended that candidates have at least 2 years of work experience in an information and communication technology organization. Due to the limited number of places in the Software Technologies Master’s programme, all applicants for training (with state subsidy or for a fee) must have passed the entrance examination.
Purpose of the program
The main feature of modern software is its complexity. Providing software solutions is not enough to master programming languages and modern algorithms, but many other aspects need to be considered. Software engineering is concerned with the development of sophisticated software using a systematic engineering approach that provides theories, methods and tools to solve complex and often interdisciplinary problems.
The program is designed to acquire the theoretical knowledge, practical skills and capabilities for the most effective and successful entry of students into the rapidly developing modern branch of modern technology - software technologies. The aim of the Sopharma Technologies Master's programme is to acquire knowledge and skills for analysis, design, implementation and maintenance of software systems; to gain practical experience in developing and using information and communication technologies and systems for building complex software solutions for different areas - telecommunications, industry automation, embedded systems and other, as well as different types of information systems, web-based systems and systems, Service Oriented Services (SOA); be able to define problems, analyze alternatives and create approaches, methods, techniques, software tools to build, deploy and maintain business systems.
The Master’s programme of Software Technologies is focused on preparing the new generation of analysts, designers, developers, quality testers, project managers in modern software systems in traditional, distributed and networked systems. Graduate masters will be able to work effectively as professional designers and software developers on their own and in a team. Sufficient volume of current courses of relevance and content are provided, dedicated to the theoretical foundations and architectural and technological solutions in distributed multilayer programming systems. The different phases of the complex software development process as well as modern methods and tools for building applications and integrating them will be considered. In the provided laboratory exercises and seminars the students will have the opportunity to acquire the program environments and modules for development of modules and complete systems, as well as to apply the acquired knowledge in the course of assignments and projects. They will have the professional competence and skills to design and manage the development of software systems. This will enable these specialists to develop and assume the functions of managers at different levels of management in the software industry organizations in Bulgaria as well as in Europe, America and other countries.
Graduates of the Master’s Programme in Software Technologies must be competent to:
- Demonstrate knowledge and understanding of the essential facts, concepts, principles and theories that are related to computer science and especially to software technologies;
- Use this knowledge and understanding in designing software systems with a clear understanding of the advantages and disadvantages of different design variants;
- Identify and analyze criteria and specifications that are appropriate to address specific issues;
- Apply appropriate theories, practices and tools for the specification, design, implementation and evaluation of computer and information technologies;
- Specify, design and implement software systems;
- Work in software projects such as contractors and executives;
- Evaluate software systems;
- Collect and apply new information from different sources such as textbooks, tutorials, the Internet;
- Apply and understand the principles and role of modern software interfaces in the design and implementation of systems containing software as part of them.
In addition to the competencies listed above, students will acquire the skills to:
- Make brief and clear presentations to different audiences about technical issues and their decisions;
- Work effectively as a member of a team of developers;
- Understand and explain the qualitative dimensions of a problem;
- Manage their own training and development, including timing and organizational skills.
Future Masters in Software Technologies will have the opportunity to have a broad professional appearance in our, foreign and mixed companies and projects, such as independent designers and team members. They will be able to apply the studied world practices and modern means of specification, design, coding, testing and implementation of modern software systems.
Graduates will be able to take up positions in organizations developing software systems, as well as in business organizations or in public administration, such as analysts, designers, developers, quality controllers, project managers, experts, consultants, and others. Another possible realization is scientific and research work in the field of software engineering.