Diarmuid P. O'Donoghue, BSc, PGDHE, MSc, PhD,
Department of Computer Science,
National University of Ireland Maynooth - NUIM,
Office: Callan Building - Room 2.121 (1st Floor)
E-Mail: diarmuidz.zodonoghue @nuimz.pie
Phone: (+353) 1 708 3851
I am a member of the Cognitive Science Research Group research group focused on Naturally Inspired Computing. My specific areas of interest are 1) Analogical reasoning, computational modelling of Analogy, computational craetivity, conceptual blending, visuo-spatial analogies, geometric analogies. 2) Evolutionary Algorithms focusing on ancestral (non-Mendelian) techniques for optimisation and constraint handling. I am also interested in science, education and cognitive approaches to scientific creativity.
My research is focused on developing and applying cognitive models of analogical reasoning (AR), using them to solve complex problems in areas like; finding creative analogies, software retrieval and reuse, computational creativity, conceptual blending, land-cover maps and other areas. I am particularly interested in the role that AR plays in scientific discovery. See my analogy, and the like page or some other analogy reference pages.
Dr Inventor: Promoting Scientific Creativity by Utilising Web-based Research Objects (FP7-ICT-2013.8.1). This project is exploring analogical comparisons bewteen academic documents and related sources, to promote sicientific creativity in its users. The role of NUIM in this project is to take the "skeleton" structures representing research objects and to identifying analogical comparisons between them. Or rather, to identify those source skeletons that can form viable analogical comparisons with any presented problems and to assess the implications of that analogical comparison. I am Scientific Coordinator for this >2.6 Million EU project - see DrInventor.eu for details.
Aris: Analogical Reasoning for the reuse of Implementations and Specifications uses analogical comparisons between source code methods to support the generation of new and useful formal specifications. Aris supports the identifiecation of functionally similar source code, so for example a for loop might trigger the retrieval of other for loops, but might also retrieve while, do while and foreach loops. The heart of Aris works by idetnfiying analogical comparisons between Aris the code-graphs that represent the structure and contents of each method. These code-graphs are derived from the parse tree formed by that method. See the Aris project for more details, including the online demo of our system (using a smaller data set).
Current Funding Sources: FP7, Erasmus Mundus, IRCSET.
Research Group: I am a member of the Cognitive Science Research Group and an associate of the Principles of Programming Research Group.
PostDoctoral researchers: Dr. Donny Hurley, Dr. Yalimsew Abgaz.
Postgraduate students: Donagh Hatton (PhD), Siti Khadijah (PhD), Felicia Halim (MSc 2013-15), Fahrurrozi Rahman (MSc 2013-15), Mihai Pitu (MSc 2012-14), Daniela Grijincu (MSc 2012-14) - Felicia, Fahrurrozi, Mihai and Daniela are shared supervision with Dr Rosemary Monahan. Mihai and Daniela are curerntly based at the University of St Andrews, Scotland.
Undergraduate research students: Sian O'Briain, Amy Wall, Aisling Conway, Pierrick Lauffenburger.
Conferences International Conference on Computational Creativity 2014.
Background I am a lecturer in computer science and a member of: the Cognitive Science Research Group, ACM's SIGEVO, the Association for the Advancement of Artificial Intelligence (AAAI) and the Internet Society (ISOC). Here is some other personal stuff. I was a Learning Outcomes Fellow 2010-11.
Variable manipulation game for inflexible learners. This educational game teaches the fundamentals of variable manipulation. Order from Chaos is online or download the standalone version.
Undergraduate courses I currently teach (in bold) or have taught:
CS101- Introduction to Programming, CS130- Databases, CS142- Introduction to Computer Science, CS401- Machine Learning and Neural Networks, CS404- Artificial Intelligence and Natural Language Processing, CS431- Advanced Concepts: Computational Creativity, CS355- Artificial Intelligence, CS335 Software Engineering, Expert Systems, CS120 - End User computing, CS102 - Introduction to Computer Systems, Digital Logic Design (UCC).
MSc in Computer Science (Software Engineering) - M. Sc. (Software Engineering) courses I teach :
CS607 Requirements Engineering and Systems Design with UML.