Explore UCD

UCD Home >

Foundations of Computing

Foundations of Computing

Sub topics: 

  • Theory / Theoretical Computer Science
  • Philosophy of Computing
  • Computing Education
  • Psychology of Computing
  • Cognitive Science
  • Computer Ethics
  • Computer Architecture

As well as doing Computer Science, it is important to think about how we do it, how we teach it, and how we can do it better. Foundations of Computing are the research areas which address these fundamental questions. Although appearing to be very different areas, there are many interplays between them. They all address the principles that lie behind all areas of research science, how better systems can be designed that respond to users’ priorities. Theoretical Computer Science shares many themes with mathematics and concerns itself with underpinning computer processes and systems. As computers and systems get bigger and more complex, theoretical computer science explores how to improve the way computers work, often going back to reexamine the fundamentals of computing to see if they can be improved, altered or reinvented. Computer Architecture is concerned with making sure that systems - software or hardware - are designed to maximise certain desirable characteristics, such as efficiency or speed.

The Philosophy of Computing explores the possibilities of computer science and in some cases carries implications for the theory of mind. As we try to define artificial intelligence, for example, are we reaching a definition for human intelligence? Cognitive Science explores cognition both in humans and computers. It can draw parallels between computation and thought, in an effort to create devices and systems which are intelligent, but it also highlights the difference between computers and the human brain.  Psychology of Computing tries to understand how your user will interact with the technology in order to design for better usability. It is informed by cognitive science and psychology and works to make sure our computer systems are ‘intuitive’, or that our computer systems work in the way that is most suitable for our brains. Although this can sometimes mean that the system loses some efficiency, the user almost always gains efficiency and the overall effect is positive.

Computing Education looks at how we teach computer science at school and university level. It examines parallels with other subjects such as mathematics and languages, and proposes pedagogic strategies for teaching computer science to children and adults. Computer Ethics puts a framework on acceptable behaviours by computers and computer scientists. It formulates sets of rights, which users have and which other users should respect, such as privacy and the right to intellectual property. It also explores direct and indirect impacts on society from the expanding use of computers.

Associated Staff

(opens in a new window)Assoc Professor Eleni Mangina

(opens in a new window)Assoc Professor David Coyle

(opens in a new window)Assoc Professor Fred Cummins

(opens in a new window)Mr Damian Dalton

(opens in a new window)Dr Deepak Ajwani

(opens in a new window)Dr Seán Russell

(opens in a new window)Dr Catherine Mooney

(opens in a new window)Assoc Professor Chris Bleakley

(opens in a new window)Dr Vivek Nallur

(opens in a new window)Dr Anca Delia Jurcut

(opens in a new window)Dr Shen Wang

(opens in a new window)Professor Mark Keane

(opens in a new window)Assoc Professor Fintan Costello

(opens in a new window)Dr Brett Becker

(opens in a new window)Assoc Professor Tony Veale

UCD School of Computer Science

University College Dublin, Belfield, Dublin 4, Ireland, D04 V1W8.
T: +353 1 716 2483 | E: computerscience@ucd.ie | Location Map(opens in a new window)