• No results found

Year 4, Semester 2

Page | 77 Course Code:

F20PB

Course Title:

Project: Design & Implementation

Course Co-ordinator:

Peter King Pre-requisites:

Aims: Development of project design and implementation skills

Syllabus: ♦ Software and/or experimental design and its documentation

♦ Relevant commercial practice in applied design of software Learning Outcomes:

Subject Mastery

Understanding, Knowledge and Cognitive Skills; Scholarship, Enquiry and Research (Research-Informed Learning)

♦ Software design and implementation skills Learning Outcomes::

Personal Abilities:

Industrial, Commercial & Professional Practice; Autonomy, Accountability & Working with Others; Communication, Numeracy & ICT

♦ Time management

♦ Project Management Assessment

Methods:

Assessment:

Coursework (weighting – 100%) Synoptic with F20PA & F20PC

Re-assessment:

None

Course Code:

F20PC

Course Title:

Project: Testing & Presentation

Course Co-ordinator:

Peter King Pre-requisites:

Aims: Development of knowledge and skills for testing and evaluating a software project Syllabus: ♦ Testing of Software

♦ Evaluation of Software

♦ Report Writing Learning Outcomes:

Subject Mastery

Understanding, Knowledge and Cognitive Skills; Scholarship, Enquiry and Research (Research-Informed Learning)

♦ Testing and evaluation of software development projects

♦ Documenting Software projects Learning Outcomes::

Personal Abilities:

Industrial, Commercial & Professional Practice; Autonomy, Accountability & Working with Others; Communication, Numeracy & ICT

Awareness and experience of methods and tools for validation and verification in professional practice

Practical skills in testing and evaluation

Documentation skills Assessment

Methods:

Assessment:

Coursework (weighting – 100%) Synoptic with F20PA & F20PB

Re-assessment:

None

Page | 78

Judy Robertson, Oliver Lemon Pre-requisites: F28IN Interaction Design or equivalent

Aims: The course aims to give students the opportunity to develop:

♦ An extensive, detailed and critical knowledge of requirements gathering, design and evaluation techniques in interaction design.

♦ An awareness of current research and emerging issues in the field of interaction design.

A range of specialised skills, and research methods involved in working with users.

Syllabus: Current and emerging topics in Interaction Design including: user demographics, patterns in technology adoption, interaction design lifecycles, user interface design patterns, prototyping methods, a wide range of qualitative and quantitative data gathering and analysis techniques, accessibility, and a range of research case studies covering cutting edge issues in the field

Learning Outcomes:

Subject Mastery

Understanding, Knowledge and Subject-Specific Skills Students will develop skills in the following areas:

♦ Review, critically analyse, evaluate, and synthesise of previous research projects in the field of interaction design

♦ Identify and propose innovative solutions in response to analysis of users’

requirements.

♦ Make informed judgements about appropriate methodologies for developing and evaluating technologies suitable for user demographics and background experience.

Learning Outcomes::

Personal Abilities:

Cognitive skills, Core skills and Professional Awareness Students will develop skills in the following areas:

♦ Use discipline appropriate software for data analysis, prototyping and learning.

♦ Present, analyse and interpret numerical and graphical data gathered as part of evaluation studies.

♦ Communicate effectively to knowledgeable audiences by preparing formal and informal presentations and written reports.

♦ Exercise autonomy and initiative by planning and managing their own work;

develop strategies for independently solving problems and taking the initiative.

♦ Take responsibility for their own and other’s work by contributing effectively and conscientiously to the work of a group, actively maintaining good working relationships with group members, and leading the direction of the group where appropriate.

♦ Reflect on roles and responsibilities by critically reflecting on their own and others’ roles and responsibilities.

♦ Deal with complex professional and ethical issues including working with human subjects and wider issues relating to technology in society

Assessment Methods:

Assessment:

Exam: (weighting – 50%) Coursework: (weighting – 50%)

Re-assessment:

None

Page | 79 Course Code:

F21DP

Course Title:

Distributed & Parallel Technologies

Course Co-ordinator:

Hans Wolfgang Loidl & Bodo Scholz Pre-requisites: Academic knowledge of fundamentals of operating systems, computer networks and

software engineering equivalent to an ordinary degree in Computer Science, basic knowledge of programming in C.

Aims: ♦ To explore technologies and techniques underlying advanced software development for parallel and distributed systems.

♦ Review the principal abstractions, methods and techniques used in distributed and parallel programming.

♦ Develop an understanding of parallel programming on heterogeneous architectures including accelerators such as GPUs

♦ Enable students to appreciate critically a range of distributed and parallel computing technologies

Syllabus: Distributed Technologies: Distribution concepts; low-level, mid-level and high-level distributed technologies; emerging distribution and coordination technologies.

