BSc in Computing Science
Course Overview
Prepare for your career in one of the fastest growing industries in the world
This exciting Level 7 Bachelors Degree teaches students about the latest technological developments in the IT industry and presents them with the opportunity to pursue a career in IT or progress onto a higher award in computing at Griffith College.
Why Study Computing Science at Griffith College?
Designed specifically with the needs of industry in mind, the BSc in Computing Science at Griffith College is a 3-year programme, which aims to equip students with a solid grounding in computer science. Delivered on a full-time basis as a graduate of this course, you will:
- Obtain highly sought after skills essential for a career in IT.
- Fantastic job prospects in a High Demand Industry.
- Obtain the necessary skills and academic requirements to further your studies with progression on to the BSc (Hons) in Computing Science at Griffith College.
Course Highlights
- Small class sizes
- Access to state of the art facilities
- A dedicated experienced lecturing Team
- Industry guest speakers
Intake Dates
- Cork - Full-Time - September 2024
- Dublin - Full-Time - September 2024
- Cork - Full-Time - February 2025
- Cork - Full-Time - February 2025
- Limerick - Full-Time - February 2025
- Cork - Full-Time - September 2025
- Dublin - Full-Time - September 2025
Are you applying through the CAO?
Check out our CAO HUB for everything you need to know about applying through the CAO!
Course Codes
- Dublin: GC435
Testimonials
Course Details
Stage One
The aim of the module is to teach the learner how to design high-quality computer programs in a systematic way. All the relevant concepts and techniques are explained and exemplified in the clearest, simplest language. The objectives are to facilitate the learner to understand the theory underlying programming as a concept and to enhance the logical step by step approach to problem-solving required. The basic concepts of command sequences, iteration and selection are introduced, and the constructs used in a modern programming language to implement these.
The main objective of this course is to introduce learners to the concepts, notations and operations of mathematics that provide a basis for working in the field of computing. The material covered extends the knowledge of learners who have completed courses in mathematics at secondary level.
This module introduces the learner to the fundamentals behind client-side web development, both for desktop and mobile. They are introduced to the core concepts behind how the web works (The Internet, HTTP, Markup Languages etc.) before exploring the various Standards of client-side web development (HTML, CSS, JavaScript). In addition to this, learners learn about web design principles and the importance of user research and planning.
Learners are given practical experience of developing web sites using these technologies, as well the processes behind researching and planning user-centred web applications.
Learners are helped to develop their knowledge and understanding of how computer hardware is constructed and how the hardware can be made to implement logic and arithmetic and to run programs. Since computing is showing itself to be both pervasive and fast evolving, the module emphasizes the key principles that continue to apply while allowing the scope of the learning to benefit from the broad base envisaged in the module.
Learners are expected therefore to apply the principles of computer hardware to both current and developing technologies. Further, they are helped to cultivate an understanding of how the insights and practice from computer hardware technology contribute to the current state of the art in the wider Computer Science landscape.
The objective of the module is to assist the learner in the transition to third level education by providing them with the necessary academic support and development skills. Learners are expected to develop adaptable competences that support them throughout their learning journey. This module equips learners to optimise their learning experience in College, and provides them with personal and professional lifelong skills and competences.
The world is constantly changing with new and emerging digital technologies bringing many challenges to the commercial world. This module aims to support learners as they develop a broadly based and intellectually challenging framework in the area of systems analysis and development. Learners gain an awareness of current technologies, literature, and research in the area. Learners are expected to apply the principles to both current and developing technologies. Learners achieve this through developing knowledge and skills in the area. Further, they cultivate an understanding of how the insights and practice contribute to the current state of the art in the wider Computer Science landscape.
This module focuses on the concepts involved in the design of an operating system; an understanding of its complexity and its many requirements. It introduces the learner to some fundamental algorithms used in operating systems. It introduces the concept of concurrency in an OS and explores the concept of multiprocessing and resource management strategies.
In the Software Development 1 module the learners complete a large piece of work, encompassing both independent learning and development. They get the opportunity to work on a large-scale project in a team dynamic. They are required to produce complete a software application, host said software on a code repository and to document the process.
They not only learn new technical skills such as code management but also learn how to develop a software product while working as part of a team. This module focusses on code management using version control systems such as Git and GitHub.
Teaching in this module is conducted mainly through between the team of learners and the lecturer. However, in the early stages of the process the Faculty organise a number of relevant seminars. Topics for these will outline the correct usage of code repositories such as GitLab and BitBucket, as well as industry expectations when working with code management software in a team of developers.
The skills that the learners develop in this module benefit them as they progress through their degree and into their professional life.
Stage Two
This module builds on the work completed in the first year Computer Programming module and extends the learners knowledge of programming by giving a comprehensive analysis of object-oriented programming. This paradigm leads to software architectures based on the objects every system or subsystem manipulates. In this view software systems are operational models of real or virtual world activities based around the objects that populate these worlds: people, cars, houses, stacks, sets, queues. As in all programming modules, a key objective is the acquisition, on behalf of the learner, of good software engineering skills and the application of these skills to the design and implementation of software components.
This module is a continuation module and introduces you to the fundamental concepts of object-oriented program design and how to use modelling for constructing complex software systems. As a result, learners develop skills such as communication literacy, critical thinking, analysis, reasoning, and interpretation, which are crucial for gaining employment and developing academic competence. A big emphasis is placed on using UML to module systems and produce designs.
The aim of this module is to teach the theoretical and practical underpinnings of modern database management systems by teaching the design and implementation of Relational Databases. Learners study techniques such as entity-relationship modelling and normalisation in order to more effectively design a database. Learners are also exposed to practical application of structured query language (SQL) in order to implement, populate, query, and manipulate a database design into a relational database management system (RDBMS).
The objectives of the module are to give learners the skills to model databases using E-R diagrams and ensure database designs do not have redundancy through the process of normalisation. Through the practical application of SQL, learners are able to create, update, retrieve, and delete data from databases that implement their database designs. We also enable learners to integrate their databases with other components (self-developed programs) as part of the software development process.
This module aims to support learners as they develop a broadly based, and intellectually challenging framework in the area of Probability & Statistics. Learners have an awareness of current statistical techniques, literature, and research in the area. Learners are expected to apply the principles of probability and statistics to solve problems and inform decision making. Learners achieve this through developing knowledge and understanding of probability and statistical principles, while applying these principles in typical real-world scenarios.
This module builds on the work completed in the Object-Oriented Programming module and will apply the methods learned there to the design of classes that implement data structures. As in all programming modules, a key objective is the acquisition, on behalf of the learner, of good software engineering skills and the application of these skills to the design and implementation of software components. At the heart of all software design is the implementation of appropriate data structures that provide efficient data models for the problem at hand. Learners develop an in-depth knowledge of the standard generic data structures: stacks, queues, sets, bags and maps; and also learn to implement these using both linear (linked lists, arrays) and non-linear (binary search trees, avl trees, B-trees) data structures. Learners will also study Graph Theory and the fundamental graph searching algorithms. Unit testing will be used throughout to build test models for classes developed to implement data structures.
The Software Development 2 module builds on the work completed in Software Development 1. In that module the focus was on source code management using version control systems. In this module the focus is again on developing a large piece of work, using the learning from Software Development 1, but with a focus on software testing and testing suites. They get the opportunity to work on a large-scale project in a team dynamic. They are required to complete requirements analysis, produce complete a software application, host said software on a code repository, implement a testing suite, and to document the process.
They not only learn new technical skills such as software testing and requirements analysis but also work as part of a team to develop a software product.
Teaching in this module is conducted mainly between the team of learners and the lecturer. However, in the early stages of the process the faculty organise a number of relevant seminars. Topics for these will outline how to perform requirement analysis for the project, and how to systematically test the project to assure it is performing to specification.
The skills that the learners develop in this module benefit them as they progress through their degree and into their professional life.
This module introduces the learner to the fundamentals behind server-side web development. They are introduced to the core concepts behind dynamic, database-driven web development, through server-side scripting and database integration and learn how to design and build web applications that deliver database information through server-side HTML pre-processing.
Learners are given practical experience of developing dynamic web sites using these technologies.
A key objective of this module is to give learners an in-depth understanding of those areas of discrete mathematics that are relevant to the study of computing. It builds on the work covered as part of the first year foundations module.
Award Stage
This module provides the learner with a detailed understanding and appreciation of communication networks layouts and a wide range of networking standards and protocols. The module concentrates on the physical layer, signalling and signal encoding schemes and the datalink layer. This module also covers higher level network protocols which enhance knowledge about communication in networks. It also provides a basic understanding of wireless networks.
The aims of this module are to empower the learner with the theory and practice of modern GUI development utilizing HCI principles.
The objectives of this module are:
- To familiarize the learner with human computer interaction principles.
- To give the learner a grounding in the creation of standard GUI components.
- To encourage the learner to discover appropriate combination of standard GUI controls to solve a problem.
- To support the learner in developing custom controls to tackle more challenging problems.
- To enable learners to create comprehensive GUI applications incorporating standard and custom controls to solve complex problems.
This module builds on the work completed in programming modules completed in stages 1 and 2 and will apply the methods learned there to the study of Concurrent Development. Concurrency complicates the field of programming because processes are non-deterministic and to write concurrent systems that are correct we must understand how to manage limited shared resources. Learners gain an understanding of the need for, and advantages of, concurrent and parallel systems; a mastery of a new programming paradigm that is different from that of the single threaded one; a description of how processes and threads are managed in multiprocessor, multi-core machines; an understanding and mastery of the many classical problems arising with concurrent and parallel tasks; an awareness of the need for such issues as fairness, process synchronisation, deadlock avoidance, etc; and an ability to write concurrent and parallel programs to solve real-world problems.
The main aim of the module is to introduce learners to the concepts, notations and operations of mathematics that provide the basis for the foundational knowledge required for working and developing competencies in various emerging fields. The material covered extends the knowledge of learners who have completed mathematical modules in stage 1 and stage 2. The module provides a conceptual understanding of optimisation problems and their real-world applications. First order and second orders methods to solve optimisation problems are covered in detail. Further, the module explores probabilistic techniques such as simulated annealing, and evolutionary algorithms to find solutions to optimisation problems. The learners will have hands-on experience of implementing solution methods and applying algorithms and techniques covered in this module. Finally, the challenge of dimensionality is discussed.
This module provides learners with the knowledge and skills needed to design and deploy web applications using a range of web application frameworks and content management systems. Learners study general concepts behind web application frameworks and CMSs, including how they work, design patterns, installation, and practical use. Learners get hands-on experience deploying single-page applications, server-side web applications, and content management systems.
The aim of the module is to teach the learner how to install, configure and maintain a Linux operating system. All the relevant concepts and techniques are explained and exemplified in the clearest, simplest language. The objectives are to facilitate the learner to achieve the CompTIA LX0-103 professional certification.
The aim of this module is to get the learners to complete a large piece of group work encompassing both research and development. They are required to produce a complete software application, e.g. in the area of an Internet of Things (IoT) application. They are also required to demonstrate and to document the process.
The objectives of this module are to have learners apply what they have learned on the programme and carry out a piece of development from scratch. They will need to propose a full project using the chosen technology/IoT and are expected to go through the phases of research, design, implementation, and analysis of the completed work. They are also expected to demonstrate their work to a group of demonstrators.
Course Contacts
Brendan Fogarty
- Limerick
Fergal Lane
- Cork
Timetables
Timetables will be made available closer to the course start date.
How to Apply
Entry Requirements
CAO application process - You will need 5 O6/H7 grades, to include a language (English, Irish or another language) and maths.
English Language
If English is not your native language, you must show that your English level is of a suitable standard. For further information please contact a member of the Admissions Team.
Griffith College is accepting the online Duolingo English Test (DET) as valid proof of English proficiency. For more information, please visit here.
How to Apply
Applicants under 23 years of age:
Applicants under 23 years of age on 1st of January must apply through the CAO system. Please consult the CAO website for information on important dates for applications.
CAO Codes
- Dublin - GC435
- Limerick - GC335
Applicants over 23 years of age (Mature students):
If you are 23 years of age on or before the 1st January of the year you want to enter, you may apply as a mature student. Mature students must apply to Griffith College directly online using the Apply Online facility on the website homepage. Mature applicants will be asked for a copy of their passport.
Fees
For purposes of fee calculation, residence is counted from time of application.
Please note that not all study modes may be offered at all times; for confirmation, refer to the Intake dates on the Overview tab.
Tuition Fees
Study Mode: Full-Time
Dublin
EUR 5,850.00
Cork
EUR 4,850.00
Limerick
EUR 4,750.00
Study Mode: Part-Time
Limerick
EUR 3,250.00
Study Mode: Full-Time
Please refer to the Irish/EU Living Abroad Fees.
Study Mode: Full-Time
Please refer to our Non-EU Tuition Fees section.
Non-EU students: a Student Services and Administration fee of EUR200 is payable each academic year in addition to the fees quoted below.
An Academic Administration Fee of EUR250.00 and a 2% Learner Protection Charge is applicable each academic year in addition to the fees quoted below. The fees below relate to Year 1 fees only.
Flexible payment options
Students wishing to pay their fees monthly may avail of our direct debit scheme. Please view our Fees information page for more information and assistance.
Sponsorship
Is your company paying for your course?
They will need to complete a Griffith College Sponsorship Form and send this to the Student Fees Office:
- Post: Student Fees, Griffith College Dublin, South Circular Road, Dublin 8
- Email: [email protected]
Cork
- Post: Student Fees, Griffith College, Wellington Road, Cork
- Email: [email protected]
2% Learner Protection Charge
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.
QQI Award Fee
Please note that a QQI Award Fee applies in the final year of all QQI courses. To find the relevant fee for your course level, please see the Fees page.
Progression
Academic Progression
Graduates of this course have the option to continue their studies at Griffith College. We offer a number of options including:
- BSc (Hons) in Computing Science
- MSc in Computing
- MSc in Cloud Computing
- MSc in Network and Information Security
- MSc in Applied Digital Media
Progressing onto a higher degree allows students the opportunity to study fields including development for mobile, big data analytics, graphics, the Internet of Things, robotics and artificial intelligence.
You can contact our admissions team to discuss what progression options are available to you.
Career Progression
Through the BSc in Computing Science, you will have gained valuable professional experience, specialising in a key emerging field and developed many technical skills. There is a wide range of career options for our graduates including:
- Assistant software project leaders
- Computer technology consultants
- MIS (Management Information Systems) personnel
- Software Engineers
- Systems Analysts
- Applications Programmers
- Computer Systems Analyst
- Business Intelligence Analyst
- Web Developer
- Computer Programmer