Program Overview
Software Development (Part Time)
Overview
The MSc in Software Development is designed in collaboration with industry to provide an intensive education experience in software development and is specifically designed for graduates of non-computing disciplines. It has an extremely high graduate employability rate and is consistently one of the highest rated MSc computing courses for student satisfaction in the UK.
Course Structure
The programme has two key parts:
- A set of taught modules which build from foundational to advanced topics of software engineering and programming.
- A substantial individual project.
Modules
Year 1
- Computing Foundations (20 credits)
- Programming (40 credits)
Year 2
- Web Development (20 credits)
- Software Engineering (20 credits)
- Databases (20 credits)
Project Element
The MSc project will take place during the third year of study.
People teaching you
Mr Neil Anderson
Software Development Course Director
Teaching Times
Teaching takes place on two evenings per week with approximately 6 hours of timetabled activity each week.
Learning and Teaching
The course will be delivered in a distance based blended format. This involves students working through guided online course materials in their own time, with teaching contact on two evenings each week to participate in active learning sessions with their lecturers.
Assessment
Assessments associated with the course are outlined below:
- Individual and group-based projects
- Assignments
- Practical examinations
- Computer-based examinations
- The MSc project taken in the third year of study is assessed through a written dissertation alongside the presentation and demonstration of the created software artefact.
Entrance requirements
Normally a 2.2 Honours degree or above, or equivalent qualification acceptable to the University in any discipline excluding Computer Science or other similar Computing degree.
In addition to the above entry requirements, all applicants will be required to pass an online aptitude test.
International Students
Our country/region pages include information on entry requirements, tuition fees, scholarships, student profiles, upcoming events and contacts for your country/region.
English Language Requirements
Evidence of an IELTS* score of 6.0, with not less than 5.5 in any component, or an equivalent qualification acceptable to the University is required.
Tuition Fees
Northern Ireland (NI) | £8,800
---|---
Republic of Ireland (ROI) | £8,800
England, Scotland or Wales (GB) | £9,250
EU Other | £25,800
International | £25,800
Additional course costs
Depending on the programme of study, there may be extra costs which are not covered by tuition fees, which students will need to consider when planning their studies.
Career Prospects
Employment opportunities in software engineering are excellent, as evidenced through the consistent and continued growth of the software sector. A career within the profession is not only well remunerated but also rewarding, with software professionals able to select between a range of career progression paths.
Graduate Plus/Future Ready Award for extra-curricular skills
In addition to your degree programme, at Queen's you can have the opportunity to gain wider life, academic and employability skills.
How to Apply
Apply using our online Queen's Portal and follow the step-by-step instructions on how to apply.
Terms and Conditions
The terms and conditions that apply when you accept an offer of a place at the University on a taught programme of study.
Computing Foundations
Overview
This module will introduce foundational elements of computing for students that are studying for the MSc conversion course in Software Development.
Learning Outcomes
On completion of this module, the successful student will have achieved the following learning outcomes, commensurate with module classification. The student should be able to:
- Demonstrate knowledge, understanding and application of the principles of Data storage: – including Gates (AND, OR, XOR, NOT) Memory, mass storage, bit patterns and data, binary system, storing integers (Two’s Complement etc.)
- Demonstrate knowledge, understanding and application of the principles of key sorting and searching algorithms and Big O notation.
- Demonstrate knowledge, understanding of the principles of Computer architecture, Networking and internet protocols and current technology trends.
- Demonstrate knowledge, understanding and application of the basic principles of Operating systems and command line programming.
- Demonstrate knowledge, understanding and application of Software Engineering practices and Software Testing.
Programming
Overview
- Principles of programming – including variables, selection, iteration, strings and arrays and how these techniques are realised within the Java programming language.
- Principles of object-oriented design and development – objects, classes, methods, interfaces, abstraction, inheritance, encapsulation and polymorphism.
- Recursion, Threads, Advanced Exception handing, Events. Java Collection framework including - Lists, Sets, Queues, Maps, Sorting, Searching.
- Programming to an interface. Generics. SOLID principles, Common Design Patterns
Learning Outcomes
On completion of this module, the successful student will have achieved the following learning outcomes, commensurate with module classification. The student should be able to:
- Demonstrate knowledge, understanding and application of the basic principles of programming – including variables, documentation, selection, iteration, strings and arrays and how these techniques are realised within the Java programming language.
- Demonstrate knowledge, understanding and application of the principles of object-oriented design – objects, classes, methods, interfaces, abstraction, inheritance, encapsulation and polymorphism, SOLID principles.
- Demonstrate knowledge, understanding and application of some advanced principles of programming – including exception handling, threading, recursion, data collection, Generics, Lambda, design patterns and other industry relevant advanced topics and how these techniques are realised within the Java programming language.
Web Development
Overview
- The module will teach emerging, recent and relevant web technologies that are used to develop software solutions for web-based deployment.
- Client-side web technologies will be introduced and covered, including HTML5, CSS, and JavaScript.
- Server-side web technologies will also be introduced and covered that are crucial for contemporary web development, including server-side JavaScript, Node JS, web frameworks and REST APIs.
- The module will require students to design, implement and test their own data driven web application in response to a given specification.
Learning Outcomes
On completion of this module, the successful student will have achieved the following learning outcomes, commensurate with module classification. The student will be able to:
- Demonstrate knowledge and understanding of modern client-side technologies and their strengths and weaknesses;
- Demonstrate knowledge and understanding of web programming languages used in data-driven web based development
- Design and implement an effective, interactive and dynamic web based systems
Software Engineering
Overview
Core Software Engineering principles and practices including:
- Historical, legal & ethical context
- Requirements analysis and specification
- Use of UML for design/process documentation
- System Architectures
- Agile Development processes and practices
- Introduction to User Experience Design
- Devops and continuous delivery
Learning Outcomes
On completion of this module, the successful student will have achieved the following learning outcomes, commensurate with module classification. The student will be able to:
- Demonstrate knowledge and understanding of the technical, planning and documentation activities that may take place during a significant software development project from requirements analysis through to software delivery
- Analyse and specify client requirements
- Compose UML diagrams to describe a software design or process
- Apply the principles and practices of Agile Development
- Design and implement a large software system
- Demonstrate knowledge and understanding of the professional, wider business, legal and ethical responsibilities and frameworks that are relevant to Software Engineers and their organisations.
- Critically evaluate and balance quality indicators in the design and development of software solutions, components or projects, identifying and resolving deficiencies and understanding the importance of quality and fitness for purpose.
Databases
Overview
- Relational Databases: overview and characteristics of relational data storage models.
- Non-Relational Databases: overview and characteristics of NoSQL data storage models.
- Database Design and Modelling: database design and modelling processes, schema design, normalization theory, dependency theory.
- Data Management: database administration including security and performance.
Learning Outcomes
On completion of this module, the successful student will have achieved the following learning outcomes, commensurate with module classification. The student will be able to:
- Design, create and populate a sophisticated database.
- Compose and execute complex data lookup queries to retrieve conditional data.
- Demonstrate an understanding of a range techniques including functions and transactions.
- Demonstrate an understanding of a range of data management topics, including data security and encryption.