Parallel Technologies: Design of parallel systems, parallel performance analysis;

programming heterogeneous systems; practical imperative parallel programming;

practical declarative parallel programming Learning

Outcomes:

Personal Abilities

Understanding, Knowledge and Cognitive Skills; Scholarship, Enquiry and Research (Research-Informed Learning)

♦ Understanding of foundational concepts of distributed and parallel software

♦ Knowledge and application of contemporary techniques for constructing practical distributed and parallel systems using both declarative and imperative languages

♦ Parallel performance tuning using appropriate tools and methodologies

♦ Understand the role of control and data abstraction in software design and implementation

♦ Appreciation of relationship between imperative and declarative models of parallelism

Learning Outcomes:

Subject Mastery

Industrial, Commercial & Professional Practice; Autonomy, Accountability & Working with Others; Communication, Numeracy & ICT

♦ Critically analyse parallel and distributed problems.

♦ Generate, interpret and evaluate parallel performance graphs

♦ Develop original and creative parallel problem solutions

♦ Showing initiative, creativity and team working skills in shared distributed and parallel application development.

♦ Demonstrate critical reflection, e.g. understanding of applicability of, and limitations to, parallel and distributed systems

Assessment Methods:

Assessment:

Examination: (weighting – 70%) Coursework: (weighting – 30%)

Re-assessment:

Examination: (weighting – 100%)

Page | 80

Peter King, Sandy Louchart Pre-requisites: C++ programming skills

Aims: To develop programming skills and techniques specific to the area of 2D and 3D computer games

Syllabus: ♦ History and types of computer games

♦ Elements of game design

♦ Game-state, simulator, renderer, (hierarchical) controllers

♦ Tools and environments – e.g. Flash, games engines

♦ 2D games programming techniques

♦ Physically-based modelling, particle systems, flocking

♦ Use of physics engines

♦ Obstacle avoidance and path planning

♦ Group movement

♦ Learning and adaptation in games

♦ Action and behaviour selection

♦ Game theory and games

♦ Course summary and review Learning Outcomes:

Subject Mastery

Understanding, Knowledge and Subject-Specific Skills

♦ Critical understanding of game theory and computer games history, genres and impact

♦ Critical understanding of available tools and their application

♦ Detailed knowledge of algorithms for particle systems and flocking

♦ Detailed knowledge of algorithms for path planning and navigation

♦ Broad knowledge of physically-based modelling in games and selection of techniques

♦ Broad knowledge of AI techniques in games and selection of techniques

♦ Ability to understand, design and implement a small-scale game using 2D and 3D tools

♦ Practical skills in graphics and AI programming in the computer games context Learning Outcomes:

Personal Abilities

Cognitive skills, Core skills and Professional Awareness

♦ Ability to think and plan in three dimensions

♦ Technical report writing and organisation

♦ Team working skills

♦ Representation of, planning for, and solution of problems Assessment

Methods:

Assessment:

Exam: (weighting – 65%) Coursework: (weighting – 35%)

Re-assessment:

None

Page | 81

Pre-requisites: Either F28IT Internet & Communications and F27SB Software Development 2 or reasonable software development skills in Java and basic knowledge of data communications and the web.

Aims: ♦ To equip students with knowledge and understanding of the theories, principles and protocols underlying network applications on the Internet

♦ To enable students to appreciate critically the range of network application technologies and standards

♦ To give students significant development skills in a range of the principal network technologies, to grasp the main design and practical issues faced in their application, and confer the ability to select and apply relevant techniques for a given network application development problem.

♦ To have students creatively develop in teams a substantial network application involving web and application server technologies to an original design of their own.

Syllabus: Network application fundamentals, IPC via sockets, programming simple services, network information services. Network security issues, cryptography – symmetric and public key, certificates, digital signatures and SSL. Email protocols and formats - SMTP, POP, IMAP, RFC 2822, MIME. Nature of web – URIs and HTTP, web markup languages - (X)HTML, web design issues, CSS, XML, DOM. Client-side web programming - JavaScript, DHTML, AJAX, plugins, applets. Server side web programming – CGI, servlets, active web server pages – SSI, JSP, PHP. Web mediated database access – JDBC, PHP. Web security – HTTP authentication, HTTPS, cookies. Web services - SOAP and REST. Other styles of network applications – textual conferencing. Distributed service models - client server, P2P, publish & subscribe.

Learning Outcomes:

Subject Mastery

Understanding, Knowledge and Cognitive Skills; Scholarship, Enquiry and Research (Research-Informed Learning)

Extensive, detailed and critical knowledge and understanding of the theories, techniques and principles underlying the design of network applications and the range of their application

Theoretical and practical knowledge of the major network application types including email, web applications and services, IRC, streaming media

Critical awareness of protocols and standards underlying key network applications especially the web and of enabling technologies for network applications such as sockets, DNS, XML

