ATH/TECH | MSc in Software Development
Master's

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 (i.e. Software Engineers, Web Developers, Database Engineers, Mobile Developers, Technology Consultants and others).

MSc in Software Development

WHY CHOOSE THIS COURSE

Because the degree received is issued by the the University of York, one of the world’s premier institutions for inspirational teaching and life-changing research and a member of the prestigious Russell Group in 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

GOALS OF THIS COURSE
  • 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 educate students on the principles of software engineering, a science that has different applications in our everyday life. Students will be taught how to create effective and updated software systems that keep up with the tech trends and the need of the actual labour market.
  • 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 ATHENS TECH College and CITY College, the University of YORK Europe Campus 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

CURRICULUM
Full - Time Mode

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.

Dissertation

Part - Time Mode

Year 1

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.

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.

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.

Year 2

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.

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.

Summer of Year 2

Dissertation

MSc in Software Development

INFORMATION + PREREQUISITES
STARTING DATES

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

DURATION

1 Year (Full Time )

2 Years (Part Time)

LANGUAGE OF INSTRUCTION

English

SCHEDULE

Full Time : Four weekday evenings per week

Part Time : Two weekday evenings per week

PREREQUISITES FOR ENROLLING

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:

      • International English Language Testing System (IELTS Academic) with overall score 6.5 or above, with at least 5.5 in each component, or
      • Pearson – PTE Academic with overall score 61 or above, with no less than 51 in each component.
      • Cambridge Certificate in Advanced English (CAE) with overall score of 176 or above, with no less than 162 in each component.
      • Cambridge Certificate of Proficiency in English (CPE) with an overall score of 176 or above, with no less than 162 in each component.
      • Test of English as a Foreign Language (TOEFL) internet-based test (iBT) and special home edition, with overall score 87 or above, with a minimum of 17 in Listening, 18 in Reading, 20 in Speaking and 17 in Writing, or
      •  Michigan State University – Certificate of English Language Proficiency (MSU – CELP): CEFR C2
      • GCSE English Language with minimum Grade C / Grade 4.
      • iGCSE English Language with minimum Grade C.
      • Trinity ISE Level 3 with Pass in all components.
      • Duolingo with overall score 110, minimum 90 in all other components.
      • Examination for the Certificate of Proficiency in English (ECPE), or
      • Michigan English Test (MET) with overall score 230 and above, with a minimum of 53 in each component.

 

The certification has to have been issued within the last three years.

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.

If a candidate does not fulfill the English Language requirement and achieves a mark higher than 6.5 in the ATH/TECH placement test, they will be allowed to proceed with their enrollment on the condition that the required certificate will be submitted by the end of the first semester (full-time attendance) or by the end of the first year of studies (part-time attendance).

DOCUMENTATION

In the Rules & Regulations section, you may find all the files, applications and entry requirements needed.

MSc in Software Development

FORM OF INTEREST

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