Introduction to Computer Science

What is this Structured Elective about?
The goal of this Structured Elective is to give the students a solid foundation in computer programming as well as a more specialised knowledge of some branch of Computer Science, eg Web design, database management, computer networking or more advanced programming. It introduces students to concepts of computational thinking and other computational techniques.

Why should I take this Structured Elective?
There is a need for a greater level of digital literacy. This is becoming an important requirement in graduate-level jobs in many different fields and is also important for higher-level modules and postgraduate studies.

Students who take this Structured Elective will develop their computer programming skills and knowledge of one or more aspects of Computer Science. The learning outcomes of the Structured Elective are the following:

  • To understand basic programming constructs (eg variables, conditionals, loops, simple data structures) and more complex programming constructs (eg functions, methods);
  • To design algorithms to solve problems;
  • To successfully design, write and debug programs using programming constructs to implement algorithms;
  • To understand at least one further specialised topic of Computer Science: Web technologies, database management systems, computer networks or more advanced programming;
  • To apply the knowledge of these specialised topics to implement solutions to real-life problems.

How would this Structured Elective benefit me?
This Structured Elective would be of interest to students in all Programmes, and would particularly benefit those students whose studies involve the collection, processing and analysis of data.

How do I take the modules in this Structured Elective?

  • In order to earn this Structured Elective you must take the specified modules in or after 2021-2022.
  • To receive this Structured Elective you must take the required modules as Elective modules and not as Core or Option modules.
  • Since it is important that students have sufficient programming knowledge, they are required to take two introductory programming modules: COMP 10010 (or an equivalent module, COMP 10290) and COMP 10020. However, there are exceptions:
    • Students who have passed Computer Science in their Leaving Certificate Examination are not required to take COMP 10010 as they have already acquired the relevant knowledge of basic programming constructs and how to use them;
    • Students who have taken COMP 10010 (or COMP 10290) or COMP 10020 as a Core or Option module cannot take them for this Structured Elective, but still need to take other modules totaling 15 Credits;
    • The other modules (COMP 20030, COMP 20070, COMP 20230, COMP 20320) can be taken in any order, but only after the two introductory programming modules (or equivalent) have been completed.
COMP10010 Introduction to Programming I 5
COMP10290 Computation for Scientists 5
COMP10020 Introduction to Programming II 5
COMP20030 Web Design 5
COMP20070 Databases & Information Systems I 5
COMP20230 Data Structures & Algorithms 5
COMP20320 Computer Networking 5