BSc in Computer Science
Course Information
CAO Code: | DC121 |
Minimum Points: | 498 |
NFQ Level: | 8 |
Duration: | 4 Years |
Contact: | Programme Chair - graham.healy@dcu.ie |
Overview
Computing technology is all around us in our everyday lives, from the mobile phone that wakes us in the morning to the GPS system in the car or social media we post photos on. We use it for everything from booking concert tickets to securing a college place. As intelligent, innovative and forward-thinking people continue to develop technology, it can help us to solve all sorts of problems, for example in traffic circulation, climate modelling, the study of diseases, systems engineering, business modelling and ecology. As well as learning how computers work, you will get an understanding of the technology behind computer games, mobile phones, the internet and many other computing-based products.
If you are looking to start a career in computing and information technology, this course is perfect for you. It provides extensive training on software engineering coupled with hands-on practice which will equip you to create various types of software applications for multiple platforms and operating systems. Employers value such expertise making it highly advantageous in today's job market.
Course Structure
Year 1 focuses on gaining a strong understanding of computer programming and acquiring essential mathematical skills. In Years 2, 3 and 4, specialisms in software engineering will give you the skills to create software and to invent new ways of using it. Examples include web applications, computer games, mobile applications and the software that is contained in the devices we use every day (e.g. mobile phones, entertainment systems and cars). There is a strong emphasis on practical work and teamwork.
You will complete major projects in Years 3 and 4. These projects provide an opportunity for you to put into practice the software development techniques studied in class. An annual display of final-year students’ work, called the Final Year Project Expo, will allow you to showcase your talents to the industrial and business communities. It also allows potential employers to see the high standard and broad range of the development work you have carried out on the course. This display is very popular with industry and draws many prospective employers keen to recruit DCU graduates.
INTRA
In Year 3, you will have the opportunity to spend 6 months on paid work placement (INTRA). The INTRA programme integrates academic study with closely related jobs. It will give you an understanding of the professional and practical business world and will help you to stand out in the graduate employment market.
Core Modules
Computer Systems | Gain a basic knowledge of computers and their peripherals. You will develop this understanding by focusing on the architecture of a particular microprocessor. |
Web Design | This module will introduce students to the principles of good design practise for websites, taking into consideration accessibility for users who may have a disability. The student will be able to choose the most appropriate technologies to design and implement a website to produce standards-compliant sites which include interactive content. The student will also be able to design their sites taking various types of access-device (desktop and mobile) into account. |
Digital Innovation Management and Enterprise | The purpose of this module is to provide an introduction to digital innovation and enterprise. Students are expected to attend both seminars and group meetings throughout the semester and will apply knowledge gained to develop an online blog, group website and report. In this module students will develop knowledge and skills pertaining to project management. Students will engage with online learning and a group project. |
Computing Programming 1 | This module introduces students to basic computer programming. Students will learn the fundamentals of computer programming, and how to write, run and debug their own programs. Students will also learn the fundamentals of computational problem solving. This module involves lectures and a significant amount of supervised laboratory work. |
Computing Programming 2 | This module introduces the student to more advanced programming concepts including object-oriented programming through designing and employing classes; it enhances familiarity with built-in libraries and data structures; it equips students with techniques for designing and analyzing elementary algorithms. It further develops students’ programming and problem-solving abilities and fosters good programming practices. Students are expected to attend lectures, participate in tutorials, carry out practical exercises in a programming laboratory, and engage in extensive self-study and hands-on programming practice. |
Networks and Internet | This module aims to equip students with the basic knowledge of how local area networks and the Internet work and how they interact. Students will gain an appreciation of the interaction of the main protocols and the helper protocols that combine to provide a hierarchy of communications services. |
Introduction to Operating Systems | This modules aims to introduce students to Operating systems history and changing roles; Operating systems types and designs; Operating systems management and system administration |
Problem Solving, Creativity and Critical Thinking | The module aims to consolidate and develop the student's ability - both in a group and individually - to solve problems, to be creative and to think critically. Students taking this module will explore and tackle a wide variety of problems, which may have relevance to programming, mathematics or both, but will be set in non-programming contexts. Students will also learn to validate the arguments in their own writing and that of others. The module is aimed at students who are relatively new to third-level education in the expectation that they will be better prepared for the demands of independent thought expected at third-level. |
IT Mathematics 1 |
This course concentrates on developing the algebraic and logical skills of the student. The course develops skills in the techniques of logic, probability, differential and integral calculus. Enhancing the student's ability to solve mathematical problems occuring in IT lies at the heart of this module. Students will participate in the following learning activities: Lectures: Students will attend three one-hour lectures per week. These lectures are designed to introduce learners to the mathematical principles and problem solving techniques that underpin this module. Tutorials: Each student will attend one one-hour tutorial per week. Problem sheets based on lecture content are distributed to the students and they are strongly advised to attempt all tutorial questions in advance of the tutorial.Reading: Students are expected to fully utilise the textbooks recommended. |
IT Mathematics 2 | This course concentrates on developing the algebraic and logical skills of the student. The course develops skills in the techniques of logic, probability, differential and integral calculus. Enhancing the student's ability to solve mathematical problems occuring in IT lies at the heart of this module. |
Logic | Introduces students to basic logic as it related to programming and to introduce PROLOG. |
Systems Analysis | This module will introduce students to the research and practice requirements analysis using the standards and concepts of system and requirement engineering (RE). This will include the stages of gathering requirements by use cases and documenting it by creating a software requirements specification (SRS) document. In addition, this module will examine the role of RE in software and systems engineering, current techniques, notations, methods, processes and tools used in RE. |
Operating Systems | |
Probability and Statistics | This module aims to introduce the basic probability concepts and their applications to computer disciples; to provide an understanding of discrete and continuous distributions; to cover the essentials of the statistical computing system R ; to introduce the essentials of statistical analysis using R. |
Software Testing | This module will introduce students to the basic concepts and techniques of software testing. |
Computer Programming 3 | The module aims to give students an understanding of basic data structures and algorithms, most especially with respect to managing collections of data such as sets, sequences, and maps. Students will learn how to specify collections using abstract data types (ADTs), how to implement them using a variety of techniques such as linked lists and search trees, and how to package them using object-oriented programming methods. Students will learn a range of fundamental algorithms including searching and sorting, and how to assess their computational cost. Students will also develop practical skills in implementing and testing algorithms on computers. |
Computer Programming 4 | This module introduces students to a classic object-oriented programming language and provides an in-depth coverage of object-oriented programming concepts and design techniques. |
Introduction to DevOps | The modern software-development environment involves a variety of tools to support development, building, testing and deployment of software systems. This module introduces learners to those tools, and how they are used in combination in order to support the software-development process. |
Systems Programming |
This course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required. |
Full Stack Development | This module will provide students with a knowledge of full stack components and their interactions. Students will understand the development of CI pipelines for full stack development. |
Linear Algebra | This module will introduce students to the notions of vectors, matrices and linear maps in the context of Euclidean Space. The module aims to give students a working knowledge of the methods and applications of linear algebra. Applications will be chosen with their significance to the students disciplines in mind. Students will attend lectures on the course material and will work, independently, to solve problems on topics related to the course material. The students will have an opportunity to review their solutions, with guidance, at weekly tutorials. |
Year 3 | Year 4 |
|
|
Interviews with Current Students and Graduates
Careers and Further Options
Career Areas |
Career Prospects |
Computing and Electronic Companies Finance Companies Self Employment |
Software Engineers Programmers Systems Analysts Web Developers Cloud Computing Developers App Developers Technical Consultants Computer Studies Teachers (degree recognised by the Teaching Council) |
Master's Degrees
Graduates of this course can progress to our MSc in Computing and specialise in a number of areas: Artificial Intelligence, Blockchain and Distributed Ledger Technologies, Data Analytics, FinTech & Technology Innovation or Secure Software Engineering.