MSc in Applied Software Development Course Overview
The MSc in Applied Software Development seeks to develop participants’ knowledge, skills and competence in the area of software development. The programme is a specialist, postgraduate computing degree designed to produce graduates with the attributes required of software developers today and the ability to continue to develop knowledge, skill and competence to remain competitive and employable in an ever-advancing sector. The programme consists of 60 credits of taught module work and 30 credits of an applied development project.
LinkedIn (2018) revealed a list of skills, both technical and application specific, that are currently in-demand for the Irish software sector. This programme satisfies the majority of the stated in-demand skills and application knowledge, such as JQuery, Eclipse, Web and Application Services, Data Warehousing and Python programming. This range of applications and skills are integrated throughout the programme to enable learners to achieve their goals within the confines of current technology while engaging in, and, exploring emerging technologies. The LinkedIn report also pointed to 12,000 vacancies across the Irish technology industry, and specialist skills are highly sought after, with the rise in remuneration across the software sector reflecting the current demand for professionals with these skill sets.
This MSc in Applied Software Development utilises a carefully designed programme schedule with modules focused on advanced software development topics: Algorithms & Mathematical Methods, Information Retrieval and Data Mining, Research Methods & Professionalism, Software Design Methodologies, Cloud Services & Integration, Enterprise Software Development , Programming Paradigms, Systems Security and the Applied Software Development Project. The design and development of these modules were informed by in-depth industry consultation. To achieve an MSc award, the programme continues with a 30 ECTS supervised applied software development group project allowing students to apply their knowledge from the 60 ECTS taught modules elements to a specialised applied software development problem. The problem to be researched will be an industry-initiated real world problem and used as the context for planning, designing, building and testing potential software solutions. This module incorporates learning from all modules in the taught components and aims to ready learners for industry and/or academic software development work.
Building on the learner’s previous qualifications and experience, the achievement of the programme learning outcomes, transferrable skills and the graduates’ previously acquired knowledge, abilities and attributes, the MSc in Applied Software Development aims to:
- Provide learners with an intellectually challenging, advanced and rigorous education in Applied Software Development;
- Develop the learner’s intellectual ability to analyse user and design requirements, problems, issues and stakeholder needs;
- Encourage learners to utilise innovation and change as mechanisms to achieve Applied Software Development solutions to a range of challenging real-world problems;
- Imbue learners with a holistic view of the synergistic alliances and collaborations inherent in the delivery of this programme in Applied Software Development work together and complement one another;
- Facilitate learners in attaining the professional, social and communicative skills necessary for a graduate of what is a multifaceted discipline;
- Foster a culture that places emphasis on learners becoming self-confident, self-reliant and self-sufficient;
- Foster an ethos of commitment to a Continual Professional Development mindset, through reflection on learning, identifying skill gaps, and preparing for career advancement in a continually changing and developing sector;
- Enable learners who successfully complete the programme to a level of preparation from which they may confidently undertake a level 10 programme in Computing or a related discipline.
Full time learners can complete the programme over 1 calendar year, comprising 3 semesters (September intake), and 1.3 calendar years, comprising 3 semesters (February intake). Part time learners complete the programme over 2 calendar years, comprising 5 semesters (September intake) or 2.3 calendar years, comprising 5 semesters (February intake). Full time learners are required to attend 18 hours per week. Part time learners attend 8 hours per week, spread over 2 evenings and some weekend attendance would be required for practical labs/workshops.
Algorithms & Mathematical Methods
This module will introduce topics and issues in relation to algorithms within an industrial and academic context. It will cover and foster an analytical frame of mind to design and or customise, evaluate, select and implement a solution focused algorithmic approach to problem solving, using the knowledge gained from the study of the mathematical models used in the construction and evaluation of given algorithmic focused problems. The module will introduce and apply probability theory in conjunction with standard algebraic considerations regarding data sorting and searching.
Information Retrieval and Data Mining
This module will introduce the core principles of information retrieval and utilisation. Students will compare and contrast the different techniques and processes involved in information gathering, focusing on the available tools for data mining. Students will develop the skills to use available technologies to process and clean this data for use within a data visualisation context which can be used to further enhance the results of data gathering within a business driven software solution.
Research Methods & Professionalism
This module will introduce topics and issues in professional and research practice in an industrial and academic context. It will cover typical research methods and techniques for writing and presenting a literature review and research proposal within a professional context appropriate to the student’s own career aspirations. In doing so, it will enhance the student’s analytical and communication skills which form a large part of the requirements for achieving a masters level qualification. In addition, core project management skills relating to software development projects will be covered, with consideration for modern team-based approaches used in development.
Software Design Methodologies
This module will introduce the core principles and methodologies of software development. Students will compare and contrast the different methodologies and processes involved in the Software Development Life Cycle. Students will develop the skills to use available technologies to design and or customise a software methodology for a business driven software solution.
Cloud Services & Integration
This module will identify the fundamentals behind cloud-based technologies currently available and the variations of cloud and hybrid cloud models. Students will learn about the issues involved in migrating an on-campus solution and developing a complete cloud based model with regard to platform selection, redundancy, reliability, API selection and integration to cater for dynamic scaling and allocation of cloud-based resources.
Enterprise Software Development
This module will introduce topics and issues in relation to Enterprise software development. Learners will be exposed to the inherent differences and considerations needed for enterprise development as opposed to standard software development. Topics such as the platforms, libraries and tools associated with building, integrating and deploying the functional requirements of an enterprise application, as well as elements from cloud computing, security and design methodologies.
The module introduces learners to the fundamental differences within the world of lower level design in relation to system requirements and future system expectations. The module explores the different pros and cons of the paradigm selected as well as the programming language used to implement the selected paradigm in terms of the scope and trade off of Object-Oriented, Imperative and Logical oriented languages. Dealing with Compilation verses Interpretation, single threaded verses multi-threaded and parallel programming.
The aim of this module is to provide comprehensive, up-to-date, global common body of knowledge that ensures learners have a deep knowledge and understanding of new threats, technologies, regulations, standards, and practices to protect businesses from cyber-attacks. It provides a detailed and an in-depth understanding of data privacy, threats and risks of security breaches, an awareness of computer security (cryptographic) techniques, and an ability to make appropriate decisions about securing data. It will also ensure students will have the skills to develop solutions that prevent these vulnerabilities from occurring or fix application security vulnerabilities.
Applied Software Development Project
A project requiring the development of software for a context or scenario is required, but other computing and academic related concepts are considered. Students are expected to draw on the overall curriculum content and critically evaluate a specific research problem then apply their findings in the form of a working artefact.
Learners on this postgraduate masters course will attend lectures, workshops, and practical lab sessions during the programme and a variety of different instruments and formats will be used including text books, code, statistical data, journal articles, case studies, problem sets, and web based content. These may feature as part of class-based activities or provided through Moodle. The programme and its curriculum are designed with the premise that teaching and learning is not restricted to teacher/student interaction solely during lectures. Learners will be required, and are expected, to undertake considerable additional learning outside of the classroom through independent or collaborative study activities.
Formative assessment will be utilised across the programme through a carefully designed teaching, learning and assessment strategy based on the integration of theoretical and applied knowledge as well as formative feedback. The programme utilises real-world-skills based assessments wherever possible and appropriate. Faculty will also use an Integrated Assessment (I.A.) approach where these opportunities arise in both the full and part-time running of the programme. The result of this approach is a reduction in learner workload in relation to the amount of assessments and the benefit of the experience of dealing with the integration of subfields of software development into a coherent whole. This also reflects the industry environment where nothing is developed in isolation.
Graduates of this programme should be able to secure professional roles at intermediate and advanced positions in computing and software development related industries, and progress to leadership or research roles using skills related to those learned in the programme curriculum.
As this programme provides a specialised course of learning in applied software development, graduates should be able to secure employment in a range of mid to advanced-level positions such as, but not limited to: software consultant, mid-level IT project manager, software developer/architect/engineer, cloud developer/architect, software maintenance engineer, cloud migration engineer, as well as software testing, security and quality assurance roles. Industry consultation on this programme centred on the importance of developing problem-solving and critical thinking skills within the learner, and a willingness to engage in self-directed learning. The consultation process also highlighted the importance of developing soft skills as these skills can be treated secondary to technical skills, but are of significant importance when working in multicultural and diverse teams.
This programme aims to produce graduates who are technically skilled, problem solvers, professional, good communicators and effective team players as well as leaders. The graduate will also be well-placed to pursue further academic or professional study.
This programme is intended for graduates of level 8 NFQ Honours Degree or Higher Diploma awards in ICT/Computing (or equivalent), aspiring to progress their academic experience to postgraduate level, specifically in the area of software development. Learners who present undergraduate degrees, along with relevant experience in the area of software development and/or professional certification, may also be considered (RPEL route).
Learners submitting a direct entry application to the proposed programme should provide supporting documentation for application consideration, in line with any one of the below Access arrangements or minimum entry requirements:
a) An Honours Degree or Higher Diploma in ICT/Computing at level 8 on the Irish National Framework of Qualifications
b) Submission of an application based on Recognition of Prior Learning / Recognition of Prior Experiential Learning, in line with the College policy.
In addition, applicants whose first language is not English, must present English Language proficiency level evidence. English language competency required for entry must be equal to or greater than B2+ in the CERFL. English language credentials endorsed by other systems (viz. IELTS, TOEFL, Cambridge etc) will be assessed to ensure they meet this minimum standard.
In either case, applicants may be required to attend an interview prior to admission to determine their suitability for the programme.
All QQI accredited programmes of education and training of 3 months or longer duration are covered by arrangements under section 65 (4) of the Qualifications and Quality Assurance (Education and Training) Act 2012 whereby, in the event of the provider ceasing to provide the programme for any reason, enrolled learners may transfer to a similar programme at another provider, or, in the event that this is not practicable, the fees most recently paid will be refunded.
How to apply
Submit an online application directly to CCT College Dublin along with supporting documentation as outlined in the entry requirements below and a member of the Admissions team will contact you to discuss eligibility.