CM30076: Project preparation |
Credits: 6 |
Level: Honours |
Semester: 1 |
Assessment: OT100 |
Requisites: |
After taking this unit you must take CM30082 |
(or equivalents authorized by the Director of Studies)
Aims: To enable the choice of projects and allocation of project supervisor(s). To facilitate the development of an agreed project proposal. To apply abilities in requirements capture and analysis. To apply skills in project planning and management. To develop skills in academic writing and critiquing technical proposals. Learning Objectives: 1.Understand the academic requirements of the project; 2.To be able to critique personal abilities and skills in scoping and planning a project; 3.To be able to gather requirements and translate these into objectives within a project plan constrained by available resources; 4.To be understand the requirements for academic writing, including referencing and the appropriate use of graphs, diagrams and tables; 5.To gain experience and demonstrate skills in scholarly research and its presentation through academic writing; 6.To demonstrate the ability to critically analyse previous work and identify appropriate techniques that will produce successful solutions. Skills: Project Planning (F, A), Project Management (F, A), Communication (T/F, A). Content: The requirements of a final year Computer Science project. Selecting a project and preparing your proposal. Proposal structure. Project bounding and planning using appropriate Project Management techniques. Effective and ineffective written communication. When to use graphs, diagrams and pictures. Citing and use of references. Styles of written English. The project dissertation. Conducting effective background research. |
CM30078: Networking |
Credits: 6 |
Level: Honours |
Semester: 2 |
Assessment: EX100 |
Requisites: |
Before taking this unit you must take CM10138 |
(or equivalent authorised by the Director of Studies)
Aims: To understand the Internet, and associated background and theory, to a level sufficient for a competent domain manager. Learning Objectives: Students should be able to: 1. Explain the acronyms and concepts of the Internet and how they relate; 2. State the steps required to connect a domain to the Internet and explain the issues involved to both technical and non-technical audiences; 3. Discuss the ethical issues involved with the internet, and have an "intelligent layman's" grasp of the legal issues and uncertainties. 4. Be aware of the fundamental security issues; 5. Be able to advise on the configuration issues surrounding a firewall. Skills: IT - Networking, Legal Awareness (T, A). Content: The ISO 7-layer model. The Internet: its history and evolution - predictions for the future. The TCP/IP stack: IP, ICMP, TCP, UDP, DNS, XDR, NFS and SMTP. Berkeley. Introduction to packet layout: source routing etc. Various link levels: SLIP, 802.5 and Ethernet, satellites, the "fat pipe", ATM. Performance issues: bandwidth, MSS and RTT; caching at various layers.Who 'owns' the Internet and who 'manages' it: RFCs, service providers, domain managers, IANA, UKERNA, MANs, commercial British activities. Routing protocols and default routers. HTML and electronic publishing.Legal and ethical issues: slander/libel, copyright, pornography, publishing versus carrying. Security and firewalls. |
CM30080: Computer vision |
Credits: 6 |
Level: Honours |
Semester: 2 |
Assessment: EX100 |
Requisites: |
Aims: To present a broad account
of computer vision, with the emphasis on the image processing required for
its low level stages. Learning Objectives: 1. To induce an appreciation of the processes involved in robotic vision and how this differs from human vision. Content: Image formation. Colour versus monochrome. Preprocessing of the image. Edge finding: elementary methods and their shortcomings; more sophisticated methods such as those of Marr-Hildreth, Canny, and Prager. Optical flow. Hough transform. Global and local region segmentation techniques: histogram techniques, region growing. Representation of the results of low level processing. Some image interpretation methods employing probability arguments and fuzzy logic. Practical problems based on an image processing package. |
CM30082: Double module project |
Credits: 12 |
Level: Honours |
Semester: 2 |
Assessment: OT100 |
Requisites: |
Before taking this unit you must take CM30076 |
Aims: To facilitate the development
of an individual Computer Science Project according to an agreed project
proposal. To develop skills in research and in the application of new and
previously acquired knowledge to the development of a computer science product.
Learning Objectives: 1. To apply background research to the development of a new product or the production of original research results; 2. To apply appropriate management techniques, using a pre-agreed project plan, and to adapt the plan in the face of resource constraints; 3. To be able to learn independently and transfer knowledge into unfamiliar situations in a spirit of critical enquiry; 4. To investigate, select and apply appropriate methods, tools and techniques for the development and delivery of a computer science product. 5. To be able to evaluate systems in terms of general and specific attributes; 6. To be able to critique personal performance and achievement within the project; 7. To demonstrate academic writing skills within the production of a project dissertation. Skills: Project Planning (F, A), Project Management (F, A), Communication (T/F, A). Content: The programme of study for each project will be that defined by the agreed project proposal, produced within CM30076. Individual project supervisors provide academic direction and appropriate tutorial support during the project. This will include direction to appropriate academic material and skills training that may be required by the student. |
CM30141: Advanced human computer interaction |
Credits: 6 |
Level: Honours |
Semester: 2 |
Assessment: CW25EX75 |
Requisites: |
Before taking this unit you must take CM10134 or take CM10140 |
Aims: To give students an advanced
level understanding of current research issues in human computer interaction.
To focus upon human computer interaction research methods, human computer
interaction theory, covering topics of user interface design, evaluation
and modelling. Application areas such as collaborative systems, virtual
environments and agent interaction are examples of current application topics.
Issues of human computer interaction in mobile and embedded contexts. Learning Objectives: 1. To obtain an in-depth understanding of human computer interaction theory and methods in state-of-the-art research. 2. To understand the interdisciplinary nature of human computer interaction and the relationship between theory and design practice. 3. To be able to contribute to both human computer interaction theory and human computer interaction practice. Skills: Problem solving (T/F, A), working with others (T/F, A). Content: Psychological theories of human behavior, contextual analysis, frameworks for human computer interaction, model based design. Modelling individual and collaborative tasks and group work. Human computer interaction and creativity. Evolutionary theories of design. The role of analysis, design and evaluation methods in human computer interaction. Advanced forms of interaction technologies. |
CM30142: Music & digital signal processing |
Credits: 6 |
Level: Honours |
Semester: 1 |
Assessment: EX100 |
Requisites: |
Aims: To introduce the basic ideas
of DSP programming and the ways in which musical signals can be treated
as data. Learning Objectives: 1. To be able to code simple digital filters, and construct simple oscillators; 2. To be able to control a frequency domain analysis and resynthesis; 3. To be able to use three synthesis methods. Content: Introduction: Musical signals: their nature, characterisation and representation. Pitch, amplitude and timbre. PCM representation: sampling and quantisation errors. MIDI representation and its limitations. Software Systems: Music5 family,: Csound. Additive Synthesis: Simple oscillators and their coding; wavetable synthesis. Helmholz theory and Fourier analysis. Subtractive Synthesis: Noise, and digital filters. Filter types, IIR and FIR. Issues in filter design. Psycho-acoustics: Basic ideas and Shepard tones as an example. Lossy compression. MPEG level 2 and MPEG-4. Time and frequency domains: Phase vocoding. FFT and IFFT; analysis and resynthesis. Pitch changing. Physical Models: The wave equation. Delay lines and wave guides. The plucked string. FM and non-linear synthesis: Analysis and coding of FM. Introduction to Granular Synthesis, formants and FOF. Pitch changing. Spacialisation: Stereo panning, reverberation, localisation and audio clues. Composition: Process based, algorithmic composition. Pitch and Tuning: ET and Just; introduction to Sethares theory of consonance. |
CM30171: Advanced compilers |
Credits: 6 |
Level: Honours |
Semester: 1 |
Assessment: EX75CW25 |
Requisites: |
Before taking this unit you must take CM20029 |
(or equivalent authorised by Director of Studies)
Aims: To acquire an appreciation of the suitability of different techniques for the analysis of and representations for programming languages, followed by the various means to interpret them. To demonstrate the impact that computer architecture is having on compiler design. To explore trends in hardware development, and examine techniques for efficient use of machine resources. Learning Objectives: 1.To be able to choose suitable techniques for lexing, parsing, type analysis, intermediate representation, transformation and interpretation given the properties of the language to be implemented. 2.To be able to describe the philosophy of RISC and CISC architectures. 3.Knowledge of at least one technique for register allocation, and one technique for instruction scheduling. 4.The ability to write a simple code generator. Skills: Problem solving (T/F, A). Content: Construction of lexical analysers, recursive descent parsing, construction of LR parser tables, type checking, polymorphic type synthesis, abstract interpretation, storage management, byte-code interpreters, code-threaded interpreters, partial evaluation, staging transformations.Description of several state-of-the-art chip designs. The implications for compilers of RISC architectures. Register allocation algorithms (colouring, DAGS, scheduling). Global data-flow analysis. Pipelines and instruction scheduling; delayed branches and loads. Multiple instruction issue. VLIW and the Bulldog compiler. Harvard architecture and Caches. Benchmarking. |
CM30174: E-commerce & agents |
Credits: 6 |
Level: Honours |
Semester: 1 |
Assessment: EX50CW50 |
Requisites: |
Before taking this unit you must take CM10134 and take CM10135 |
(or equivalent authorised by Director of Studies)
Aims: To introduce students to the principles of agents, agency, institutions and agent software development. Learning Objectives: 1.Students will know the factors that differentiate agents from other software systems and be able to classify agents according to their competencies. 2.Students will be able to describe and contrast different agent architectures, platforms and approaches to agent development. 3.Students will be able to develop simple agent-based software systems. Skills: Working with Others (F, A), Problem Solving (T/F, A). Content: Agent architectures, agent platforms (Jade, FIPA-OS, LEAP), standards (FIPA), communication and content languages (FIPA-ACL, KQML), agent-oriented software engineering, virtual enterprise formation, institutions and norms, auctions, B2C, B2B, case studies of practical applications. |
Postgraduate Units: |
CM50109: Formal methods & programming |
Credits: 12 |
Level: Masters |
Semester: 1 |
Assessment: CW100 |
Requisites: |
Aims & Learning Outcomes: Aims:
(a) to give a foundation in software design and development; (b)
to give a foundation in implementing software solutions, using a modular
programming language and an object-oriented programming language; (c) to
develop an appreciation of the use of formal methods in software development,
and to develop skills in simple specification and verification techniques.
Learning Outcomes: A student will be able to: * use design techniques such as modularisation and object-oriented design to develop software solutions to given problems; * design, implement, test and document simple programs using both a modular programming language and an object-oriented programming language; * use simple formal methods for specification and verification; * specify, implement and use standard data structures. Content: Building software: the software lifecycle; the need for formal methods; program structures; program development. Principles of software design - modularisation, encapsulation, data hiding, clientship and reuse. Abstraction-based design - finding appropriate data abstractions and procedural abstractions. Using formal specification. Standard data abstractions: stack, queues, lists. Software testing: stages of testing; designing test plans. Formal verification techniques. Extending software development principles to an object-oriented language. Introducing object-oriented techniques for window and mouse management, memory management, garbage collection, socket communication for Internet programming, multiprogramming via threads. Introduction to graphical user interfaces for Internet programming. |
CM50110: Human-computer interaction & virtual reality |
Credits: 6 |
Level: Masters |
Semester: 1 |
Assessment: EX75CW25 |
Requisites: |
Aims & Learning Outcomes:
Aims: To engender a sensitivity towards the need to take into account human cognitive and behavioural performance when designing interactive computer systems; to show why so-called user friendliness may be essential if computers are to be fully and reliably exploited. Introduction to virtual reality and how such technology is constructed; to enable the student to acquire a critical appreciation of the possible impact of virtual reality systems.
Learning Outcomes: A student will be able to: * understand the relevant human factors that can influence the deployment and utilisation of computer technology; * make critical evaluations of human-computer interface designs; * apply good practice to simple interactive computer design problem and know how to avoid some of the main pitfalls of bad design; * understand how virtual reality systems are constructed; * understand the current state and possible future directions of virtual reality. Content: Human-Computer Interaction: Human sensory systems and cognition; computer systems and input/output capabilities; differences between human and computer systems; problems of interfacing between human and computer systems; general ergonomics. Design principles for interactive computer systems: usability; aspects of the design process. Some current issues. Virtual Reality: Description of what virtual reality (also augmented reality) is. Motivations for the development of virtual reality. Principal components required in building virtual reality systems. Possible uses for virtual reality. |
CM50114: Multimedia |
Credits: 6 |
Level: Masters |
Semester: 2 |
Assessment: EX75CW25 |
Requisites: |
Aims & Learning Outcomes:
Aims: The course aims to make students aware of the underlying technology and the methods of creating and organising multimedia systems, with a particular emphasis on CD-ROM.
Learning Outcomes: A student will be able to; * discuss hypermedia as a background to multimedia; * understand a variety of CD-ROM formats, the encoding techniques needed for various source media and the consequences of each; * understand authoring tool concepts and the basic legal consequences of publishing; * understand what makes a well-organised multimedia presentation. Content: Hypertext and hypermedia: formats and mechanisms; static and dynamic media. CD-ROM technology: multimedia formats (including also audio CD and Photo CD); sound representation; video and video compression; writable CD; interaction. Multimedia system design: authoring software, requirements and a practical example; legal considerations; organising material for the user. |
CM50121: Safety critical systems |
Credits: 6 |
Level: Masters |
Semester: 1 |
Assessment: EX75CW25 |
Requisites: |
This unit shares lectures and tutorials with CM30072.
Aims & Learning Outcomes: Aims: To give an appreciation of the current state of safe systems development. To develop an understanding of risk in systems. To give a foundation in hazard analysis models and techniques. To show how safety principles may be built into all stages of the software development process. Learning Outcomes: A student will be able to: * understand the concepts of safety, risk and the role of human factors in the design and operation of safety critical systems; * understand the nature and role of the safety lifecycle in developing safety related systems; * choose and apply appropriate hazard identification and analysis techniques for a variety of safety related problems; * critically evaluate and reason effectively about hazardous situations in safety critical systems. Content: The nature of risk: computers and risk; how accidents happen; human error. System safety: historical approaches to system safety; basic concepts and terminology. Managing the development of safety-critical systems. Modelling human error and the accident process. Hazard analysis: basic principles; models and techniques. Safety principles in the software lifecycle: hazard analysis as part of requirements analysis; designing for safety; designingthe human-machine interface; verification of safety in computer systems. |
CM50122: Projects and their management |
Credits: 6 |
Level: Masters |
Semester: 2 |
Assessment: CW100 |
Requisites: |
Before taking this unit you must take CM50109 |
This unit shares lectures with CM20026.
Aims & Learning Outcomes: Aims: To gain experience of working with other people and, on a small-scale, some of the problems that arise in the development of software. Learning Outcomes: A student will be able to: * carry out the full cycle of the first phase of development of a software package, namely; requirements analysis, design, implementation, documentation, testing and delivery. * understand the main terms of the Data Protection Act and explain its application in a variety of contexts. Content: Project Management: Practice of software engineering techniques, Controlling software development, Project planning/ Management, Documentation, Design, Quality Assurance, Testing. Professional Issues: Professional responsibilities: codes of professional practice, Chartered Engineers. Legal responsibilities: Data Protection Act, Computer Misuse Act, Consumer Protection Act. Intellectual property rights. Contracts. |
CM50123: Networking |
Credits: 6 |
Level: Masters |
Semester: 2 |
Assessment: EX75CW25 |
Requisites: |
This unit shares lectures and tutorials with CM30078.
Aims & Learning Outcomes: Aims: To understand the Internet, and associated background and theory, to a level sufficient for a competent domain manager. Learning Outcomes: A student will be able to: * explain the acronyms and concepts of the Internet and how they relate; * state the steps required to connect a domain to the Internet and explain the issues involved to both technical and non-technical audiences; * understand the ethical issues involved in the use of the Internet, and have an "intelligent layman's" grasp of the legal issues and uncertainties; * understand fundamental security issues, and advise on the configuration issues surrounding a firewall. Content: The ISO 7-layer model. The Internet: its history and evolution - predictions for the future. The TCP/IP stack: IP, ICMP, TCP, UDP, DNS, XDR, NFS and SMTP. Berkeley Introduction to packet layout: source routing etc. The CONS/CLNS debate: theory versus practice. Various link levels: SLIP, 802.5 and Ethernet, satellites, the "fat pipe", ATM. Performance issues: bandwidth, MSS and RTT; caching at various layers. Who 'owns' the Internet and who 'manages' it: RFCs, service providers, domain managers, IANA, UKERNA, commercial British activities. Routing protocols and default routers. HTML and electronic publishing. Legal and ethical issues: slander/libel, copyright, pornography, publishing versus carrying. Security and firewalls: Kerberos. |
CM50147: Programming |
Credits: 6 |
Level: Masters |
Semester: 1 |
Assessment: EX50CW50 |
Requisites: |
While taking this unit you must take CM50148 and take PS50067 and take XX50125 |
Aims & Learning Objectives: Aims: To introduce students to the development of computer software, including analysis, establishing requirements, designing, implementing and evaluating. To provide practical skills in reading and writing programs and producing programs to solve real world problems. Objectives: Students should be able to design, construct and test short programs. They should be able to defend design decisions. To understand the idea of type and to use data types appropriately. To be able to develop iterative and recursive programs. To be able to comprehend the behaviour of programs written by others. To be able to assess the complexity of simple algorithms. Content: Introduction to computers and programming. Introduction to systems development; problem analysis, requirements synthesis, system design, evaluation. Scenario based design. Algorithms, control structures; sequence selection, iteration and recursion. Scope, complexity and extent. Simple data types, and testing. Object-orientation, reuse, inheritance, classes, objects, methods. Core Reading; Single Text Course. D Arnow & G Weiss Introduction to Programming Using Java; an object-oriented approach Addison Wesley 1998. |
CM50148: Usability design & evaluation |
Credits: 6 |
Level: Masters |
Semester: 1 |
Assessment: EX50ES50 |
Requisites: |
While taking this unit you must take CM50147 and take PS50067 and take XX50125 |
Aims & Learning Objectives: Aims. To give the students an introductory understanding of requirements, design, and evaluation. To raise students awareness of usability and human factors. To give students a grounding in different evaluation approaches. Objectives: The students should be able to carry out analysis of domains, user, and task requirements, using a method of analysis. They should be able to undertake different evaluations. Content: Task analysis, requirements analysis. Analytical and empirical evaluation of usability of user interface for supporting user tasks. Evaluation methods: general categories of empirical and analytical methods. Analytical: discount usability approaches and task analytic approaches. Empirical: experimental and observational (concurrent protocols and retrospective protocols). Core Reading; Largely from journal papers in the Journal of Human Computer Interaction and the International Journal of Human Computer Studies. J Nielsen Usability Engineering, Addison Wesley 1997 T Winograd & P Adler Usability; turning technologies into tools Oxford 1992 T Winograd Bringing Design to Software, Addison Wesley 1996. |
CM50149: Collaborative virtual environments |
Credits: 6 |
Level: Masters |
Semester: 2 |
Assessment: EX50ES50 |
Requisites: |
Before taking this unit you must take CM50147 and take CM50148 and take PS50067 and take XX50125 and while taking this unit you must take CM50150 and take XX50126 and take XX50127 and take XX50128 |
Aims & Learning Objectives: Aims; To give students an advanced understanding of current research issues in human computer interaction. To focus upon human computer interaction research methods, and theory, covering topics in user interface design, evaluation and modelling. Applications areas such as safety and dependable systems, collaborative systems, virtual environments, and agent interaction are examples of current application topics. Issues of human computer and human-human interaction in mobile settings and using embedded devices. Objectives: The students should learn how to program user input, application output, and user interface input/output event handling. Dialogue design. To design user interfaces to optimise usability and efficiency for the users' tasks. T o be aware of relevant principles, guidelines and tools to support user interface design. Content: Computer-supported collaborative work - nature of collaboration. How collaboration is supported; successful and unsuccessful models and systems. How to model group work. Technological forms of virtual working environments - 'white boards', 'rooms'. Web- based versions of virtual environments. Immersive and non-immersive environments. Mobile and wearable environments. Core reading: T K Capin, I S Pandzic & N Magnenat-Thalmann (eds) Avatars in Networked Virtual Environments Wiley, 1999 C Greenhalgh Large-scale Collaborative Virtual Environments Springer Verlag 1999 Proceedings of ACM International Conference on Intelligent User Interfaces 1999 Proceedings of ACM Conference on Computer Supported Cooperative Work, 1999 S Wilbur & A Sellen (eds) Computer Mediated Communication, Prentice Hall 1998 |
CM50150: Design |
Credits: 6 |
Level: Masters |
Semester: 2 |
Assessment: CW100 |
Requisites: |
Before taking this unit you must take CM50147 and take CM50148 and take PS50067 and take XX50125 and while taking this unit you must take CM50149 and take XX50126 and take XX50127 and take XX50128 |
Aims & Learning Objectives: Aims: To enable students to understand and be able to apply current approaches to modelling and design of communication systems. To approach the design of communication systems from a human and task perspective and to consider the most suitable application and optimal design of the technologies to support effective human communication. Objectives: The students should be able to apply scientific and engineering principle s to the effective and creative design of communications systems. They should be able to critically assess communication systems and to identify how technologies may be applied to support more effective communication. Content: Introduction to participatory design. Understanding of how to model and specify group and communication requirements. Conceptual design models and metaphors. How to elaborate a design model. The unit will involve practical classes through groupwork in the design of communication systems; building exemplars, interface design, communication management design, security access design. Core Reading: W Hall et al (eds) Hypermedia and Multimedia Systems , Addison Wesley 1999 D Leebaert (ed) The Future of Software , M I T Press 1995 S Wilbur & A Sellen (eds) Computer Mediated Communication , Prentice Hall 1998 T Winograd Bringing Design to Software ,Addison Wesley 1996 |
CM50170: Dissertation |
Credits: 30 |
Level: Masters |
Dissertation period |
Assessment: DS100 |
Requisites: |
Before taking this unit you must take CM50175 |
Before taking this unit, students must obtain the required standard in the MSc in Computer Science taught units.
Aims & Learning Outcomes: Aims: To develop skills of individual project effort in a computer based practical undertaking with original development content related to one or more of the lecture modules studied. Learning Outcomes: A student will be able to; * identify the tasks to be completed in a project proposal, plan a scheme of work, and complete the project to a professional standard; * assemble and create the necessary software tools, carry out the development of the solution of a technical problem in computer science, and evaluate the effectiveness of the solution against common standards of quality; * demonstrate the successful completion of these tasks in a well-structured and coherently written dissertation. Content: The student will follow an appropriate problem solving route, building on the project proposal written in CM50175 69色情片 Project Preparation. The student will analyse possible problem solutions and choose appropriate methods and approaches. This will lead to the implementation of the chosen solution, its testing and evaluation. Projects are usually software-based, but suitable experimental or theoretical projects may be undertaken. A comprehensive dissertation will be submitted at the completion of the project. |
CM50175: 69色情片 project preparation |
Credits: 6 |
Level: Masters |
Semester: 2 |
Assessment: PR20CW80 |
Requisites: |
Before taking this unit you must take CM50109 and After taking this module you must take XX50053 |
Aims & Learning Outcomes: Aims: To acquire the skills to undertake a research project in fundamental or applied computer science. Learning Outcomes: A student will be able to: * undertake a literature review; * critically review previous work in a chosen subject area; * prepare a project proposal; * understand the principles of structuring a dissertation. Content: Writing for scientific reports, papers and dissertation. A series of research seminars. Having identified the area of work and been assigned a project advisor, the student will undertake a conceptual review, a literature search, and a critical analysis of previous work. In consultation with the project advisor the student will write a comprehensive research review and proposal for a subsequent research project. |
CM50176: Databases and data management |
Credits: 6 |
Level: Masters |
Semester: 1 |
Assessment: CW100 |
Requisites: |
While taking this unit you must take CM50109 |
Aims & Learning Outcomes: Aims: To acquire the skills to undertake a research project in fundamental or applied computer science. Learning Outcomes: A student will be able to: * undertake a literature review; * critically review previous work in a chosen subject area; * prepare a project proposal; * understand the principles of structuring a dissertation. Content: Writing for scientific reports, papers and dissertation. A series of research seminars. Having identified the area of work and been assigned a project advisor, the student will undertake a conceptual review, a literature search, and a critical analysis of previous work. In consultation with the project advisor the student will write a comprehensive research review and proposal for a subsequent research project. |
CM50177: Algorithms and data structures |
Credits: 6 |
Level: Masters |
Semester: 2 |
Assessment: CW100 |
Requisites: |
Before taking this unit you must take CM50109 |
Aims & Learning Outcomes: Aims: To ensure students appreciate the concept of an algorithm as an effective procedure, To introduce the criteria by which algorithms may be chosen, and to demonstrate how algorithms may be used in conjunction with data structures for tasks such as sorting and searching. Learning Outcomes: A student will be able to: * use a variety of approaches to algorithm design; * understand the importance of space and time complexity in choosing algorithmic solutions; * evaluate and choose appropriate data structures and algorithms for a range of programming problems. Content: Brief introduction to the C programming language for implementing algorithms. Introduction to algorithmic complexity and efficiency: O() notation, growth rate, estimating complexity, space/time trade offs. Classes of algorithm: for example, divide and conquer, greedy algorithms. Storage and retrieval by key: linear and binary searching, linked representations, hashing and binary search trees, introduction to other types of tree. String matching algorithms. Sorting algorithms: insertion sort, selection sort, heapsort, quicksort. |
XX50053: Project dissertation |
Credits: 30 |
Level: Masters |
Dissertation period |
Assessment: DS100 |
Requisites: |
Aims & Learning Objectives: To develop skills of individual project effort in a computer based practical undertaking with original development content related to one or more of the lecture modules previously studied.
On completion of the Unit students should be able to survey the literature related to a broadly specified area of technology and present an orderly written survey which places an individual project undertaking in context. They should be able to identify the tasks to be completed, plan a scheme of work, and complete the project to the standard expected of a young professional in the undertaking chosen. They should be able to assemble and create the necessary software tools, carry out the development of the solution of a technical problem in multimedia, and evaluate the effectiveness of their solution against common standards of quality. They should be able to demonstrate the successful completion of these tasks in a well structured and coherently written dissertation.
Content: Students will choose a project from a list of topics offered by the Departments, or propose their own. The project will be implemented in software but could also involve the use of low level hardware. The students will be expected to follow through the accepted problem solving route, beginning with the identification and specification of the problem and searching of the relevant literature. They should then proceed to proposals for solution, analysis of alternatives, implementation of the chosen solution and final evaluation and testing. A written dissertation will be submitted at the completion of the project. |
XX50127: Communication, interaction & tasks |
Credits: 6 |
Level: Masters |
Semester: 2 |
Assessment: ES80OR20 |
Requisites: |
Before taking this unit you must take CM50147 and take CM50148 and take PS50067 and take XX50125 and while taking this unit you must take CM50149 and take CM50150 and take XX50126 and take XX50128 |
Aims & Learning Objectives: To enable students to assess and understand the human social causes and consequences of communication technologies, and their developments. To enable students to contribute to the design, development and application of communication technologies to improve human-human communication. Students will be able to analyse human-human communication in terms of the social, communication, task, and cognitive aspects. To critically and creatively apply communication technologies to support human-human communication. To understand and apply theories of cognition, collaboration, interaction, communication and tasks. To consider resource loads. Content: The unit will look at interaction systems and the implication of systems for the design of tasks. It will explore the relationship between communication systems and the social context, particularly the social origins and factors in communication, and the social consequences of such developments. How far can we design organisations and cultures? What are the implications of this ability? The unit will also explore 'agent-agent' interaction, and models of communication implied by these developments. Core Reading: J B Carroll (ed) Scenario Based Design Wiley 1995 W Hall et al (eds) Hypermedia and Multimedia Systems, Addison Wesley 1999 B A Nardi (ed) Context and Consciousness; activity theory and human-computer interaction M I T Press 1996 B A Nardi & V L O'Day Information Ecologies; using technology with heart, M I T Press 1999 D A Norman Defending Human Attributes in the Age of the Machine, Voyager CD-Rom 1999 |
XX50128: Project 1 |
Credits: 12 |
Level: Masters |
Semester: 2 |
Assessment: CW100 |
Requisites: |
Before taking this unit you must take CM50147 and take CM50148 and take PS50067 and take XX50125 and while taking this unit you must take CM50149 and take CM50150 and take XX50126 and take XX50127 |
Aims & Learning Objectives: To acquire the skills of planning independent research. Students will be able to complete a literature review and write a research proposal. Content: Students will undertake an original piece of work, which would normally bridge the disciplines involved in the programme. The first stage of the Project will comprise a literature/conceptual review and research proposal which may comprise theoretical, empirical or design components. Students completing the Diploma will be assessed on this report. Students progressing to the masters degree will be assessed and will use this work as the basis for the study that forms the second stage of the Project. |
![]() |
![]() |
Student Records & Examinations Office, University of Bath,
Bath BA2 7AY This page maintained by H.E.Buick@bath.ac.uk. Last update: 5 May, 2004 ©2003 University of Bath · ·
|