Level 1
- CS 1011 - INFORMATION TECHNOLOGY
-
- Credit Points
- 20
- Course Coordinator
- Mrs K. Christie
Pre-requisites
None
Co-requisites
None
Notes
(i) Students should not take this course if they are currently registered for, or have already obtained Credit points in any of the following: CS 1008, CS 1301, CS 1508, CS 1801, CS 1003, CS 1005, CS 1502, CS 1503, TS 1001, LS 1510, LS 1511, LS1513.
(ii) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.Overview
The course follows the syllabus of the European Computer Driving License (ECDL). The subject matter is grouped into 7 modules:
(1) Basic Concepts of Information Technology; (2) Using the Computer and Managing Files; (3) Word Processing; (4) Spreadsheets; (5) Databases; (6) Presentations; (7) Information and Communication.Structure
12 week course - 1 one-hour lecture; 3 one-hour practicals per week.
Assessment
1st Attempt: One 1.5 hour multiple-choice examination (25%) and three practical examinations (25% each).
Resit: Candidates only resit those components which they failed (CAS<9) at first attempt. Multiple-choice examination (25%) at resit is one and a half-hours; practical assessments are 45 minutes each.
- CS 1013 - GRAND CHALLENGES OF ARTIFICIAL INTELLIGENCE
-
- Credit Points
- 20
- Course Coordinator
- Dr F Guerin
Pre-requisites
None
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
Overview of AI (search, learning, natural language processing, vision).
AI and Cognitive Science (psychology, linguistics, philosophy) including criticisms of AI.
AI research methodology (hypotheses, experiments), including the Turing Test.
Expermintation with existing AI systems.
Structure
2 one-hour lectures (to be arranged), 1 two-hour supervised practical (to be arranged) and 1 one-hour tutorial (to be arranged) per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the overall combination of examination and continuous assessment (with the above weights).
Resit: 1 two-hour written examination (75%); 25% carried forward from the original continuous assessment.
- CS 1014 - FOUNDATIONS OF COMPUTING SCIENCE 1
-
- Credit Points
- 20
- Course Coordinator
- Dr T. Norman
Pre-requisites
Familiarity with the Windows environment (ie Higher or A- level Computing or Information Systems, CS 1011 or equivalent experience)
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
Introduction to Programming: Object creation and interaction; Class definitions; Simple data types; Strings; Method structure; Control structures; Structured program design; Scoping; Expressions: arithmetic, conditional, string; Internal and external method calls; Collections; Iterators; Casting; Arrays; simple event handling.
Use of a program development environment: editing, compiling, testing, debugging, project management.
Computing Science Fundamentals: Sets; Boolean algebra; Propositional logic and truth tables.
Structure
3 one-hour lectures (to be arranged), 1 one-hour tutorial (to be arranged) and 1 two- hour practical (to be arranged) per week.
Assessment
1st Attempt: 1 two-hour written examination (50%), practical examination (30%), and in-course assessment (20%).
Resit: 50% from a new practical examination; 50% new written examination.
- CS 1512 - FOUNDATIONS OF COMPUTING SCIENCE 2
-
- Credit Points
- 20
- Course Coordinator
- Dr E. Reiter
Pre-requisites
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
Further Programming: Problem solving: top-down design; Simple collection classes; Text files: reading and writing; Inheritance; Polymorphism; Static and dynamic types; Random numbers; Simulations; Event handling; Non-BlueJ compilation and execution: 'main' method.
Computing Science Fundamentals: Introduction to probability and statistics.
Structure
3 one-hour lectures (to be arranged), 1 one-hour tutorial (to be arranged) and 1 two-hour practical (to be arranged) per week.
Assessment
1st Attempt: 1 two-hour written examination (50%), group in-course assessment (20%); individual assessment (30%).
Resit: 50% from a new practical examination; 50% new written examination.
- CS 1513 - WEB TECHNOLOGY
-
- Credit Points
- 20
- Course Coordinator
- Mrs K Christie
Pre-requisites
Familiarity with the Windows environment (ie Higher or A -level Computing or Information Systems, CS 1011 or equivalent experience).
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator. This course cannot be taken by those students who have successfully completed CS 1009.
Overview
Review of Internet history, technology, services & standards. Features of an Internet information system: three-layer architecture. Web Information Architecture. Introduction to hypermedia & the Web hyperlinking model. Information architecture in Web site design. Techniques for organising & navigating information. Web site navigation: issues & techniques. HTML authoring using a text editor. From HTML to XHTML. Web forms. Cascading Style Sheets (CSS) and the separation of presentation & information. Browser issues. The application of standards. Accessibility. Introduction to client-side scripting with Javascript. Issues and techniques in managing and maintaining large Web sites. Introduction to Web security & privacy.
Structure
3 one-hour lectures(to be arranged), 1 one-hour practical(to be arranged) and 1 two-hour practical(to be arranged) per week.
Assessment
1st Attempt: One 1.5 hour multiple-choice examination (25%) and three practical examinations (25% each).
Resit: Candidates only resit those components (multiple-choice examination, practical examinations) which they failed at first attempt. Multiple-choice examination at resit is 1.5 hours.
- CS 1514 - WEB APPLICATION DEVELOPMENT
-
- Credit Points
- 20
- Course Coordinator
- Dr B Sharlau
Pre-requisites
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
(a) Programming using a scripting language, including objects, methods, control structures, data types and collections;
(b) Programming for the internet, including forms, application logic, database programming, and interaction with other applications using Web 2.0 technology such as Google Maps.Structure
2 one-hour lectures (to be arranged) and 1 two-hour practical (to be arranged) per week.
Assessment
1st Attempt: 1 two-hour written examination (75%); continuous assessment (25%).
Resit: 1 two-hour written examination (75%); continuous assessment mark carried forward (25%).
Level 2
- CS 2007 - ALGORITHMIC PROBLEM SOLVING
-
- Credit Points
- 15
- Course Coordinator
- Dr E Reiter
Pre-requisites
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
This course identifies fundamental data structures and algorithms as the basic building blocks of software systems, and provides experience of their implementation and application using the Java programming language. Introduction to Design of algorithms. Recursion and simple analysis of recursive methods. Data Types & Abstraction. Use of the Java Collection Framework. Stacks, Queues, Deques and Lists. Hash tables. Trees. Search Trees. Heaps. Sets. Algorithmic paradigms and their applications. Implementation issues and efficiency measures.
Structure
12 week course - 2 one-hour lectures, 1 one-hour tutorial and 1 one-hour practical per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and in-course assessment (25%). In order to pass the course, candidates must obtain a pass mark in the examination and in the overall combination of examination and in-course assessment (with the above weights).
Resit: 75% from a two-hour written examination; 25% carried forward from the original in-course assessment. Candidates must obtain a pass mark in the exam and the overall combination of exam and in-course assessment.
- CS 2008 - DATA MANAGEMENT
-
- Credit Points
- 15
- Course Coordinator
- Dr S Sripada
Pre-requisites
Co-requisites
None
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
The concept of a database and database management. Database development. Illustrations. Entity-Relationship model. Database design: logical design and the relational model. Normalisation; different normal forms. Physical design; file organisation and access; indexing. Database administration. Query By Example and SQL. Query optimisation. Practical examples using MS Access.
Client-server model. Database servers. Database access from client applications. Web-based database access through server-side scripting. Practical examples using MS Access, SQL Server, Javascript and JDBC.
A brief overview of key concepts in distributed, object-oriented, multimedia, spatial and geo-referenced database systems. Data mining.
Basic information retrieval techniques in search engines.Structure
12 week course - 2 one-hour lectures; plus one two-hour practical per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and in-course assessment (25%). In order to pass the course, candidates must obtain a pass mark in the examination and in the overall combination of examination and in-course assessment (with the above weights).
Resit: 75% from a two-hour written examination; 25% carried forward from the original in-course assessment. Candidates must obtain a pass mark in the exam and the overall combination of exam and in-course assessment.
- CS 2506 - HUMAN - COMPUTER INTERACTION
-
- Credit Points
- 15
- Course Coordinator
- Prof C. Mellish
Pre-requisites
Co-requisites
None
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
Principles of HCI: metaphors and conceptual models; seven stages of action; user models; human information processing; ergonomics; user-centred design and evaluation methodologies; HCI guidelines and standards, including Shneiderman's 8 golden rules. Input/output modes and devices; interaction styles. Users with special needs. Internationalisation. Evaluation techniques - walkthroughs, heuristic evaluation, expert reviews, controlled experiments. Technical Writing and Documentation: help systems; writing tutorials, user manuals and reference material.
Advanced Topics in HCI: multimedia; games.Structure
12 week course - 2 one-hour lectures; 1 two-hour practical per week.
Assessment
1st Attempt: One two-hour written examination (75%) and in-course assessment (25%). In order to pass the course, candidates must obtain a pass mark in the examination and in the overall combination of examination and in-course assessment (with the above weights).
Resit: 75% from a two-hour written examination; 25% carried forward from original in-course assessment. Candidates must obtain a pass mark in the exam and the overall combination of exam and in-course assessment.
- CS 2508 - INTELLIGENT HARDWARE AND ROBOTICS
-
- Credit Points
- 15
- Course Coordinator
- Dr J R Lishman
Pre-requisites
Co-requisites
None
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
Simple C Programming: data types, variables, operators and expressions, control structures (branching, looping, iteration), procedures and functions, input/output, arrays, pointers.
Data representation: bits, binary representation of integers and reals, character codes, Boolean algebra.
Register level machine: main functional parts of a computer - CPU, memory, I/O, buses; architecture of a simple CPU: registers, ALU, control unit; fetch/execute cycle, structure of instructions, instruction decoding; memory addressing: immediate, direct, register, indexing, etc. reference to binary machine code.
Special hardware support: floating point units, graphics.
Assembly language programming: relationship of symbolic instructions and memory addressing modes to the register level architecture; examples of simple assembly language programs.
Execution of C programs on the register level machine.
Memory: different types of memory - main, cache, backing.
I/O: transmission modes (serial/parallel, synchronous/asynchronous), DMA, interrupts.Structure
12 week course - 2 one-hour lectures; one two-hour practical per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and in-course assessment (25%). In order to pass the course, candidates must obtain a pass mark in the examination and in the overall combination of examination and in-course assessment (with the above weights).
Resit: 75% from a two-hour written examination; 25% carried forward from original in-course assessment. Candidates must obtain a pass mark in the exam and the overall combination of exam and in-course assessment.
Level 3
- CS 3008 - OPERATING SYSTEMS
-
- Credit Points
- 15
- Course Coordinator
- Dr J R Lishman
Pre-requisites
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) Non-graduating students would require the following background/experience: knowledge of common data-structures and algorithms; experience of the C programming language.Overview
Introduction and historical overview: from batch systems to distributed OS. I/O system structures: i/o bus, interrupts, DMA. OS structure and services: system calls, system programs, virtual machines. Processes and threads: scheduling, operation, co-operation and communication. Synchronisation, semaphores and deadlock handling. Memory management: logical and physical address spaces, swapping, segmentation and paging. File systems, directory structure, and storage allocation. Protection and security. Comparing and contrasting examples and case studies from UNIX, Solaris 2, and MS-DOS.
Structure
12 week course - 2 one-hour lectures and 1 two-hour laboratory session per week.
Assessment
1st Attempt: 1 two-hour written examination paper (75%) and in-course assessment (25%). In order to pass the course, candidates must obtain a pass mark in the examination and in the overall combination of examination and in-course assessment (with the above weights).
Resit: 1 two-hour written examination (75%); 25% carried forward from original in-course assessment. Candidates must obtain pass mark in the examination and in the overall combination of exam and in-course assessment.
- CS 3015 - SOFTWARE ENGINEERING: PRINCIPLES AND PRACTICE
-
- Credit Points
- 30
- Course Coordinator
- Dr E Compatangelo
Pre-requisites
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) This course runs for the entire session and is only available to students registered for Honours degree programmes offered by Computing Science.Overview
Introduction to software engineering – software development paradigms, software lifecycle, the Unified Paradigm.
Project management issues – team organisation, time and cost estimation, risk analysis. Software modelling and coding issues - The Unified Modelling Language (UML); Computer-Aided Software Engineering.
Software analysis and design issues - requirements elicitation, developing a system specification through use cases, architectural design, detailed design, design patterns.
Software implementation and quality issues - testing strategies and methods; quality assurance and management; software verification and validation; software documentation and maintenance.Structure
24 week course – 3 one-hour lectures, 1 two-hour individual practical per week during first half-session; 1 one-hour group practical per week during second half-session.
Assessment
1st Attempt: One 1.5 hour written examination (25%) and two software engineering project deliverables (25% and 50% respectively, 75% in total). In order to pass the course, candidates must obtain a pass mark in the examination and in the overall combination of examination project work(with the above weights).
Resit: One 1.5 hour written examination (25%) and software engineering project deliverables (75%). In order to pass the course, candidates must obtain a pass mark in the examination and in the overall combination of examination and project deliverables (with the above weights).
- CS 3017 - ADAPTIVE INTERACTIVE SYSTEMS
-
- Credit Points
- 15
- Course Coordinator
- Dr J Masthoff
Pre-requisites
CS 2506 and CS 2007 or CS2509.
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) Non-graduating students would require the following background/experience: familiarity with basic algorithmic problem solving and human-computer interaction.
Overview
Adaptive Hypermedia
User modelling.
Content-based and collaborative filtering.
Group modelling.
Affective and persuasive computing.
Conversational interfaces, Speech interfaces.
Application domains (eg personalized news, personalized e-learning, personalized digital tv, personalized e-commerce, personalized in health-care).
Usability aspects of adaptive systems (scrutability, believeability, privacy).
Designing and evaluating adaptive systems.
Structure
2 one-hour lectures (to be arranged) and 1 two-hour supervised practical (to be arranged) per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the exam and in the overall combination of examination and continuous assessment (with the above weights).
Resit: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the examination and in the overall combination of examination and continuous assessment (with the above weights). There is no opportunity to repeat the continuous assessment; the mark obtained at the first attempt will be carried forward to resit.
- CS 3018 - INTELLIGENT SYSTEMS ENGINEERING: PRINCIPLES AND PRACTICE
-
- Credit Points
- 30
- Course Coordinator
- Dr E Compatangelo
Pre-requisites
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) This course runs for the entire session and is only available to students registered for Honours degree programmes offered by Computing Science.Overview
Introduction to software engineering - software development paradigms, software lifecycle, prototyping.
The Unified Modelling Language (UML).
Project management issues - team organisation, software measurement and metrics, cost estimation, risk analysis.
Systems analysis and design - reuqirements elicitation, interviewing, system modelling, functional vs non-functional requirements, developing a system specification, object libraries, design patterns.
Computer-aided software engineering.
Implementation and integration methods.
Software testing - testing strategies and methods, quality assurance and management, verification and validation.
Software documentation and maintenance.
Knowledge acquisition; elements of knowledge modelling; introduction to knowledge base management systems; designing knowledge-based software.Structure
3 one-hour lectures (to be arranged) during the first 12 weeks, 1 one-hour tutorial (to be arranged) per week for the duration of the course, and 1 two-hour supervised practical (to be arranged) per week for the first 12 weeks of the course and 1 one-hour project supervision meeting (to be arranged) for the duration of the course.
Assessment
1st Attempt: One 1.5 hour written examination (25%). Individually-marked group project (75%). In order to pass the course, the candidate must obtain a pass mark (CAS >8) both in the examination and in the overall combination of examination and project (with the above weights).
Resit: One 1.5 hour written resit examination (25%). The nature of the course means that there is no opportunity to resubmit the project; original mark carried forward. In order to pass the course at resit and to get credits, the candidate must obtain a pass mark of (CAS >8) both in the resit examination and in the overall combination of examination and project (with the above weights).
- CS 3019 - KNOWLEDGE-BASED SYSTEMS
-
- Credit Points
- 15
- Course Coordinator
- Dr J Pan
Pre-requisites
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) Non-graduating students would require the following background/experience: familiarity with a procedural programming language.Overview
- Knowledge representation: propositional logic, description logics, ontology, rules, uncertainty and vagueness.
- Knowledge reasoning: description logics-based and rule-based systems, tableaux (completion) algorithm for description logics, forward chaining and backward chaining for rules.
- Knowledge engineering: expertise identification, capture, evaluations, reusability.Structure
2 one-hour lectures (to be arranged) and 1 two-hour supervised practical (to be arranged) per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the exam and in the overall combination of examination and continuous assessment (with the above weights).
Resit: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the examination and in the overall combination of examination and continuous assessment (with the above weights). There is no opportunity to repeat the continuous assessment; the mark obtained at the first attempt will be carried forward to resit.
- CS 3020 - ROBOTICS AND LEARNING
-
- Credit Points
- 15
- Course Coordinator
- Dr G Coghill
Pre-requisites
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator. (ii) Non-graduating students would require the following background/experience: familiarity with a procedural programming language, and some experience in basic robotics.
Overview
Animal behaviour: neuroscientific, psychological, and ethological bases; examples of bio-robots. Robot architectures: subsumption, schema-based, and others.
Knowledge representation for robots: short-term behavioural memory, long-term cognitive maps.
Hybrid deliberative/reactive architectures.
Perception: bilogical and psychological insights, robot sensors, integrating action and perception.
Overview of Machine Learning techniques used in robotics.
Reinforcement learning and its application (eg learning to walk, learning to push, learning to shoot a ball into a goal).
Social behaviour and organization (eg robotic football teams).
Planning: motivation; STRIPS; non-linear planning.Structure
2 one-hour lectures (to be arranged) and 1 two-hour supervised practical (to be arragend) per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the overall combination of examination and continuous assessment (with the above weights).
Resit: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the examination and in the overall combination of examination and continuous assessment (with the above weights). There is no opportunity to repeat in-course practical work; the mark obtained at the first attempt will be carried forward to resit.
- CS 3021 - COMMUNICATION OF COMPUTING
-
- Credit Points
- 20
- Course Coordinator
- Dr J F Masthoff
Pre-requisites
Notes
(i) Restricted to students registered for Honours degree programmes offered by Computing Science. (ii) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator. (iii) Disclosure Scotland checking to be undertaken for Child Protection purposes for any students getting access to minors.
Overview
Effective communication skills: audience awareness, body language, influencing the audience, interacting with the audience, cross-cultural communication.
Multimedia communication: blogs (web logs/online journals), newsletters, podcasting (method for sending files to users automatically, mostly used for audio files), interactive media, wikis (websites allowing users to add and edit content collectively).
Mentoring: the mentoring process, the mentoring relationship, boundary issues, questioning techniques, goal setting, mentoring students with special needs, dealing with students who present challenges (eg quiet students, sad students, angry students, students lacking motiviation), referral, group dynamics, managing groups.
Creative problem solving: Brainstorming, analytical creativity, idea selection.
Structure
- 2 one-hour lectures, to introduce the course and reflect on its outcomes
- 6 three-hour workshops during the year, delivered in a highly interactive fashion (eg using role playing and case studies)
- 1 one-hour mentoring session per week during the year, in which a pair of students mentor a small group of Level 1 students registered for a computing science course (typically CS 1014 and CS 1512).
- 1 two-hour action learning set per two weeks during the year, in which students in a small group discuss the problems/issues they encounter in the mentoring, facilitated by a member of staff. A small amount of time will also be dedicated to briefing mentors about the activities to be undertaken in the next weeks.
Assessment
1st Attempt: Continuous assessment (100%) consisting of an oral presentation to a lay audience (10%), a multimedia communication (45%) and an assessment of the mentoring activity (45%). For the assessment of the mentoring activity, students will keep a reflective journal on the mentoring during the year, and will write an essay on a case study from their mentoring experience (eg, what they were trying to achieve in a particular mentoring activity, how they prepared for it, how effective it was) illustrated with extracts from their reflective journal.
Resit: 1 continuous assessment (100%) consisting of a multimedia communication for a lay audience and tutorial material for supporting novice computer scientists.
- CS 3514 - ENTERPRISE COMPUTING
-
- Credit Points
- 15
- Course Coordinator
- Dr B Scharlau
Pre-requisites
Co-requisites
CS 3015
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) Non-graduating students would require the following background/experience: knowledge of database principles; intermediate-level experience of at least one programming language; principles of systems analysis and design.Overview
This course aims to provide a modern introduction to business computing, centred on the concept of an enterprise data model. Students will learn how to design and implement enterprise data models, and will gain practical skills in using modern RAD tools to rapidly develop business applications that exploit an enterprise model. Business-to-business transactions will also be examined, wherein standard interfaces are established between multiple organisations' models and applications using XML-based technologies. Java Web applications will also be introduced in order to develop both front-end and back-end applications.
Structure
12 week course – 2 one-hour lectures, 1 two-hour practical per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and in-course assessment (25%). In order to pass the course, candidates must obtain a pass mark in the examination and in the overall combination of examination and in-course assessment (with the above weights).
Resit: 1 two-hour written examination (75%); 25% carried forward from original assessment. Candidates must obtain a pass in the exam, and in the overall combination of exam and in-course assessment.
- CS 3516 - AI FOR COMPUTER GAMES
-
- Credit Points
- 15
- Course Coordinator
- Dr W Vasconcelos
Pre-requisites
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) Non-graduating students would require the following background/experience: knowledge of basic concepts of AI and HCI.Overview
Overview of AI Game Techniques.
Movement Algorithms: Steering Behaviours, Predicting Physics, Motor Control.
Pathfinding: World Representations, Improving on A*, Hierarchical Pathfinding.
Decision Making: Decision Trees, State Machines, Fuzzy Logic, Markoc Systems, Goal Oriented Behaviour, Scripting.
Tactical and Strategic AI: Waypoint Tactics, Tactical Analyses, Tactical Pathfinding, Coordinated Action.
Learning: Action Prediction, Decision Learning, Decision Tree Learning, Reinforcement Learning.
Board Games: Game Theory, Minimaxing, Opening Books and Other Set Plays.
Execution Management: Scheduling, Anytime, Algorithms, Event Managers.
Game case studies: Shooters, Sports, Driving, Real-time Strategy, Turn-Based Strategy Games.
Search: depth first; breadth first, heuristic.Structure
2 one-hour lectures (to be arranged) and 1 one-hour tutorial (to be arranged) per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the overall combination of examination and continuous assessment (with the above weights).
Resit: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course , candidates must obtain a pass mark (CAS > 8) in the examination and in the overall combination of examination and continuous assessment (with the above weights). There is no opportunity to repeat in-course practical work; the mark obtained at the first attempt will be carried forward to resit.
- CS 3517 - DISTRIBUTED SYSTEMS AND SECURITY
-
- Credit Points
- 15
- Course Coordinator
- Dr M Kollingbaum
Pre-requisites
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) Non-graduating students would require the following background/experience: intermediate level Java programming experience; knowledge of database principles including SQL.Overview
Introduction to Distributed Systems.
Programming with Distributed Objects: Java RMI; Object Serialization; Managing Multiple Threads of Control; Security Policies; Multi-Tier Client-Server Systems.
Programming with Distributed Data Sources: Transactions and Concurrency Control; Distributed Transactions; Replication; Fault-Tolerant Systems.
Security in Distributed Systems: Authentication, Digital Signatures and Certificates, SSL, Firewalls.
Standard Application Protocols (HTTP, TELNET, FTP); Transport Layer; Network Layer and Routing.Structure
2 one-hour lectures (to be arranged) and 1 two-hour supervised practical (to be arranged) per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the overall combination of examination and continuous assesment (withe the above weights).
Resit: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the examination and in the overall combination of examination and continuous assessment (with the above weights). There is no opportunity to repeat in-course practical work; the mark obtained at the first attempt will be carried forward to resit.
- CS 3518 - LANGUAGES AND COMPUTABILITY
-
- Credit Points
- 15
- Course Coordinator
- Dr K Van Deemter
Pre-requisites
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) Non-graduating students would require the following backgroud/experience: knowledge of basic concepts of formal languages and logic.Overview
- Imperative languages and their associated automata: Regular languages and Finite state automata (FSA), Context-free languages and Pushdown Automata (PDA), Non-context-free languages and linear-bounded automata (LBA), Turing Machines (TM), nondeterministic Turing Machines.
- Functional languages: Haskell idioms, Haskell polymorphic types, recursion, Haskell higher-order functions, lazy evaluation, infinite sets.
- Chomsky hierarchy and computability: Turing decidability, Turing recognisability, injections, surjections and bijections, Cantor's diagonal argument, the halting problem, the Church-Turing Thesis.Structure
2 one-hour lectures (to be arranged) and 1 one-hour tutorial (to be arranged) per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the exam and in the overall combination of examination and continuous assessment (with the above weights).
Resit: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the examination and in the overall combination of examination and continuous assessment (with the above weights). There is no opportunity to repeat the continuous assessment; the mark obtained at the first attempt will be carried forward to resit.
Level 4
- CS 4024 - GRAPHICS
-
- Credit Points
- 15
- Course Coordinator
- TBC
Pre-requisites
Notes
(i) Restricted to students registered for Honours degree programmes offered by Computing Science.
(ii) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator. This course will not run in 2009/10.Overview
Two-dimensional graphics: lines, polygons, coordinate systems, clipping; raster techniques; polygon filling; anti-aliasing; bit-planes; colour models. Three-dimensional graphics: coordinate systems; homogeneous transformations (rotating, translating, scaling), perspective; surface models; hidden line and surface removal; lighting models, shading, shadows, textures, ray tracing.
Object-oriented techniques: scene graphs; behaviours; interpolators; collision detection.
Graphics hardware: input/output (including virtual reality) devices; stereographics; animation and interaction techniques.
Applications of computer graphics will be considered (e.g. CAD, molecular graphics, scientific visualisation, entertainment).Structure
12 week course - 2 one-hour lectures and 1 two-hour practical session per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and in-course assessment (25%).
- CS 4025 - NATURAL LANGUAGE PROCESSING
-
- Credit Points
- 15
- Course Coordinator
- Professor C Mellish
Pre-requisites
Notes
(i) Restricted to students registered for Honours degree programmes offered by Computing Science.
(ii) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.Overview
Formal linguistic models of English: word categories, sentence constituents, phrase-structure grammar rules, features. Modelling syntactic phenemena.
Parsing: shift-reduce parsers, chart parsers, handling ambiguity, definate clause grammars.
Semantics and pragmatics: meaning representations, reference, speech acts.
Generation: Content determination, sentence planning, and realisation.
Applications: grammar checking, machine translation, database interfaces, report generation, dictation.
Speech: Hidden Markov Models, statistical langauge models, speech synthesis.Structure
12 week course - 2 one-hour lectures and 1 two-hour practical session per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and in-course assessment (25%).
- CS 4026 - FORMAL MODELS OF COMPUTATION
-
- Credit Points
- 15
- Course Coordinator
- Dr K van Deemter
Pre-requisites
Notes
(i) Restricted to students registered for Honours degree programmes offered by Computing Science.
(ii) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.Overview
Lambda-Calculus and Functional Programming:
- Lambda-Calculus, conversions, normal form, Church-Rosser Theorem.
- Haskell syntax, types, higher-order functions, function composition, infinite data structures, list comprehensions, algerbraic types, modules and abstract data types
Theorem proving Logic Programming:
- Predicate calculus, substitutions and interpretations, validity, satisfiability, logical consequence,
- Proof procedures, soundness and completeness, (SLDNF-) resolution and unification,
- Prolog syntax, execution mechanism, backtracking, recursion, lists and list processing, cuts, meta-programming.
Computability and Complexity:
- Turing Machines, definition of algorithm, Church-Turing Thesis
- Decidability, the Halting Problem, diagonalisation, reducibility,
- Measures of complexity, P and NP, NP-Completeness, space complexity
- Intractability
Structure
12 week course - 2 one-hour lectures and 1 two-hour tutorial per week.
Assessment
1st Attempt: 1 two-hour written examination paper (75%) and in-course assessment (25%).
- CS 4027 - PEER-TO-PEER AND AGENT-BASED COMPUTING
-
- Credit Points
- 15
- Course Coordinator
- Dr W Vasconcelos
Pre-requisites
Notes
To be taken as part of the taught BSc undergraduate programme.
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) Non-graduating students would require the following background/experience: good Java programming skills; knowledge of distributed systems concepts and design.Overview
Introduction to peer-to-peer computing and motivation. Basic peer-to-peer algorithms and models: Centralised Directory, Flooded Request and Document Routing. Peer-to-Peer topologies. Case studies. Issues: Scalability, Anonymity/Privacy, Security, Performance, Reliability. Peer-to-peer technologies: Gnutalla, Freenet and JXTA. Introduction to intelligent software agents and multi-agent systems. Motivations. Case studies. Basic concepts of software agents and multi-agent systems. Theories of agency, agent architectures and agent-oriented programming languages. Agent communication languages and protocols, including standards. Agent programming platforms. Negotiation and co-ordination mechanisms. Eletronic institutions. Auctions and voting. Tuple spaces programming for agent communication and coordination. Distributed problem-solving.
Structure
2 one-hour lectures (to be arranged) and 1 two-hour practical (to be arranged) each week.
Assessment
1st Attempt: 1 two-hour written examination (75%); continuous assessment (25%).
Resit: No resit.
- CS 4029 - SEMANTIC WEB ENGINEERING
-
- Credit Points
- 15
- Course Coordinator
- Dr J Pan
Pre-requisites
Notes
(i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
(ii) Non-graduating students would require the following background/experience: basic concepts of knowledge representation and reasoning.Overview
- Introduction to knowledge representation; identification of inherent research challenges.
- Formal semantics of ontologies; principles of ontology design and ontology reasoning; the importance of ontologies for the Semantic Web.
- Ontology modelling and design using tools such as Protégé OWL.
- Knowledge modelling using Production Rules; programming in CLIPS/JESS.
- Review of the six major challenges associated with Knowledge Technologies, namely knowledge capture, modelling, use/reuse, retrieval, publishing and maintenance.Structure
2 one-hour lectures (to be arranged) and 1 two-hour supervised practical (to be arranged) per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the overall combination of examination and continuous assessment (with the above weights).
Resit: 1 two-hour written examination (75%) and continuous assessment (25%). In order to pass the course, candidates must obtain a pass mark (CAS > 8) in the examination and in the overall combination of examination and continuous assessment (with the above weights). There is no opportunity to repeat in-course practical work; the mark obtained at the first attempt will be carried forward to resit.
- CS 4030 - BIOLOGICAL APPLICATION OF COMPUTING SCIENCE
-
- Credit Points
- 15
- Course Coordinator
- Dr G M Coghill
Pre-requisites
Notes
Available only to Final Year Honours students in the Department of Computing Science.
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the Departmental Disability Co-ordinator.
Overview
A selection of topics spanning a range of Biological Applications of Computing Science under the following headings:
Bioinformatics (eg Outline of Molecular biology, sequence alignment, protein folding)
Model-based Technology (eg Qualitative and Fuzzy Qualitative reasoning applied to Systems Biology)
Nature Inspired Computing (eg focussing on Artificial Immune Systems and their application in Bioinformatics and Systems Biology).
Structure
2 one-hour lectures and 1 two-hour practical per week.
Assessment
1st Attempt: 1 two-hour written examination (75%) and continuous assessment (25%).
Resit: None.
- CS 4031 - DATA MINING AND VISUALIZATION
-
- Credit Points
- 15
- Course Coordinator
- Dr S Sripada
Pre-requisites
CS 2008,
CS 2506,
CS 2007 or CS 2509Notes
i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
ii) Only available to senior honours students in the Computing Science discipline and Erasmus students.Overview
- Data Mining: basic statistics, advanced data analysis techniques such as trend detectors, pattern detectors, qualitative models, basic data mining techniques such as classification and clustering.
- Visualization: information visualisation (basic concepts, advanced techniques such as treemaps); supporting user variation (abilities, knowledge, preferences).
- Applications to real world problems: for example, medical decision support, supporting analysis of genome data.Structure
2 one-hour lectures (to be arranged) and 1 two-hour practical (to be arranged) per week. Also, guest seminars from people other than the main lecturer.
Assessment
1st Attempt: 1 two and a half hour written examination (75%); continuous assessment (25%).
Resit: No resit. - CS 4032 - MOBILE COMPUTING
-
- Credit Points
- 15
- Course Coordinator
- Dr B Scharlau
Pre-requisites
Notes
i) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
ii) Only available to senior honours students in the Computing Science discipline and Erasmus students.Overview
Syllabus:
a) Java ME - client side
b) Java ME - server side
c) bluetooth
d) thin-clients and widgets for mobiles
e) location based servicesStructure
2 one-hour lectures (to be arranged) and 1 two-hour practical (to be arranged) per week. Also, guest seminars from people other than the main lecturer.
Assessment
1st Attempt: 1 two-hour written examination (75%); continuous assessment (25%).
Resit: no resit. - CS 4092 - SINGLE HONOURS ERASMUS COMPUTING PROJECT (E2)
-
- Credit Points
- 90
- Course Coordinator
- Dr J R Lishman
Pre-requisites
Available only to Erasmus students registered for Computing Science and that can be assimilated to our Final year Single Honours students.
Notes
Assistive technology may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any Erasmus students wishing to discuss this further should contact the Departmental Disability Coordinator prior to arrival.
Overview
Ths student will undertake a project under the supervision of teaching staff in the department. The project will require creativity, analytical and practical skills. A major component of the project is its presentation, both written and oral.
Structure
Self-directed work, 1 hour weekly meetings; initial introductory discussion to establish workplan.
Assessment
1st Attempt: Report and documentation (95%), oral presentation (5%).
Resit: None.
- CS 4093 - SINGLE HONOURS ERASMUS COMPUTING PROJECT (E3)
-
- Credit Points
- 60
- Course Coordinator
- Dr J R Lishman
Pre-requisites
Available only to Erasmus students registered for Computing Science and that can be assimilated to our Final year Single Honours students.
Notes
Assistive technology may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any Erasmus students wishing to discuss this further should contact the Departmental Disability Coordinator prior to arrival.
Overview
The student will undertake a project under the supervision of teaching staff in the department. The project will require creativity, analytical and practical skills. A major component of the project is its presentation, both written and oral.
Structure
Self-directed work, 1 hour weekly meetings; initial introductory discussion to establish workplan.
Assessment
1st Attempt: Report and documentation (95%), oral presentation (5%).
Resit: None.
- CS 4524 - PROFESSIONAL TOPICS IN COMPUTING
-
- Credit Points
- 10
- Course Coordinator
- Dr S P Townsend
Pre-requisites
Notes
(i) Restricted to Final Year Single Honours students in Computing Science.
(ii) Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disbaility Co-ordinator.Overview
Ethics: the individual, organisational and societal context of computing systems; deployemnt of technical knowledge and skills with a concern for the public good. Legal Issues: UK legal system, contract law liabilities, company and employment law, data protection, computer misuse, intellectual property rights.
Public policy issues: digital signatures, restrictions on encryption, IT monopolies.
Safety/mission critical software: impact of failure on users; liability; risk analysis.
Professional Bodies: structure, function, restriction of title, licence to practise, code of ethics/conduct/practice.
Career: Career options; entrepreneurship; rights and duties of an employee.
Aspects of effective communication: written and verbal communication skills.Structure
8 week course - 2 one-hour lectures, 1 two-hour practical session per week.
Assessment
1st Attempt: One 1.5 hour examination (75%) and in-course assessment consisting of: 4000 word essay/report (20%), oral presentation (5%).
- CS 4525 - JOINT HONOURS COMPUTING PROJECT
-
- Credit Points
- 30
- Course Coordinator
- Dr W Vasconcelos
Pre-requisites
Restricted to Final Year Joint Honours students in Computing Science.
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any students wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
The student will undertake a project under the supervision of teaching staff in Computing Science. The project will require creativity, analytical and practical skills. A major component of the project is its presentation, both written and oral.
Structure
15 week project course - weekly meetings with project supervisor.
Assessment
1st Attempt: 95% report and documentation, 5% oral presentation.
- CS 4526 - SINGLE HONOURS COMPUTING PROJECT
-
- Credit Points
- 45
- Course Coordinator
- Dr W Vasconcelos
Pre-requisites
Restricted to Final Year Single Honours students in Computing Science.
Notes
Assistive technologies may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any student wishing to discuss this further should contact the School Disability Co-ordinator.
Overview
The student will undertake a project under the supervision of teaching staff in Computing Science. The project will require creativity, analytical and practical skills. A major component of the project is its presentation, both written and oral.
Structure
15 week project course - weekly meetings with project supervisor.
Assessment
1st Attempt: 95% report and documentation, 5% oral presentation.
- CS 4593 - SINGLE HONOURS ERASMUS COMPUTING PROJECT (E4)
-
- Credit Points
- 60
- Course Coordinator
- Dr W Vasconcelos
Pre-requisites
Available only to Erasmus students registered for Computing Science and that can be assimilated to our Final year Single Honours students.
Notes
Assistive technology may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any Erasmus students wishing to discuss this further should contact the Departmental Disability Coordinator prior to arrival.
Overview
The student will undertake a project under the supervision of teaching staff in the department. The project will require creativity, analytical and practical skills. A major component of the project is its presentation, both written and oral.
Structure
Self-directed work, 1 hour weekly meetings; initial introductory discussion to establish workplan.
Assessment
1st Attempt: Report and documentation (95%), oral presentation (5%).
Resit: None.
- CS 4901 - SINGLE HONOURS ERASMUS COMPUTING PROJECT (E1)
-
- Credit Points
- 120
- Course Coordinator
- Dr J R Lishman
Pre-requisites
Available only to Erasmus students registered for Computing Science and that can be assimilated to our Final year Single Honours students.
Notes
Assistive technology may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any Erasmus students wishing to discuss this further should contact the Departmental Disability Coordinator prior to arrival.
Overview
The student will undertake a project under the supervision of teaching staff in the department. THe project will require creativity, analytical and practical skills. A major component of the project is its presentation, both written and oral.
Structure
Self-directed work, 1 hour weekly meetings; initial introductory discussion to establish workplan.
Assessment
1st Attempt: Report and documentation (95%), oral presentation (5%).
Resit: None. - CS 4993 - SINGLE HONOURS ERASMUS COMPUTING PROJECT (E5)
-
- Credit Points
- 60
- Course Coordinator
- Dr J R Lishman
Pre-requisites
Available only to Erasmus students registered for Computing Science and that can be assimilated to our Final year Single Honours students.
Notes
Assistive technology may be required for any student who is unable to use a standard keyboard/mouse/computer monitor. Any Erasmus students wishing to discuss this further should contact the Departmental Disability Coordinator prior to arrival.
Overview
The student will undertake a project under the supervision of teaching staff in the department. The project will require creativity, analytical and practical skills. A major component of the project is its presentation, both written and oral.
Structure
Self-directed work, 1 hour weekly meetings; initial introductory discussion to establish workplan.
Assessment
1st Attempt: Report and documentation (95%), oral presentation (5%).
Resit: None.
- CS 50IP - BUSINESS AND INDUSTRIAL APPLICATIONS OF IT
-
- Credit Points
- 120
- Course Coordinator
- Dr K van Deemter
Pre-requisites
Acceptance into Senior Honours and permission of Head of Computing Science. Availability of placement.
Overview
Work experience in an industrial, business, or public sector organisation.
Assessment
1st Attempt: Written report (75%), viva (15%) and seminar (10%).