Ability to design and develop useful network applications including WWW applications using apt technologies and languages: HTML, XML, JavaScript, Java applets, CGI, servlets, active web server pages, SOAP services etc. to professional standards

Learning Outcomes:

Personal Abilities

Industrial, Commercial & Professional Practice; Autonomy, Accountability & Working with Others; Communication, Numeracy & ICT

Skills in selecting, applying and evaluating apt technologies in a professional way given a problem requiring network interaction

Ability to build on initial skills and knowledge by independent research using online resources

♦ Showing initiative, creativity and team working skills in shared network application development

Assessment Methods:

Assessment:

Exam: (weighting – 70%) Coursework: (weighting – 30%)

Re-assessment:

None

Page | 82

Nick Taylor & Patricia Vargas

Pre-requisites: F29GR Computer Graphics or equivalent, F29AI Artificial Intelligence or equivalent Aims: ♦ To introduce students to concepts and techniques used in Robotics and applications

such as Automation.

♦ To understand the basic concepts used in swarm robotics, evolutionary and bio-inspired robotics and human-robot interaction.

♦ To gain exposure to the main issues involved in building intelligent robot controllers.

Syllabus: Industrial manipulators - Robot Control, Kinematics, Programming.

Automated Guided Vehicles - Maps, Path Planning, Navigation.

Automation - Organisation, Communication, Sensory devices.

Behaviour Based Robotics

Evolutionary and Bio-inspired Robotics Swarm Robotics

Human-Robot Interaction Learning Outcomes:

Subject Mastery

Understanding, Knowledge and Cognitive Skills; Scholarship, Enquiry and Research (Research-Informed Learning)

To appreciate the basic concepts of automation and intelligent robotics.

To develop detailed understanding of the geometries of industrial manipulators.

To develop detailed understanding of the architectures of autonomous guided vehicles (AGVs).

To develop detailed understanding of interfacing & control issues of industrial manipulators and AGVs.

To explore the applications and implications of industrial automation and human-robot interaction.

To develop detailed understanding of the architecture of behaviour-based robotics (BBR).

To develop detailed understanding of the interfacing and ethical issues of human-robot interaction.

Learning Outcomes::

Personal Abilities

Industrial, Commercial & Professional Practice; Autonomy, Accountability & Working with Others; Communication, Numeracy & ICT

To critically analyse various paradigms and architectures.

To appreciate the real-world constraints imposed on technical skills.

To offer professional and insights into the financial imperatives which apply to the introduction of new technology.

To offer ethical insights into the introduction of new robotics technology.

Assessment Methods:

Assessment:

Examination: (weighting – 60%) Coursework: (weighting – 40%)

Re-assessment:

Examination: (weighting – 100%)

Page | 83

Pre-requisites: Elementary C++ programming equivalent to F29GR Computer Graphics

Aims: ♦ To enable participants to understand the concepts and benefits of Virtual Environments (VEs) with respect to various applications.

♦ To equip participants with the skills to create a skeleton Virtual Environment using state-of-the-art VE software toolkits

Syllabus: ♦ Introduction: History of VEs

♦ What a VE is not.; concepts of immersion and presence, RT constraints

♦ Overview of current VE applications

♦ Basic Types and Components of VEs (graphics hardware, displays, interaction devices, software,)

♦ Modelling – low polygon, standards, mechanisms

♦ Construction of models

♦ Physically-based modelling

♦ Web-based 3D

♦ Agents and avatars

♦ Distributed VEs

♦ Construction of VEs and future of VEs

♦ Creation of small VE

♦ Course summary and review Learning Outcomes:

Subject Mastery

Understanding, Knowledge and Cognitive Skills; Scholarship, Enquiry and Research (Research-Informed Learning)

♦ Be able to critically evaluate the strengths and weaknesses of current VR technologies

♦ Detailed understanding of the main components of a virtual reality system and the importance and impact of real-time constraints

♦ Detailed understanding of modelling approaches and their uses

♦ Critical understanding of the state-of-the-art in VE application domains

♦ Ability to apply appropriate display and interaction capabilities to specific VR applications and justify choices made

♦ Able to apply basic VE construction skills to the creation of small-scale systems Learning Outcomes:

Personal Abilities

Industrial, Commercial & Professional Practice; Autonomy, Accountability & Working with Others; Communication, Numeracy & ICT

♦ Taking responsibility for own work, taking responsibility in the development of resources, critical reflection on development process and work undertaken by self.

♦ Effective communication in electronic and written report form.

♦ Showing initiative, creativity and team working skills in virtual environment development

Assessment Methods:

Assessment:

Exam: (weighting – 70%) Coursework: (individual project) (weighting – 30%)

Re-Assessment None

Page | 84

Software Engineering