Software Development - Professional - Data Science
The intensive one-year Masters conversion course is aimed at highly motivated graduates with a good honours degree in any discipline other than computing. There is a strong demand in the local economy and beyond for graduates with software development skills. This course will give you the skills needed to apply best practice in software engineering across a variety of organisations. While the course has a particular focus on the employment needs of the local economy, the skills and abilities developed are easily transferred to a global stage.
You will cover topics including programming skills, data science foundations, professional software development, software architecture and design, database systems and data visualisation.
You will be well placed to find employment in private industry, public sector organisations and in research. You'll gain the necessary skills to work in roles such as software developers, software testers and/or academic or commercial researchers, as well as have the capacity to diversify into other roles such as independent consultancy.
For further course details please see "Course Web Page" below.
Subjects taught
Year one
Professional Software Development I
The module introduces software development concepts and practices in a scaffolding manner enabling students to progressively develop their knowledge. This will be reinforced by interwoven practical lab sessions which will focus on and enhance all the necessary practical skills: problem solving, software design, programming skills and software testing to the high level of competence required by industry. The module is also intended to equip students with the knowledge, skills and practices that enable them to function as autonomous, accountable IT professionals.
Software Architecture and Design
This module seeks to develop and extend the student's knowledge of, and practical skills in, software design and development. The students are introduced to implementing, testing and documenting software for real-world applications. They also have opportunities to experience effective project organisation skills.
Professional Software Development 2
This module uses interlinked lectures and lab sessions to deliver upon the detail of Java programming. The module explores object-oriented techniques and the Java constructs underpinning them to include: Inheritance - hierarchy of super and sub classes; Encapsulation, state and behaviour of objects; Abstraction - hiding implementation detail; Polymorphism - compile time and runtime methods. Arrays are introduced as an intermediate storage structure and files as a permanent storage mechanism incorporating Read/Write facilities with exception handling. The students will be provided with an opportunity to display strong personal management and team skills within this module.
Database Systems
This module recognises the need for flexible and efficient storage of information in computer applications. The underlying principles of database organisation are presented, and practical implementation in a modern DBMS environment provides a basis for the construction of larger-scale e-business solutions.
Project
The project allows the student to demonstrate their ability in undertaking an independent project, developing theoretical perspectives, addressing research questions and analysing and implementing real world solutions. The student will be expected to utilise appropriate methodologies and demonstrate the skills gained earlier in the course when implementing the project. This will typically involve a systems analysis of the needs for a realistic application or actual organisation and identification and application of tools/techniques required to deliver a well-formed solution. In summary the masters project represents a piece of work performed by the student under suitable staff supervision, which draws both from the practical and creative nature of a problem-solving project and the traditional, scholarly exposition of an area of study. The content of the work should have a degree of originality and contain a critical appraisal of the subject area.
Computer Hardware
This module is optional
This module introduces students to the basic hardware components from which a computer system is constructed and the organisation of these components. The architecture is discussed and key concepts considered in the context of the programmable machine. Students will also gain an understanding of how computers communicate in the context both of local and wide area networks.
Data Validation and Visualisation
This module is optional
High-quality data is the precondition for analysing and using big data and for guaranteeing the value of the data. This module, introduces the data quality challenges faced by big data. It will present tools and techniques employed to ensure data quality from data collection and computational procedures to facilitate automatic or semi-automatic identification and elimination of errors in large datasets. The module also introduces the topic of understanding and interpreting data through descriptive statistical methods. This will be achieved through a range of techniques such as Statistical metrics, Univariate analysis and Multivariate analysis. Students will develop the knowledge to assess the quality of the data and the skills necessary to perform appropriate data cleaning operations. In addition, students will have an understanding of processing data and interpreting and visualising results.
Data Science Foundations
This module is optional
The focus of this module is to present an understanding of key data science concepts, tools and programming techniques. Within the arena of data science, the theory behind the approaches of statistics, modelling and machine learning will be introduced emphasising their importance and application to data analysis. The notion of investigative and research skills will also be introduced through a number of problem-solving exercises. The material covered will be contextualised by providing examples of the latest research within the area. Students will also be introduced to programming with Python. They will learn the basics of syntax, and how to configure their development environment for the implementation and testing of algorithms related to data science.
Web Based Application Development
This module is optional
This module will expose students to the world of web based applications. It is concerned with the study and application of tools and techniques that enable the building and deployment of web-based application systems. The module first gives students an understanding of the role and function of the core technologies involved and then addresses the design practices, principles and patterns required for developing optimised web applications. Consequently, it provides students with a grounding in an important and still expanding application area that utilises the internet as the underlying communication platform.
Operating Systems
This module is optional
This module gives students a detailed introduction to the functions of modern operating systems. Particular emphasis is placed on the practical implementation of theoretical concepts and on the key area of Command-Line interaction, Shell Scripting, and an overview of system management. Students will have the opportunity to develop and consolidate their understanding of computer hardware as well as their software development skills, and will gain experience of using a modern Unix-like operating system.
Entry requirements
To apply to our postgraduate taught programmes, you must meet the University's General Entrance Requirements and any course-specific requirements.
These vary depending on the course and are detailed online.
1) A second class honours degree or better from a university of the United Kingdom or the Republic of Ireland, from the Council for National Academic Awards, the National Council for Educational Awards, the Higher Education and Training Awards Council, or from an institution of another country which has been recognised as being of an equivalent standard; or
2) an equivalent standard (normally 50%) in a Graduate Diploma, Graduate Certificate, Postgraduate Certificate or Postgraduate Diploma or an approved alternative qualification; and
3) the content of the qualification presented (as described in (i) may have a maximum of 50% computing content.
AND
You must satisfy the General Entrance Requirements for admission to a first degree course and hold a GCSE pass in English Language and Mathematics at grade C or above (or equivalent)
The Faculty of Computing, Engineering and the Built Environment does not accept students with Essential Skills in Application of Number as the only mathematics qualification. Please contact the Admissions Office directly if you have a query concerning this matter. Thank you.
T: +44 (0)28 7167 5678
E: admissionsmg@ulster.ac.uk
In exceptional circumstances, where an individual has substantial and significant experiential learning, a portfolio of written evidence demonstrating the meeting of graduate qualities (including subject-specific outcomes, as determined by the Course Committee) may be considered as an alternative entrance route. Evidence used to demonstrate graduate qualities may not be used for exemption against modules within the programme.
If English is not your first language this course requires a minimum English level of IELTS (academic) 6.0 with no band score less than 5.5, or equivalent.
Visit ulster.ac.uk/englishrequirements for more details.
This course is open to international (non-EU) students (full-time only).
For full entry requirements please see "Course Web Page" below.
Application dates
Your Application
Application is through the University's online application system (see "Application Weblink" below).
Post Course Info
Career options
There is a strong demand in the local Northern Ireland economy and beyond for graduates with software development skills. Coupled with the skills and knowledge of their primary degree, graduates from this course will be well placed to find employment in private industry, public sector organisations and in research. They will have the necessary skills to initially work in roles such as software developers, software testers and/or academic or commercial researchers but will also have the capacity to diversify into other roles such as independent consultants.