Module Code
CSC7064
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 2024 may not be accepted. In addition, a deposit will be required to secure a place.
This course is also available for part-time study. Search our course listings for more information.
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.
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.
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.
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.
NEXT
Course content
-
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
Programming
Databases
Software Engineering
Web Development
Computing Fundamentals
School of EEECS
Email: askeps@qub.ac.uk
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.
-
Each module has its own blend of assessments which cover the full range learning outcomes for the module. This can include:
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)
The information below is intended as an example only, featuring module details for the current year of study (2024/25). 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.
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.
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%
20
CSC7064
Autumn
12 weeks
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
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%
20
CSC7053
Spring
12 weeks
• 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.
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
Coursework
100%
Examination
0%
Practical
0%
20
CSC7062
Spring
12 weeks
- 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
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.
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 thinking
Coursework
100%
Examination
0%
Practical
0%
40
CSC7061
Full Year
24 weeks
• 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.
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%
20
CSC7052
Autumn
12 weeks
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 platforms
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 platform
• 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%
0
CSC7071
Summer
12 weeks
A project requiring the construction of a software system (specification, user interface design, system design, realization of system design and associated testing)
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%
60
CSC7057
Summer
24 weeks
• 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 effectively
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.
• 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%
0
CSC7072
Summer
12 weeks
• 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.
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.
Communication, Improving Own Learning and Performance, Problem Solving
Coursework
100%
Examination
0%
Practical
0%
0
CSC7075
Summer
12 weeks
PREV
Course content
NEXT
Entry 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 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 12th August 2024 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.
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.
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.
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/
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
Northern Ireland (NI) 1 | £8,800 |
Republic of Ireland (ROI) 2 | £8,800 |
England, Scotland or Wales (GB) 1 | £8,800 |
EU Other 3 | £25,800 |
International | £25,800 |
Software Development: The tuition fees quoted are for 2024-25 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.
1EU 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 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.
Terms and Conditions for Postgraduate applications:
1.1 Due to high demand, there is a deadline for applications.
1.2 You will be required to pay a deposit to secure your place on the course.
1.3 This condition of offer is in addition to any academic or English language requirements.
Read the full terms and conditions at the link below:
https://www.qub.ac.uk/Study/EPS/terms-and-conditions/
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.
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 (excluding Initial Teacher Education/PGCE, where undergraduate student finance is available). Criteria, eligibility, repayment and application information are available on the UK government website.
More information on funding options and financial assistance - please check this link regularly, even after you have submitted an application, as new scholarships may become available to you.
Information on scholarships for international students, is available at www.qub.ac.uk/Study/international-students/international-scholarships.
Apply using our online Queen's Portal and follow the step-by-step instructions on how to apply.
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.
PREV
Fees and Funding