2023
2.2
1 year (Full Time)
N/A (Full Time)
The MSc in Software Development is designed in collaboration with industry to provide a year of intensive education in software development and is specifically designed for graduates of non-computing disciplines. It has an extremely high graduate employability rate and is the highest rated MSc computing course for student satisfaction in the UK.
COURSE CONTENT:
You will learn the foundations of computing and acquire industry relevant skills. These core skills include programming, databases, web development, software engineering and problem solving. You need no computing background at all to do this course, but on successful completion, you will be equipped with the technical, analytical and professional skills required to take on a range of roles in the computing industry.
The curriculum was designed and is continually reviewed in collaboration with significant industrial partners, who helped ensure the most relevant module content. This helps ensure that our graduates are highly trained and much sought after by employers.
WHO WILL BE TEACHING YOU:
Many of the course teaching team have worked in the computing industry and have particular research specialisms in developing novel and effective methods for teaching computing. Several of the team have been awarded student-nominated teaching awards for their work.
WHAT YOU'LL GET UP TO:
You’ll learn how to analyse problems and design robust and elegant software systems to solve the problems. This includes gaining skills in programming, web development, database design, software testing and software engineering.
You will also have the opportunity to learn how to work as part of a development team using modern development techniques and tools.
PLEASE NOTE:
Applications for this course received after 12th August 2023 may not be accepted. In addition, a deposit will be required to secure a place.
Software Development highlights
This course is also available for part-time study. Search our course listings for more information.
Industry Links
- Alongside the core course curriculum, students are also encouraged to take part in a series of Employment and Professional Skills Workshops, which run at regular intervals during the year. The workshops cover CV writing, Technical Interview Technique, Assessment Centres, etc. and later involve events to allow students to network with representatives from some of the largest employers in the Software Development sector in Belfast. Students get the opportunity to mix with a diverse industrial group, ranging from testers and developers up to senior managerial level staff. Students also have the opportunity to get involved in other industrially sponsored events such as hackathons etc.
Career Development
- The School has a team of staff specifically dedicated for the development of student employability skills alongside technical capabilities. They provide a range of services to help students gain employment during the course, eg one-on-one CV advice and mock job interviews etc.
World Class Facilities
- Most of the lectures and lab based activities are in our Computer Science Building opened in 2016 after a £14 million re-development. The four-storey, 3,000m2, state-of-the-art facility has large well-equipped computing labs and formal and informal student spaces which support a high level of group and project work.
Student Experience
- The course is the highest rated for overall student experience Computing Master course in the UK (2019). This includes excellence in student experiences in the quality of teaching and learning, student engagement, quality of assessment and feedback, organisation and management, learning resources and careers and employability.
- The course encourages a hands-on approached to learning, with an emphasis on learning by doing. We provide videos of lecture content and continually offer you with opportunities to gauge your progress in each module through self-assessments and practical activities and challenges.
The curriculum of the MSc Software Development was designed through collaboration with significant industrial partners who helped select the most relevant module content to prepare the students for a range of software development roles. This has helped ensure that the graduates are highly trained and much sought after by employers.
Aidan McGowan – Director of Post Graduate Courses (EEECS)
NEXT
Course content
Course Structure
-
Course Structure | The programme has two key parts: 1. A set of taught modules which build from foundational to advanced topics of software engineering and programming 2. A substantial project based element or three Specialised Mini Project based modules The foundational modules are studied in the first semester and cover introductory programming using the Java programming language alongside computing foundations, including software engineering, software testing and databases. The second semester concentrates coverage of more advanced algorithmic and object-oriented programming, together with Web programming (php and javascript) and Software Engineering (with a team based project). Each module generally involves 3-4 hours of lectures per week along with up to 2-3 hours per week for tutorials and lab practicals. Alongside these timetabled activities, students are expected to work on group and individual assignments and projects Project: You can choose either a single three-month long individual self-directed project or you can take 3 x smaller Mini Projects. The Mini Projects give you a chance to study some state-of-the-art specialisms in computing such as: User Experience Design, Secure Softwarized Networks, Data Analysis & Visualisation, Cloud Computing and Machine Learning |
---|---|
Modules | Programming Databases Software Engineering Web Development Computing Fundamentals |
People teaching you
Software Development Course DirectorSchool of EEECS
Email: askeps@qub.ac.uk
Teaching Times
Teaching takes place in the morning and afternoon (3 days a week); there are between 15 and 18 hours of contact teaching hours per week. |
Career Prospects
Introduction
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. Given the diversity of careers, the variety of skills gained from a non-IT primary degree are strongly valued by IT employers and will help augment the employment opportunities of graduates from this programme.
WHERE COULD YOU BE IN 5 YEARS?
You could be working for the largest companies on the planet (IBM, Citi, Allstate, Liberty to name a few). You could be doing cutting edge computer science research in topics such as Cyber security or Video Analytics, or creating a software start-up or the next killer app.
http://www.qub.ac.uk/directorates/sgc/careers/
Learning and Teaching
Each module generally involves 3 hours of lectures per week along with up to 2/4 hours per week
for tutorials and computer lab practicals. Alongside these timetabled activities, students are
expected to:
• Work through blended-learning resources and activities on the Canvas Virtual Learning
environment which includes watching videos, reading online materials and taking online quizzes
and practical assignments
• Work on group and individual assignments and projects
Modern software development is typically carried out within a team environment and employers
are very keen for students to have gained significant experience working within teams. Therefore,
many of the project and assessment activities on the course have been designed to give students
exposure to the variety of team-based roles and responsibilities they will encounter in the software
industry.
-
-
Assessment
Each module has its own blend of assessments which cover the full range learning outcomes for the module. This can include:
Computer-based tests
Individual or group projects
Practical programming tests
Modules
The information below is intended as an example only, featuring module details for the current year of study (2022/23). Modules are reviewed on an annual basis and may be subject to future changes – revised details will be published through Programme Specifications ahead of each academic year.
- Year 1
Core Modules
Web Development (20 credits)Web Development
Overview
•The module will teach emerging, recent and relevant web technologies that are used to develop software solutions for web-based deployment. Considering the different browser platforms that are now available for modern web-enabled devices.
•Client-side web technologies will be covered, including HTML5, CSS, JavaScript, AJAX and XML standards.
•Data-driven or server side technologies will also be covered that are crucial for contemporary web development, including PHP with MySQL.
The module will require students to design, implement and test their own data driven web application. They will also be required to implement and deploy a SaaS system which can be employed by their web application.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 systemsCoursework
100%
Examination
0%
Practical
0%
Credits
20
Module Code
CSC7062
Teaching Period
Spring
Duration
12 weeks
Computing Foundations (20 credits)Computing Foundations
Overview
This module will introduce foundational elements of computing for students that are studying a one-year MSc conversion course in Software Development. It provides detailed introductions to areas in:
1. Data storage: bits and storage. Gates (AND , OR, XOR, NOT) Memory, mass storage, bit patterns and data, binary system, storing integers (Two’s Complement etc.)
2. Computer architecture – including processors.
3. Operating systems – general theory and command line exposure e.g. Linux.
4. Data structures and algorithms. Including Sorting and Searching, Big O.
5. Networking and internet protocols. Cyber security, SSL, encryption.
6. Introduction to Software development: lifecycles including Agile.
7. Introduction to Software Testing, fundamentals of software testing, test types, characteristics of good requirements, white box and black box testing techniques.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.) Data compression.
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.Coursework
100%
Examination
0%
Practical
0%
Credits
20
Module Code
CSC7064
Teaching Period
Autumn
Duration
12 weeks
Databases (20 credits)Databases
Overview
• Relational Databases: relational models, intermediate and advanced SQL, formal relational query languages.
• Database Design and Modelling: database design processes, entity-relationship modelling, database design using E-R model, normalization theory, dependency theory.
• Data Management: database administration, database security and performance, data backup and recovery.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 relational database;
• Compose and execute complex data lookup queries (through SQL) to retrieve conditional data;
• Demonstrate an understanding of a range techniques including SQL functions and MySQL transactions.
•Demonstrate an understanding of a range of data management topics, including data security and encryption.Coursework
100%
Examination
0%
Practical
0%
Credits
20
Module Code
CSC7052
Teaching Period
Autumn
Duration
12 weeks
Programming (40 credits)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 PatternsLearning 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.Skills
This module provides an opportunity to exercise aspects of the following QCA Key Skills (at proficiency Level 4): Application of Number, ICT, Improving Own Learning and Performance, Problem Solving. During the module students will develop:
• Analytical and problem solving skills
• Design, implementation, testing and debugging computer coded programs
• Critical and creative thinkingCoursework
100%
Examination
0%
Practical
0%
Credits
40
Module Code
CSC7061
Teaching Period
Full Year
Duration
24 weeks
Software Engineering (20 credits)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 deliveryLearning 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.Coursework
100%
Examination
0%
Practical
0%
Credits
20
Module Code
CSC7053
Teaching Period
Spring
Duration
12 weeks
Optional Modules
User Experience Design (0 credits)User Experience Design
Overview
• Ergonomics: ergonomics; accessibility; minimising mistakes; analysis and testing; case studies. Human Factors: human senses; human movement and speech; human memory; human intellect
• Prototyping: types of prototyping; low fidelity prototyping; exercise; high fidelity prototyping.
• Design Principles: universal design; principles and guidelines; interaction styles; patterns.
• User Interfaces: design implementations of human cognition; layout; navigation; text.
• Usability Metrics: usability; assessment; qualitative assessment; quantitative assessment.
• Usability Heuristics: heuristic evaluation, usability heuristics; specialised heuristics.Learning Outcomes
On completion of this module, the successful student will have achieved the following learning outcomes, commensurate with module classification:
• Demonstrate understanding of the role of human factors, effective design, prototyping and usability evaluation in the development of software and hardware products.
• Develop appropriate user interfaces for specific applications and specific users using low and high fidelity prototyping.
• Assess the usability of an application with respect to different user populations.Skills
Communication, Improving Own Learning and Performance, Problem Solving
Coursework
100%
Examination
0%
Practical
0%
Credits
0
Module Code
CSC7075
Teaching Period
Summer
Duration
12 weeks
Data Analysis and Visualisation (0 credits)Data Analysis and Visualisation
Overview
• How Data Analytics is used in industry and research
• Obtaining data
• Cleaning and converting data into a form to make it suitable for analysis and visualisation
• Use of existing tools to visualise data
• Use of existing tools to identify statistical patterns
• Formulating and testing theories about data
• Communicating data analytic discoveries effectivelyLearning Outcomes
Upon completion of this module, the students should be able to demonstrate:
• Explain how data analytics is used in industry and research.
• Demonstrate the ability to obtain, process and clean data for analysis.
• Use existing tools to visualise and analyse data.
• Formulate and test theories about data.
• Communicate discoveries effectively.Skills
• Creativity in obtaining useful data.
• Ability to use techniques to clean and process data.
• Ability to use existing tools for analysis and visualisation of data.
• Creativity and reasoning skills required to formulate theories about data and to evaluate those theories using statistical analysis of the data.
• Communicating theories about data in a clear way.
• Demonstrating patterns in data in a convincing way.Coursework
100%
Examination
0%
Practical
0%
Credits
0
Module Code
CSC7072
Teaching Period
Summer
Duration
12 weeks
Cloud Computing (0 credits)Cloud Computing
Overview
Cloud Computing Fundamentals
• Key concepts & principles
• Data management
• Scalable computing
• Performance management
• Security
Introduction to Software Development and Deployment for Cloud Computing
• Virtualisation and Container technology
• Software development guidelines for cloud deployment
• Principles of stateless programming
• Devops technologies
• Cloud hosting platformsLearning Outcomes
A successful student will be able to:
• Explain the core concepts of cloud computing including data
management, performance management, security, and infrastructure
planning, scalable computing and devops tools
• Explain the techniques and technologies associated with virtualisation
• Explain the principles of container technology including container orchestration
• Apply basic principles for the development of cloud-deployable software
• Demonstrate the basic principles of serverless programming
• Demonstrate knowledge and understanding and the application of
common widely used cloud hosting platforms and management tools
• Use existing tools to develop and deploy a software application on a
cloud hosting platformSkills
• Good cloud computing practice in the specification, design,
implementation, evaluation and maintenance of software solutions.
• Creativity and problem solving in designing cloud computing services.
• Ability to use existing development and management tools effectively for
development and testing of cloud computing applications.
• Articulate and effectively communicate the design and technological
rationale for a given cloud computing component or design through
appropriate technical reports and presentations.Coursework
100%
Examination
0%
Practical
0%
Credits
0
Module Code
CSC7071
Teaching Period
Summer
Duration
12 weeks
Individual Software Development Project (60 credits)Individual Software Development Project
Overview
A project requiring the construction of a software system (specification, user interface design, system design, realization of system design and associated testing)
Learning Outcomes
On completion of this module, the successful student will have achieved the following learning outcomes, commensurate with module classification:
• Demonstrate the ability to understand a problem which could be addressed by the creation of a software system and communicate this understanding as part of a
project dissertation.
• Design and develop a software system and communicate its structure in the project dissertation in such a way that other developers can build upon it.
• Test the developed system to determine whether the functionality works reliably and document this testing in the project dissertation.
• Evaluate to what extent the system helps address the problem that the system is designed to improve. Reflect on the methodology of the project and suggest improvements. Include this evaluation and reflection in the project dissertation.Coursework
100%
Examination
0%
Practical
0%
Credits
60
Module Code
CSC7058
Teaching Period
Full Year
Duration
24 weeks
Individual Software Development Project (60 credits)Individual Software Development Project
Overview
A project requiring the construction of a software system (specification, user interface design, system design, realization of system design and associated testing)
Learning Outcomes
On completion of this module, the successful student will have achieved the following learning outcomes, commensurate with module classification:
• Demonstrate the ability to understand a problem which could be addressed by the creation of a software system and communicate this understanding as part of a project dissertation.
• Design and develop a software system and communicate its structure in the project dissertation in such a way that other developers can build upon it.
• Test the developed system to determine whether the functionality works reliably and document this testing in the project dissertation.
• Evaluate to what extent the system helps address the problem that the system is designed to improve. Reflect on the methodology of the project and suggest improvements. Include this evaluation and reflection in the project dissertation.Coursework
100%
Examination
0%
Practical
0%
Credits
60
Module Code
CSC7057
Teaching Period
Summer
Duration
24 weeks
PREV
Course content
NEXT
Entry Requirements
Entrance requirements
Graduate
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 qualification requirements, all applicants will be required to pass an online aptitude test. If you are successful in the first stage of the application process, we will be in touch to organise this.
This is a very popular course and applicants are advised to apply as early as possible, since it may be necessary to implement an application cut-off date. In such circumstances, applications will be considered in date order, with priority given to those submitted earliest and prior to the cut-off date.
Applications may be considered from those who do not meet the above requirements but can provide evidence of recent relevant technical experience in industry, for example, in programming.
The University's Recognition of Prior Learning Policy provides guidance on the assessment of experiential learning (RPEL). Please visit http://go.qub.ac.uk/RPLpolicy for more information.
Applicants are advised to apply as early as possible and ideally no later than 11th August 2023 for courses which commence in late September. In the event that any programme receives a high number of applications, the University reserves the right to close the application portal. Notifications to this effect will appear on the Direct Application Portal against the programme application page.
Please note: A deposit will be required to secure a place on this course.
International Students
Our country/region pages include information on entry requirements, tuition fees, scholarships, student profiles, upcoming events and contacts for your country/region. Use the dropdown list below for specific information 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. *Taken within the last 2 years.
International students wishing to apply to Queen's University Belfast (and for whom English is not their first language), must be able to demonstrate their proficiency in English in order to benefit fully from their course of study or research. Non-EEA nationals must also satisfy UK Visas and Immigration (UKVI) immigration requirements for English language for visa purposes.
For more information on English Language requirements for EEA and non-EEA nationals see: www.qub.ac.uk/EnglishLanguageReqs.
If you need to improve your English language skills before you enter this degree programme, INTO Queen's University Belfast offers a range of English language courses. These intensive and flexible courses are designed to improve your English ability for admission to this degree.
- Academic English: an intensive English language and study skills course for successful university study at degree level
- Pre-sessional English: a short intensive academic English course for students starting a degree programme at Queen's University Belfast and who need to improve their English.
INTO - English Language Course(QSIS ELEMENT IS EMPTY)
PREV
Modules
NEXT
Fees and Funding
Career Prospects
Introduction
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. Given the diversity of careers, the variety of skills gained from a non-IT primary degree are strongly valued by IT employers and will help augment the employment opportunities of graduates from this programme.
WHERE COULD YOU BE IN 5 YEARS?
You could be working for the largest companies on the planet (IBM, Citi, Allstate, Liberty to name a few). You could be doing cutting edge computer science research in topics such as Cyber security or Video Analytics, or creating a software start-up or the next killer app.
http://www.qub.ac.uk/directorates/sgc/careers/
Additional Awards Gained(QSIS ELEMENT IS EMPTY)
Prizes and Awards(QSIS ELEMENT IS EMPTY)
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. For example, placements, voluntary work, clubs, societies, sports and lots more. So not only do you graduate with a degree recognised from a world leading university, you'll have practical national and international experience plus a wider exposure to life overall. We call this Graduate Plus/Future Ready Award. It's what makes studying at Queen's University Belfast special.
PREV
Entry requirements
NEXT
Fees and Funding
Tuition Fees
Northern Ireland (NI) 1 | £8,360 |
Republic of Ireland (ROI) 2 | £8,360 |
England, Scotland or Wales (GB) 1 | £8,360 |
EU Other 3 | £23,150 |
International | £23,150 |
Software Development: The tuition fees quoted are for 2023-24 and apply to completing the programme full-time in one year. The fee will be apportioned accordingly for studying part-time over a 3 year period based on the modules taken.
1 EU citizens in the EU Settlement Scheme, with settled status, will be charged the NI or GB tuition fee based on where they are ordinarily resident. Students who are ROI nationals resident in GB will be charged the GB fee.
2 EU students who are ROI nationals resident in ROI are eligible for NI tuition fees.
3 EU Other students (excludes Republic of Ireland nationals living in GB, NI or ROI) are charged tuition fees in line with international fees.
All tuition fees quoted are for the academic year 2023-24, and relate to a single year of study unless stated otherwise. Tuition fees will be subject to an annual inflationary increase, unless explicitly stated otherwise.
More information on postgraduate tuition fees.
Additional course costs
All Students
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.
Students can borrow books and access online learning resources from any Queen's library. If students wish to purchase recommended texts, rather than borrow them from the University Library, prices per text can range from £30 to £100. Students should also budget between £30 to £75 per year for photocopying, memory sticks and printing charges.
Students undertaking a period of work placement or study abroad, as either a compulsory or optional part of their programme, should be aware that they will have to fund additional travel and living costs.
If a programme includes a major project or dissertation, there may be costs associated with transport, accommodation and/or materials. The amount will depend on the project chosen. There may also be additional costs for printing and binding.
Students may wish to consider purchasing an electronic device; costs will vary depending on the specification of the model chosen.
There are also additional charges for graduation ceremonies, examination resits and library fines.
Software Development costs
There are no specific additional course costs associated with this programme.
How do I fund my study?
The Department for the Economy will provide a tuition fee loan of up to £6,500 per NI / EU student for postgraduate study. Tuition fee loan information.
A postgraduate loans system in the UK offers government-backed student loans of up to £11,836 for taught and research Masters courses in all subject areas. Criteria, eligibility, repayment and application information are available on the UK government website.
More information on funding options and financial assistance.
International Scholarships
Information on scholarships for international students, is available at www.qub.ac.uk/Study/international-students/international-scholarships/.
PREV
Entry requirements
NEXT
Apply
How to Apply
Apply using our online Postgraduate Applications Portal and follow the step-by-step instructions on how to apply.
When to Apply
The deadline for applications is normally 30th June 2021. In the event that any programme receives a high volume of applications, the university reserves the right to close the application portal earlier than 30th June deadline. Notifications to this effect will appear on the Direct Entry Portal (DAP) against the programme application page.
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.
Queen's University Belfast Terms and Conditions.
Download Postgraduate Prospectus
PREV
Fees and Funding