Teaching & Learning Activities

Current Computing Science Courses

  • 2016-17 Interactive Systems (level 3): This course introduces key concepts in interactive system design, and information visualisation. The practical component requires students to design and implement a visualisation system based on existing data sources.
  • 2012-17 HCI: Design and Evaluation (MSc(CS), MSc(IT)): This course is a project course, with no traditional lectures and no examination. Students work in pairs on a project throughout the semester, and choose to either undertake a significant user centred design/evaluation project, or to conduct a significant HCI experiment or evaluation.

Student mobility and Internationalisation

  • As Exchange Student’s co-ordinator for the School of Computing Science, I have significantly updated and changed the approach to student mobility in the School, increasing the number of applicants for outgoing exchange from 1 in five years to 24 in three years.
  • I have negotiated a Computing Science Foundation Pathway with Glasgow International College. 15 GIC students entered level 2 as direct entry students in September 2016; a similar number are expected for 2017/8. I have guided the development of an appropriate curriculum for these students, am their advisor of studies, and helped the Effective Learning Advisor in setting up learning support workshops for these students.


I am Advisor of Studies for all Exchange (incoming and outgoing), International and GIC students in SoCS, providing specialised curriculum support to students with international needs though an efficient consultation process.

Curriculum Development

I am currently leading a review of teaching within the Human Computer Interaction section of the School of Computing Science. We have agreed an overall structure, and expect to replace current courses with new ones in September 2017.

I was Director of Postgraduate Taught Programmes from 2001-2008, extending the MSc provision from one conversion programme in Information Technology in 2001 to a suite of six PGT programmes in 2008, based on 'hub-and-spoke' curriculm design. Key to this curriculm development was arranging for effective and agreed sharing of resources between the PGT programmes and with undergraduate teaching provision, while maintaining a distinctive flavour to each MSc programme and ensuring conformance with level 11 of the Scottish Credit and Qualifications Framework.

Former Computing Science Courses

  • 2013/14 Software Project Management (MSc(CS), MSc(IT)): This course (jointly taught with Dr John Hamer) introduced software project management, and a variety of tools available to support effective management of software development projects. Its aims are to familiarize students with the inherent problems of managing software development projects and different aspects of software project management, and to cover the major technical components of software project management, including: cost estimation, risk analysis, project planning and monitoring, team organisation, quality management and software process improvement.
  • 2012-14 Professional Skills and Issues (Honours, MSc(CS), MSc(IT)): This year-long course served two aims: to introduce students to the ethical, social and legal issues relating to the use of computers in society, and to develop students' professional skills — in particular, transferrable skills such as constructing an argument, critiquing someone else's essay, and reseaching a relevent issue and presenting it in an appropriate manner.
  • 2010-12 Principles and Practise of Computing Science (level 1): This course was intended for students with a non-technical background who wish to study the key principles of computing science (rather than computer programming), and to develop skills in "computational thinking." Principles of computation underpin the design of all the technology we see around us - mobile phones, ATMs, washing machines etc. - and understanding and using computational skills helps us understand an increasingly complex world. The course could be taken by any student who does not intend to do Computing Science Honours.
  • 2010/11 Computing Science in the Curriculum(level 4): This course is a year-long elective course for Honours students. Students are allocated to a school, which they visit for half a day every week. There they take part in activities that help pupils learn about Computing Science, and are required to prepare and conduct their own workshop for teaching a fundamental computing concept. Enrollments in this class are limited, and only students who attend an interview in June may be accepted.
  • 2007-9 General Readings in Computing Science (MSc(CS), MSc(IT)):This year-long course covers papers of general interest which discussed with the class each week: the papers and assessment material are available on Moodle.
  • 2007-9 Human Computer Interaction (level 1, as part of CS1Q): This course covers the main aspects of HCI: users, interfaces and interaction, as well as the process of design and evaluation in an iterative process. Some special interest topics are also addressed (for example, CSCW and Information Visualisation).
  • 2005-7 Research Readings in Computing Science (MSci, MRes): This first-semester course covers 11 Computing Science research topics, one a week for 11 weeks. The sessions revolve around discussion of four seminal research papers in the topic and are led by topic specialists as well as by students.
  • 2005/6 Professional Software Development (MSc(IT), MSc(CS)): This module covers techniques required for building large software systems (including requirements, analysis, design, testing and evaluation), and the management of software projects.
  • 2005/6 Advanced Research Readings in Computing Science (MSci, MScRes): This second-semester course is run in small groups, each group covering one of the eleven topics introduced in RRCS, thus allowing students to concentrate on the topics that interest them. Like RRCS, the meetings revolve around the discussion of research papers, and are led by one or more lecturers from the relevant research group.
  • 2002-9 Information Management (level 2): This course covers techniques in managing and presenting information, in the context of the potential uses of an information system. The course demonstrates the ways of building information systems, from data repository design to presentation to users, and contrasts the content of the information being managed with the methods of managing it and the ways of presenting it to users.
  • 2002-5 User Centered Software Design (MScIT): This module presents key knowledge needed for the design, implementation and evaluation of effective user interfaces. The lecture material covers theoretical topics and principles of interative design, while the lab sessions are 'studio-based', with students actively engaged in their own design project.