fbpx ATH/TECH | MSc in Software Development

MSc in Software Development

The MSc in Software Development programme is a postgraduate programme aimed at students who are graduates from other than Computer Science disciplines and may come from a wide variety of academic backgrounds. The programme provides students with a wide understanding of Computer Science and of core computing skills and prepares graduates for rewarding and challenging careers in the computing industry and technology related fields.

MSc in Software Development


Because the degree received is issued by the university of Sheffield, a university that is listed among the 15 best in the UK.

Because this is a bridging course to computer science specifically designed for graduates coming from other fields of expertise.

Because this master’s course will provide the skills needed to launch a career in technology, the most dynamic sector of the global economy.

Because it imparts the knowledge needed to keep up with the ever changing labor market that is in constant search of professionals with special skills and up to date education related to experimental theories and techniques emerging in the academic world.

Because it gives the option to people already working in innovation and technology industry to learn about the different aspects of computer science. A process that will ensure the growth of their skills.

Because through the process of lifelong learning students can identify tech trends and always update their knowledge in the field of computer science.

Because the curriculum is perfectly aligned with specific knowledge and the skills that labor market needs from professionals working at crucial posts of the ICT industry.

MSc in Software Development

  • To create high level graduates capable of having a successful career in different sectors of computer science. Our students are being trained in real life situations where they learn how to analyze, design and develop software systems.
  • To create professionals with critical thinking who have received the necessary theoretical background to be able to work through the hurdles of their career.
  • To prepare students for their future career by delivering a curriculum that combines theory and practice.
  • To employ scientific personnel of experienced lecturers and researchers. The professors of Sheffield university have been long teaching in academic environments and have been involved in research groups and studies. Frequent seminars with guest speakers from the tech industry and the academic world complete the learning process.

MSc in Software Development


Fundamentals of Computer Science

This unit offers a comprehensive introduction to important topics that are considered backbones of Computer Science. The unit focuses on fundamental concepts of computer architecture and operating systems, algorithm development and analysis, data organization/representation and data abstraction. Overall, the unit aims to enable students to develop knowledge, understanding and practical skills on issues that are essential in the field of computing and crucial in the IT industry.

Object-Oriented Programming

This unit is presents the fundamental concepts of object-oriented programming as well as techniques for the analysis, design and implementation of object-oriented solutions in the Java programming language. Initial emphasis is placed in determining and implementing the necessary user-defined classes, identifying the relations among them and making use of the principle of inheritance. The unit then covers advanced concepts of object-oriented programming, such as polymorphism, design with interfaces, and error handling in the Java programming language. Finally, Graphical User Interfaces are also introduced for the creation of user friendly applications.

Software Development for Mobile devices

The unit aims to introduce students to the development of application for mobile devices. If focuses on the design, and implementation of Android applications. The principles of designing applications for mobile devices will be provided, taking into consideration resources constraints and special human-computer-interaction issues.

Computer Networks

This unit provides the student with thorough understanding of fundamental as well as contemporary issues of data communications and computer networking. It gives students the ability to familiarize themselves with computer networks in order to gain a thorough insight of data exchange. Important and crucial subjects related to computer networking and Internet technologies are explored. This unit introduces students to modern communication systems and offers a comprehensive overview of the fundamental principles, theories and practices employed in computer networks. All protocol layers are addressed and crucial issues, such as network subnetting and security, are also examined.

Database Systems

This unit provides introductory and advanced concepts and principles of database systems and examines key issues of the database approach to information storage and manipulation. In addition, since designing a successful database application requires conceptual modeling, the unit explains the modeling concepts of the Entity Relationship Diagram as a high-level conceptual data model. Furthermore, the relational data model is analyzed as an implementation data model due to its widespread use in traditional commercial database management systems. Last but not least, the unit presents the main features (basic & advanced) of the structured query language since it is the lingua franca of relational database management systems.

Software Engineering

The unit aims to develop an understanding of the problems involved in the development of high quality software products and appreciation of the methodologies, techniques, and tools necessary to develop such systems efficiently. The emphasis of the course is placed on project management, metrics and project estimation, risk management, quality issues, testing, and contemporary software engineering topics, such as extreme programming and refactoring.

Web Technologies

The World Wide Web has evolved into a continuously growing universe of interlinked websites and web applications that offer interactive, real-time and multimedia content. This growth was partially due to the advancements in web technologies which offer the ability to create immersive web experiences. This unit provides the fundamental knowledge needed in order to engage in web programming and web application development. It provides an overview of the architecture, design and development of both static websites and dynamic web applications. It explores at an introductory level the fundamental web programming technologies including server-side, client-side and presentation technologies.

Artificial Intelligence

Artificial Intelligence (AI) is the area of Computer Science with the ultimate goal to build intelligent machines, i.e. machines that exhibit human-like behaviour when solving complex problems. Following the classic equation that “AI = search + knowledge representation”, this unit provides an in-depth introduction to explainable Artificial Intelligence problem solving techniques by presenting blind and heuristic state space search algorithms, knowledge representation (KR) techniques, such as logic, structured representations and rules as well as basic natural language syntax and semantics processing and finally principles of machine learning. For each technique discussed special emphasis will be given on the practical issues that arise during implementation. The unit provides the necessary background knowledge for the advanced third year units.

Research Skills & Dissertation Preparation

Through this unit develop their research skills and get prepared for working on their MSc dissertation. With the guidance of their supervisors, students are introduced to the research topics and techniques that are commonly employed in software engineering research. Students are exposed to and exercise the principles and practices of report writing, literature reviewing, and research designs and approaches.


MSc in Software Development


1st semester (October)
2nd semester (February)


1 Year (Full Time )
2 Years (Part Time)




Weekday evenings and up to four Saturdays per semester


Candidates must hold an undergraduate degree with good performance in any field.

Postgraduate applicants must have a fluent command of the English language, certified by one of the following:

  • CAE: Grade A or B or
  • IELTS: Grade 6.5 or above or
  • TOEFL (paper based 575 / internet based 89-90) or
  • Equivalent or Higher Qualification


Candidates who have completed their Bachelor’s studies or their higher secondary education entirely through the medium of the English Language are not required to hold an English language qualification

MSc in Software Development


Complete the following form and we will contact you to discuss all the details concerning MSc in Software Development.

I have read and accept the terms of use and privacy policy