Computer Science Programme
Year 5 (MCS)
Students select to take the integrated Master in Computer Science (MCS) programme during their Senior Sophister year (typically the deadline is early in October), and as part of this programme spend the second half of Year 4 on an Internship programme. Details of how to apply for this programme are on the Senior Sophister page.
All Year 5 students take a Research Methods module and undertake a significant dissertation project. They also select 5 options some of which are run in Michaelmas term and some in Hilary term:
Prospective students should read the brief descriptions of the courses below the tables which follow. Current students should follow the links (to the eLearning environment, "Blackboard", or to the module websites) or refer to my.tcd.ie for full details, including assessment criteria and learning outcomes.
|Michaelmas Term||Hilary Term|
|CS7064 Research Methods |
|CS7092 MCS Dissertation ( Description, Website)|
|Five options from the table below.|
The form for selecting options is available here.
|CS7003 Middleware for Distributed Systems (Description, Blackboard)|
|CS7004 Embedded Systems (Description, Blackboard)|
|CS7008 Vision Systems (Description, Blackboard)||Extra Info|
|CS7009 Networked Applications (Description, Website)|
|CS7012 Management of Networks and Distributed Systems (Description, Website)|
|CS7030 Numerical methods and Advanced Mathematical Modelling 1 (Description, Blackboard)|
|CS7031 Graphics and Console Hardware (Description, Website)|
|CS7032 Artificial Intelligence (Description, Website)|
|CS7033 Real-time Animation (Description, Blackboard)|
|CS7034 Augmented Reality (Description, Blackboard)|
|CS7046 Information and Knowledge Architecture (Description, Blackboard)|
|CS7048 Data Communictaions adn Wireless Networking (Description, Blackboard)|
|CS7052 Sustainable Computing (Description, Website)|
|CS7053 Security of Networks and Distributed Systems (Description, Website)|
|CS7055 Fuzzy Logic (Description, Blackboard)|
|CS7056 Autonomous Agents (Description, Blackboard)|
|CS7057 Real-time Physics(Description, Blackboard)|
|CS7058 Numerical Methods and Advanced Mathematical Modelling II (Description, Blackboard)|
|CS7069 Behavioural Finance (Description, Blackboard) |
Not running in academic year 2016-17
To develop an awareness of research methodologies in general and those applicable to Masters and PhD research in CS & Statistics in particular. To develop written and oral communication skills.
Students will select and carry out an in-depth research project which is expected to yield publishable results. Students must select the project, carry out required investigations and submit their dissertation within the academic year.
To expose students to the complexities involved in designing and building distributed applications and to develop students analytical skills. To gain in-depth understanding of the principle paradigms used in the area. To gain an appreciation of the open research issues in the area. The course covers the underlying theory of distributed computing. A significant feature of the course is the use of an interactive teaching style in which students are encouraged to discover the fundamental principles of distributed computing by considering challenge problems collectively or in small groups before being presented with the relevant course material.
The module will give students the opportunity to gain the knowledge and skills necessary to develop embedded systems. Students taking the module will study a real embedded hardware platform in depth (based on the widely used ARM7TDMI microcontroller) and will use this platform in conjunction with industry-standard software tools to develop embedded systems of varying complexity. Topics covered will be in the broad areas of computer architecture, systems software and I/O. Throughout the module, students will be given opportunities to consider issues of particular relevance in embedded systems design (e.g. development cost, power, performance and reliability).
(5 ECTS credits)
The aim of this module is to give students a firm understanding of the theory underlying the processing and interpretation of visual information and the ability to apply that understanding to ubiquitous computing and entertainment related problems. It provides them with an opportunity to apply their problem-solving skills to an area which, while it is firmly part of computer science/engineering, draws strongly from other disciplines (physics, optics, psychology). The course is based around problems so that the technology is always presented in context and during some tutorials students work in groups to design solutions to real world problems using the techniques that they have been taught. In addition, the course has a significant practical component so that students can appreciate how difficult it can be to apply the technology.
This module aims to provide an understanding of the world-wide web as an application platform that is becoming increasingly important economically and socially. It covers the fundamental content, social and meta]data structures that make up the web and how they can be represented, analysed and manipulated. It addresses the practical tools and techniques of web application programming, including client and server side programming languages, XML and semantic web information representation and analysis of application usage. It will encourage critical analysis of the impact of web applications on business and social concerns.
The aim of this module is to identify the issues and design approaches involved in managing networks & Services. To be capable of designing management solutions for various management application areas and organisations. Recognise and analyse the current management standards and technology trends in management of networks
and distributed systems.
CS7030/CS7058 Numerical Methods and Advanced Mathematical Modelling I/II(Module Description)(Module Description)(5 ECTS credits)
To enable students to become proficient learners and users of mathematics relevant to the synthesis and analysis of audio and video signals and the numerical methods required for system implementation. Through concentrating on a relatively small number of topics in reasonable depth, this module aims to develop in students sufficient mathematical competence and confidence so that further topics can be self-taught.
This module will give students a thorough overview of modern graphics hardware and multi-core systems. Each of the current generation of consoles will be analysed and compared in detail. The course will cover general purpose computer architecture e.g. memory hierarchies, SIMD & VLIW architectures, Vector units, multi-core, hyperthreading architectures and I/O busses. Students will become familiar with GPU pipeline architectures e.g. geometry, rasterisation, texture, fragment pixel and vertex shaders and newer Physics Processing Unit (PPU) and multi-GPU technology. Students will become familiar with the challenges of developing for these architectures through optimising compilers, compiler intrinsics and graphics card drivers.
This module will present students with the state of the art in representing autonomous agents, decision making and learning. The students will develop a thorough understanding of the development of computer controlled characters that are aware of their environment, can react to external stimuli, behave according to sets of rules defined by a game designer and learn by interacting with the environment. The core of the module is reinforcement learning, presented within the autonomous agents framework described above. Other advanced topics, such as natural language generation and supervised learning, will also be presented.
The aim of this course is to provide students with a deep understanding of the theory and techniques behind real time animation. We will explore computer animation and advanced issues such as behavioural animation and motion capture and also look at specific fundamental concepts such as interpolation.
The aim of this module is to provide students with a solid background in alternative3D compositing techniques using computer vision with applications in interactiveinterfaces—most notably augmented reality (AR) interfaces on mobile devices.
Students will develop a comprehensive knowledge of 3D vision and will develop skillsin the design and development of interactive augmented reality games. Specific topics addressed in this module include: 3D vision; approaches to AR; alternative interface paradigms; spatial AR; lighting and illumination issues in AR.
The course is designed to explore the management, delivery and inter-operability of information and information systems. The course is not a typical database or information management course, but rather encourages students to perceive the challenges, technologies and solutions, in handling distributed, multi modal, heterogeneous information and knowledge. The course focuses on WWW technologies (in particular semantic web technologies), to provide adaptive, agile handling of heterogeneous, ubiquitous information. The course includes such areas as integration of heterogeneous information repositories, schema (RDF) and semantic (e.g. ontology) representation and querying. The main themes of the course are:
• Managing, integrating and transforming disparate information from heterogeneous sources• Representing, Management, and Reasoning about semantics of information (and services).
Students will acquire and demonstrate competence and capability in the areas of: Teamwork Time management Research Methods Project Planning Literature Review Project Specification Project and Experiment Design Project Execution Project Outcomes Clear, concise, appropriate and articulate dissemination of project outputs in the form of an IEEE/ACM calibre paper Students will be assessed and graded on all these elements.
This course introduces the foundations of sustainability and gives an appreciation for how energy is currently used in ICT and the problems created by the continuous growth of the ICT industry. The course will then delve into some detail on where power is consumed in current networks and how new techniques and trends will affect this. It will examine initiatives that have been taken to date, the impact that they have had and the prospects for future initiatives that will shape the industry.
The objectives of this module are: to gain a realistic understanding of risk, as it applies in distributed systems; to understand the main tools available to control risk from and how to use those whether as a designer, operator, user or security analyst; and to enable the student to form opinions about issues such as full disclosure, some aspects of IPR (e.g. parts of DRM).
This module deals with programming for GPU pipeline architectures e.g. geometry, rasterisation, texturing, fragment / pixel and vertex shaders. Students will be introduced to shader systems and shader coding and will learn about modern game graphics engine architectures and developing real-time graphics applications, both for desktop PC and Xbox360. The module will explore advanced rendering concepts presented at leading international conferences such as SIGGRAPH and GDC.
This module gives students the theoretical and practical knowledge to build systems that can drive agent behaviour in games. The methods covered range from tried and tested techniques used in top-selling industry titles to cutting edge research. Topics include FSMs for Game AI, Navigation and Pathfinding, Performance and Complexity for Game AI, Movement, Sensing, as well as Drama Managers and Social-Based Opinion Systems. The lectures make generous use of well-known examples from industry to illustrate concepts and techniques, such as Crysis, Thief, Elder Scrolls, Fable, Half-Life, The Sims, Hitman, and others. Assessment is through coursework only: each student builds a small but fully functional Game AI engine that can drive agent behaviour in a simulation.
Description to be added.
This course will help you in understanding why stakeholders in a market sometimes over-react, tend to ignore factual information, and rely on rumours and on anecdotal evidence—the so-called irrational behaviour, or the rather exaggerated irrational exuberance. The stakeholders, it has to be said, have to take risky decisions and typically work with partial information. In many ways, behavioural finance studies the limits of mathematical and statistical description of economic and financial activities. The current literature on behavioural finance focuses on the limits of efficient market theory and on what motivates individuals to under- or over-react.