school of computer science - nottingham€¦ · computer communications and networks g52ccn 2...

41
Page 1 of 41 School of Computer Science UNDERGRADUATE MODULES FOR 2013-2014 Full Year Module Module Code Level Software Engineering Group Project G52GRP 2 Individual Dissertation Single/Joint Honours G53IDS/Y/J 3 Autumn Semester – Computer Science Modules Module Module Code Level Computer Systems Architecture G51CSA 1 Mathematics for Computer Science G51MCS 1 Introduction to Requirements Engineering G51REQ 1 Introduction to Programming G51PRG 1 Algorithmic Problem Solving G51APS 1 Unix and Software Tools G51UST 1 Software Engineering Methodologies G52SEM 2 Algorithms and Data Structures G52ADS 2 Introduction to Formal Reasoning G52IFR 2 Application Programming G52APR 2 Graphical User Interfaces G52GUI 2 Introduction to Image Processing G52IIP 2 Planning and Search G52PAS 2 Computer Graphics G53GRA 3 Computers in the World G53CWO 3 Software Quality Management G53SQM 3 Compilers G53CMP 3 Computer Vision G54VIS 4 Autumn Semester – Compulsory Business Modules for Joint Honours Module Module Code Level Entrepreneurship and Business N11440 1 Business Economics A N11604 1 Contemporary Economic Policy N12107 2 Designing and Managing Organisations N12617 2 Strategic Management I N13410 3 Human Resource Management I N13425 3

Upload: others

Post on 17-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 1 of 41

School of Computer Science

UNDERGRADUATE MODULES FOR 2013-2014

Full Year

Module Module Code Level

Software Engineering Group Project G52GRP 2

Individual Dissertation Single/Joint Honours G53IDS/Y/J 3

Autumn Semester – Computer Science Modules

Module Module Code Level

Computer Systems Architecture G51CSA 1

Mathematics for Computer Science G51MCS 1

Introduction to Requirements Engineering G51REQ 1

Introduction to Programming G51PRG 1

Algorithmic Problem Solving G51APS 1

Unix and Software Tools G51UST 1

Software Engineering Methodologies G52SEM 2

Algorithms and Data Structures G52ADS 2

Introduction to Formal Reasoning G52IFR 2

Application Programming G52APR 2

Graphical User Interfaces G52GUI 2

Introduction to Image Processing G52IIP 2

Planning and Search G52PAS 2

Computer Graphics G53GRA 3

Computers in the World G53CWO 3

Software Quality Management G53SQM 3

Compilers G53CMP 3

Computer Vision G54VIS 4

Autumn Semester – Compulsory Business Modules for Joint Honours

Module Module Code Level

Entrepreneurship and Business N11440 1

Business Economics A N11604 1

Contemporary Economic Policy N12107 2

Designing and Managing Organisations N12617 2

Strategic Management I N13410 3

Human Resource Management I N13425 3

Page 2: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 2 of 41

Spring Semester – Computer Science Modules

Module Module Code Level

Introduction to Functional Programming G51FUN 1

Database Systems G51DBS 1

Introduction to Software Engineering G51FSE 1

Introduction to Object-Oriented Programming G51OOP 1

Introduction to Artificial Intelligence G51IAI 1

Web Programming and Scripting G51WPS 1

Computer Communications and Networks G52CCN 2

Concepts of Concurrency G52CON 2

Machines and their Languages G52MAL 2

C++ Programming G52CPP 2

Human Computer Interaction G52HCI 2

AI Programming Techniques G52APT 2

Operating Systems G53OPS 3

Enterprise Level Computing G53ELC 3

Computer Security G53SEC 3

New Media Design G53NMD 3

Advanced Computer Communications G54ACC 4

Simulation for Computer Scientists G54SIM 4

Spring Semester – Compulsory Business Modules for Joint Honours

Module Module Code Level

Business Economics B1 N11116 1

People and Organisations N11603 1

Economics of Business Decisions N12604 1

Organising and Managing in Practice N12606 1

Strategic Management II N13418 1

Human Resource Management II N13426 1

Page 3: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 3 of 41

Notes:

1. Modules offered in any semester are subjected to change as they depend on staffavailability and enrollments from sufficient number of students.

2. The descriptions of the offered modules are current as and when this document isprepared but they may be subjected to modifications and additions by the moduleconvenor.

3. Students may take modules offered by other Schools provided appropriateapproval has been obtained from the Course Director of the School of ComputerScience and the module convenor of the offering School, subjected to thecondition that there is no clash in the timetables and that all prerequisites andcorequisites of the selected module are met. A maximum of 20 credits of suchmodules are allowed in one academic year.

4. This document provides summaries as well as important details of ComputerScience modules that are only relevant to the Malaysia Campus. Otherinformation not included in this document e.g. education aims, learning outcomesas well as descriptions of other non-Computer Science modules, can be viewed atthe Nottingham’s Module Catalogue web site below:

http://modulecatalogue.nottingham.ac.uk/malaysia/ // Malaysia Campus

Page 4: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 4 of 41

G52GRP – Software Engineering Group Project (20 Credits) – Full Year 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: None; A: Coursework 100%

2. LecturerChen ZhiYuan (Dr)Contact: 03-89248141 (Office Phone); BB71 (Room)E-mail: [email protected]

3. Summary of ContentWorking in groups of around five to six people, you’ll be assigned a supervisor whowill provide you with a short written description of a computer application to bedesigned, programmed, and documented during the course of the module. Eachgroup will meet twice a week, once with your supervisor and once without; you’llalso have four introductory one hour lectures.

4. Weekly Programme

Week No Lecture Topic

1 Overview: Aims, Organisation, Assessment

2 Team Working and Group meetings

3 Version Control

4 Characteristics of a good project

5 Course Information Review

6 Code Quality, Maintainability, Reusability, Debugging and Testing

7 Report Writing

8 Giving an Effective Presentation

9 No Lecture

10 No Lecture

11 Group Project Open Day

No Lecture

5. ResourcesReference texts as relevant to the project topics

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 5: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 5 of 41

G53IDS/Y/J – Individual Disseration (40/40/20 Credits) – Full Year 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: None; A: Dissertation 80%, Practical (Demo) 10%, Progress Presentation(Autumn) 10%

2. LecturerKR Selvaraj (Mr)Contact: 03-89248139 (Office Phone); BB60 (Room)E-mail: [email protected]

3. Summary of ContentStudents are required to perform an individual project on a topic in computerscience. Each student has a supervisor who is a member of the academic staff. Thetopic can be any area of the subject which is of mutual interest to both the studentand supervisor. Through a one hour lecture and a tutorial with your supervisor eachweek, you’ll develop your own independent research project and written report.Topics can range from purely theoretical studies to practical work building a systemfor some third party, although most projects aim to provide a balance between thetheoretical and practical aspects of the subject. Guidelines on word length ofdissertation are flexible to accommodate differing types of project work (e.g.balance between theory and practice) undertaken.

4. Weekly Programme

Week No Lecture Topic

1 Project Briefing

2 Information Skills

3 Literature Review

4 Plagiarism

5 Public Presentation Skills

6 Dissertation Report Preparation

7 TBA

8 TBA

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Dawson,Christian W

2000 The essence ofcomputing projects:

a student's guide

Prentice Hall

Reference texts recommended by the supervisors as relevant to the project topics.

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 6: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 6 of 41

G51CSA – Computer Systems Architecture (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: G51PRG; A: Coursework 25%, Written Examination 75%

2. LecturerKR Selvaraj (Mr)Contact: 03-89248139 (Office Phone); BB60 (Room)E-mail: [email protected]

3. Summary of ContentThis module is part of the Operating Systems and Architecture theme in the Schoolof Computer Science. The module covers: basic architecture of a digital computers. use simple C programs (linked to G51PRG) to introduce assembly language,

binary representations of basic data types, such as integers and floating pointnumbers.

It also covers the principles of the lower level implementation of I/O using pollingand interrupts, and the use of exceptions.

4. Weekly Programme

Week No Lecture Topic

1 Introduction & Concepts

2 Bits, bytes and numbers ( Part I)

3 Bits, bytes and numbers (Part II)

4 Current Program Status Register(CPSR), Conditions and Branches.

5 ARM arithmetic, Data Processing, Loads and Stores;

6 Comparisons and Loops.

7 Bitwise operations, Binary Addition and Signed Numbers.

8 Computer Systems Organization; Addresses and Addressing.

9 Binary Arithmetic operations

10 Digital Logic Operations using ARM.

11 CPU and Computer Architecture including Instruction Pipelining.

12 RISC- CISC Architecture

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Petzold,Charles

2000 The Hidden languageof computer hardware

and software

MicrosoftPress

0-7356-1131-9

2 Hohl,William

2009 ARM AssemblyLanguage:

Fundamentals andtechniques

CRC

3 Furber,Stephen B

2000 ARM system-on-chiparchitecture

2nd Addison-Wesley

4 M.MorrisMano

1993 Computer SystemsArchitecture;

Computer

3rd PrenticeHall

0-1317-5738-5

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 7: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 7 of 41

G51MCS – Mathematics for Computer Scientists (10 Credits) – Autumn 2013-2014

1. Pre-requisites & Co-requisites; Assessment DetailsP: None; C: None; A: Coursework 25%; Written Examination 75%

2. LecturerIman Yi Liao (Dr)Contact: 03-87253438 (Office Phone); BB63 (Room)E-mail: [email protected]

3. Summary of ContentThe module covers mathematical concepts relevant to computer science:

Set theory: Definition, membership, operations, construction, cartesianproduct, power sets.

Functions and relations. Boolean algebra: truth tables, propositional calculus including equivalences

and modelling, proof and deduction, induction. Simple number theory: inequalities, floor and ceiling function, greatest

common divisor, modulo arithmetic. Elementary combinatorics. Quantification and predicate logic: Sum and product. Universal and

existential quantification. Linear algebra: matrices Probability: discrete probability, conditional probability

4. Weekly Programme

Week No Lecture Topic

1 (1) Introduction to the module. (2) Set Theory 1: Definition,membership, operations.

2 (1) Set Theory 2: Construction, cartesian product, power sets. (2)Functions.

3 (1) Functions 2. (2) Boolean Algebra.

4 (1) Truth tables. (2) Logic - Propositions Including equivalencesand modelling

5 (1) Logic - Proof and Deduction. (2) Logic - Induction

6 (1) Simple number theory 1. (2) Simple number theory 2.

7 (1) Quantification. (2) Matrices 1.

8 (1) Matrices 2. (2) Predicate Logic 1.

9 (1) Predicate Logic 2. (2) Probability 1.

10 (1) Probability 2. (2) Probability 3.

11 Revision.

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book(Primary)

Edition Publisher ISBN

1 Norman L.Biggs

2003 Discrete Mathematics 2nd OxfordUniversity

Press

0198507178

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 8: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 8 of 41

G51REQ – Requirement Engineering (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: None; A: Coursework 100%

2. LecturerBehrang Parhizkar (Mr)Contact: 0172951500 (Mobile Phone); BB47 (Room)E-mail: [email protected]

3. Summary of ContentThis module introduces fieldwork as a means of understanding users and developingsystem requirements based on direct observations of user activities. It exploresfieldwork methods, fieldwork data analysis and requirements specification.

4. Weekly Programme

Week No Lecture Topic

1 Requirements Engineering Process (process models, actors in RE)

2 Requirements Engineering Process (process support & improvement)

3 Requirements Elicitation (elicitation process & techniques)

4 Requirements Elicitation (ethnography & fieldworks)

5 Requirements Analysis (prototyping, requirement analysis andnegotiation)

6 Requirements Validation (req. reviews)

7 Requirements Validation (model validation, requirement testing)

8 Requirements Management (stable & volatile requirements)

9 Requirements Management (change management, traceability)

10 Requirements Management (change Management)

11 Group Assignment Presentation

12 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Sommerville,Ian

2011 SoftwareEngineering

9th. Pearson 0-1370-5346-0

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 9: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 9 of 41

G51PRG – Introduction to Programming (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: G51CSA; A: Coursework 100%

2. LecturerChew Sze-Ker (Mr)Contact: 03.89248140 (Office Phone); BB59 (Room)E-mail: [email protected]

3. Summary of ContentYou’ll cover the basic concepts of programming including: problem solving;debugging; elementary programming; functions and procedures; memory andpointers; and data structures. You’ll spend around six hours per week in lectures,computer classes and tutorials. The basic concepts of programming including:problem solving, compiling, editing, debugging, elementary programming,conditionals, loops, functions and procedures, arrays and strings, direct and indirectaccess, memory and pointers, iteration and recursion and data structures.Please note: This is a non-compensatable module.

4. Weekly Programme

Week No Lecture Topic

1 Introduction to C compiler/Getting started with GCC

2 Procedures, Parameters, Values and Variables

3 Operators and Precedence

4 Conditionals and Loops

5 Pointers and scanf()

6 Arrays and Strings

7 String Processing

8 File Input/Output

9 Structures

10 Heap arrays and Linked List

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Vine,Michael A

2009 C programmingfor the absolute

beginner

2nd CengageLearning

1-598-63480-1

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 10: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 10 of 41

G51APS – Algorithmic Problem Solving (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: G51MCS; A: Written Examination 100%

2. LecturerSiang Yew Chong (Dr)Contact: 03-89248148 (Office Phone); BB57 (Room)E-mail: [email protected]

3. Summary of ContentThis module revolves around various problem solving tasks, such as solving logicand other puzzles, and finding winning strategies for simple two-person games.Through this, you will be introduced to problem solving principles, such as formalmathematical modelling of a problem and recursion.

4. Weekly Programme

Week No Lecture Topic

1 Introduction.

2 Invariants.

3 Crossing a River.

4 Games.

5 Knights and Knaves.

6 Induction.

7 Coursework Discussion.

8 Fake-Coin Detection.

9 Towers of Hanoi.

10 Revision.

11 Coursework Discussion.

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 RolandBackhouse

2008 AlgorithmicProblem Solving

2 Paul Zeitz 2007 The Art andCraft of Problem

Solving

2nd John Wileyand Sons

978-0-471-

78901-7

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 11: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 11 of 41

G51UST – UNIX and Software Tools (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: G51PRG; A: Coursework 50%, Written Examination 50%

2. LecturerBen Phear (Mr)Contact: CFFRC Offices; 2nd Floor B BlockEmail: [email protected]

3. Summary of ContentThis module includes the following topics: Basic UNIX usage: windowing systems, file system navigation, text editing,

useful commands (eg. man, mozilla, lpr), environment variables. Unix I/0 and file processing: pipes, redirections, grep and regular expressions,

sed, awk.

Unix shell scripting. Compilers, interpreters, debuggers, documentationsystems with particular reference to programming languages used widely intheSchool's teaching (eg. Java).

Software Engineering Tools: build management systems and version controlsystems. The use of UNIX shell scripting and software tools to create specificbespoke tools and components.

4. Weekly Programme

Week No Lecture Topic

1 Introduction, overview and module contents

2 The UNIX Filestore and File Processing

3 Editing Files and EMACS

4 UNIX Processes and UNIX Network Utilities

5 Searching and Regular Expressions (Regex)

6 Shell Programming and The sed Editor

7 The AWK programming Language

8 Version Control Systems

9 Compilers, Interpreters and Debuggers

10 Make

11 Module Summary and Revision

5. ResourcesThe Internet, Google, UNIX/GNU Main-pages, any book that covers module topiccontent. There is no formal prescribed text for this module.

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 12: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 12 of 41

G52SEM – Software Engineering Methodologies (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51FSE; C: None; A: Coursework 40%, Written Examination 60%

2. LecturerKR Selvaraj (Mr)Contact: 03-89248139 (Office Phone); BB60 (Room)E-mail: [email protected]

3. Summary of ContentThis module is part of the Software Engineering theme. It covers three mainaspects of the software development process in depth: system analysis and design process: the Unified Modelling Language (UML),

Use-Case Analysis (UCA) and Data Flow Diagrams (DFDs). the project management process: essential concepts and techniques in project

management, including Gantt charts, critical path analysis and the ProgramEvaluation and Review Technique (PERT).

software documentation: the practice of good software documentation will bedemonstrated

4. Weekly Programme

Week No Lecture Topic

1 Introduction and Goals, Software Project Management, Vision andScope

2 Use Case Analysis

3 Project Definition, Traditional Project Management

4 Agile teams and Interactive approaches

5 Estimating and Scheduling a project. An overview of prince 2

6 Tools and Infrastructure, Software Development Infrastructure forsuccessful projects

7 Software Testing, TDD and Unit Testing with JUnit

8 Domain Modelling, Project Monitoring

9 Software Design, UML 2.0 as a design specification tool

10 Using design patterns, Achieving loose coupling, Clean code andrefactoring

11 Automated build and test, Producing documentation

12 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title ofBook

Edition Publisher ISBN

1 AndrewStellman

andJenniferGreene

2006 Appliedsoftwareproject

management

1st O'Reilly Media 0-5960-0948-8

2 Cockburn,Alistair

2001 Writingeffective use

cases

1st Addison-Wesley 0-2017-0225-8

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 13: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 13 of 41

G52ADS – Algorithms and Data Structures (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51MCS, G51OOP; C: None; A: Coursework 25%, Written Examination 75%

2. LecturerMak Yoke Lai (Ms)E-mail: [email protected]

3. Summary of ContentThis module introduces you to the basics of how to specify abstract data types anduse them to design programs. You’ll cover the use of mathematical descriptions ofthe computational resources needed to support algorithm design decisions. Theemphasis is upon understanding data structures and algorithms so as to be able toselect them appropriately for solving a given problem. You’ll spend around threehours per week studying for this module in lectures and computer classes.

4. Weekly Programme

Week No Lecture Topic

1 Introduction, overview and module contents

2 Algorithms and analysis, data structures/abstract data types; Sortingmethods I: bubble sort, selection sort and insertion sort

3 Sorting methods II: merge sort and quick sort; Stacks

4 Queues; Recursion

5 Linked list (single and double ended); Graph, DFS and BFS

6 Shortest path algorithms, minimum spanning tree

7 Topological sort; Hash table

8 Heaps, heap sort, priority queue

9 Tree, tree traversal; Binary search tree, balanced binary search treepart 1 (AVL tree)

10 Balanced binary search tree part 2 (Red black tree); Multi-way tree(2,3) and (2,3,4) trees

11 Revision and discussion of past exam papers

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 MichaelT.Goodrichand Roberto

Tamassia

2011 Data Structuresand Algorithms

in Java

5th John Wiley 0-4703-9880-9

2 Shaffer,Clifford A.

2001 A practicalintroduction todata structuresand algorithm

analysis

2nd Prentice Hall 0-1302-8446-7

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 14: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 14 of 41

G52IFR – Introduction to Formal Reasoning (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51FUN, G51MCS; C: None; A: Coursework 50%, Written Examination 50%

2. LecturerMichael Chung (Mr)Contact: 03-89248142 (Office Phone); BB58 (Room)E-mail: [email protected]

3. Summary of ContentThe module introduces methods of formal reasoning relevant for ComputerScientists. It continues and develops further the themes of G51MCS and introducesa mathematical rigorous approach to program construction. The module covers thefollowing areas:

Proofs in propositional logic and predicate logic Classical vs. intuitionistic logic Reasoning about Bool Basic operations on types: Cartesian product, disjoint union and function

space. Natural numbers, primitive recursion and induction Lists, verification of list based programs Inductive representation of syntax trees Introduction to program specification and program correctness.

4. Weekly Programme

Week No Lecture Topic

1 Introduction: Course content, assessment, introduction to Coq

2 Coq Basics, Propositional Logic

3 More Coq, Classical Logic

4 Bool and Predicate Logic

5 General Predicate Logic

6 More Predicate Logic

7 Operations on sets

8 Peano Arithmetic

9 Some Algebra

10 Primitive recursion

11 The omega hotel, diagonalisation

12 Lists

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Bertot, Yves& Castéran,

Pierre

2004 Interactive TheoremProving and

ProgramDevelopment:Coq'Art: TheCalculus ofInductive

Constructions

1st Springer 3-5402-0854-

2

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 15: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 15 of 41

G52APR – Application Programming (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51OOP; C: None; A: Coursework 100%

2. LecturerMichael Chung (Mr)Contact: 03-89248142 (Office Phone); BB58 (Room)E-mail: [email protected]

3. Summary of ContentThis module builds on your basic Java programming knowledge by showing howapplications can be built through the use of various example libraries and Java APIs.Topics may include: GUI programming, threads, networking, data processing andcommon design patterns etc.

4. Weekly Programme

Week No Lecture Topic

1 Introduction

2 & 3 GUI Components

4 & 5 Multithreading

6 & 7 Networking

8 & 9 Accessing Database with JDBC

10 & 11 Web Applications

12 Design Patterns

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title ofBook

Edition Publisher ISBN

1 Deitel & Deitel 2007 Java How toProgram

7th Pearson 0-13-613247-2

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 16: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 16 of 41

G52GUI – Graphical User Interfaces (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51OOP, G52APR; C: None; A: Coursework 100%

2. LecturerChen ZhiYuan (Dr)Contact: 03-89248141 (Office Phone); BB71 (Room)E-mail: [email protected]

3. Summary of ContentThis module will introduce you to programming concepts and structures byconsidering the Java Swing packages in depth. You’ll explore a wide range ofcomponents, and will consider the other APIs, which allows easy incorporation ofhigh-quality 2D graphics, text, and images in applications, and the use ofIntegrated Development Environments (IDEs), which simplify the construction ofgraphical user interfaces.

4. Weekly Programme

Week No Lecture Topic

1 Introduction, overview and module contents

2 JOptionPane dialogs and JFrame

3 Layout and an event

4 Model View Controller (MVC) Architecture

5 Use JUnit in Eclipse to develop the Data Model

6 Link the Data Model and the view together

7 Developing the Data Model using JUnit Test and link it to the View

8 Add the controller class and a first action listener

9 Add the table focus and item listeners

10 Add a JMenuBar, JMenu and JMenuItem

11 Creating the application using JavaFX, using FXML and adding astylesheet.

12 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Dan R. Olsen 2010 BuildingInteractiveSystems

1st CourseTechnology

1-4239-0248-3

No Name ofAuthor(s)

Year ofPublication

Title of Book(Secondary)

Edition Publisher’sName

ISBN

1 Swing Tutorial &JAVA 2D Tutorial

Sun Java

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 17: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 17 of 41

G52IIP – Introduction to Image Processing (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51MCS, G51PRG; C: None; A: Coursework 40%, Written Examination 60%

2. LecturerHo Sooi Hock (Mr)Contact: 03-89248145 (Office Phone); BB65 (Room)E-mail: [email protected]

3. Summary of ContentThis module includes the following topics: overview of image processing and its applications, relations between image

processing and other related fields e.g. computer vision, computer graphics,image analysis and digital photography

fundamentals of digital images, elements of visual perception and human visualsystem, digital image formation and acquisition, colour models and processing

point processing, spatial filtering, image transforms and frequency domainprocessing, edge detection, image segmentation, image coding and compression

4. Weekly Programme

Week No Lecture Topic

1 Introduction, overview and module contents

2 Digital image fundamentals

3 Point and histogram processing

4 Spatial domain image filtering

5 Image sharpening, edge detection and Hough transform

6 Frequency domain & Fourier transform

7 Image filtering in the frequency domain

8 Image segmentation & representation

9 Object representation

10 Image coding and image compression

11 Revision and discussion of past exam papers

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Gonzalez &Woods

2008 Digital ImageProcessing

3rd PrenticeHall

0-13-168728-X

2 Efford 2000 Digital ImageProcessingUsing Java

1st Addison-Wesley

0-20-159623-7

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 18: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 18 of 41

G52PAS – Planning and Search (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C) ; Assessment Details (A)P: G51IAI; C: None; A: Written Examination 100%

2. LecturerSiang Yew Chong (Dr)Contact: 03-89248148 (Office Phone); BB57 (Room)E-mail: [email protected]

3. Summary of ContentYou will be introduced to advanced Artificial Intelligence (AI) techniques forproblem-solving, searching and planning. Topics covered include: local search;classical planning; reasoning about actions; planning under uncertainty; conditionalplanning; planning with time and resources.

4. Weekly Programme

Week No Lecture Topic

1 Introduction to Search.

2 Local Search and Genetic Algorithms

3 Search and SAT, Search with Non-determinism and Partial Observability.

4 Logical Agents.

5 Situation Calculus.

6 Classical Planning.

7 Classical Planning 2 and Partial Order Planning.

8 Classical Planning: GraphPlan, SatPlan.

9 Classical Planning: Planning with Time and Resources.

10 Classical Planning: Hierarchical Planning and Planning in Non-DeterministicDomains.

11 Revision and Coursework Discussion.

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Stuart J.Russell &

Peter Norvig

2010 ArtificialIntelligence :A

ModernApproach

3rd PrenticeHall

0-13-604259-

7

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 19: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 19 of 41

G53GRA – Computer Graphics (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51OOP or G51PRG; C: None; Recommended: G51MCS; A: Coursework 50%;Written Examination 50%

2. LecturerIman Yi Liao (Dr)Contact: 03-87253438 (Office Phone); BB63 (Room)E-mail: [email protected]

3. Summary of ContentThis module is part of the Graphics and Vision theme in the School of ComputerScience. It examines the generation of 3D graphics. The main areas are modelling3D worlds by computer, projecting on to 2D displays and rendering 2D views togive them realism. The course explores various methods and the conflictingrequirements of efficiency and realism.

4. Weekly Programme

Week No Lecture Topic

1 Introduction

2 Math for Graphic Programming

3 Modelling

4 Transformation

5 Viewing

6 Projection

7 Clipping

8 Lighting

9 Texture

10 Coursework Discussion

11 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book(Primary)

Edition Publisher ISBN

1 EdwardAngel &DaveShreiner

2012 InteractiveComputerGraphics: A Top-Down Approachwith Shader-BasedOpenGL

6th Pearson 0-273-75226-X

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 20: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 20 of 41

G53CWO – Computers in the World (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: None; A: Coursework 50%; Written Examination 50%

2. LecturerHo Sooi Hock (Mr) [Co-ordinator for Group Teaching]Contact No: 03-89248145 (Office Phone); BB65 (Room)E-mail: [email protected]

3. Summary of ContentThe module examines the scope of applications of computers and computing in theworld at large from scientific supercomputers, through PCs, tablets, embeddedcomputers, etc. The module covers various topics such as: dependability ofcomputer-based systems and associated risks; legal liability, data protection andintellectual property issues; social and cultural impacts of computing; the portrayalof computers and computing in the popular media and in fiction; ethical issues incomputing; and professional issues including the role of professional bodies.

4. Weekly Programme

Week No Lecture Topic

1 Ubiquity of Computers, New Developments & Rapid Changes

2 Software Safety

3 Computer Crime

4 Privacy

5 Freedom of Speech

6 Intellectual Property Issues

7 Computers in the Workplace

8 Evaluating & Controlling Technologies

9 Professionalism & Ethical Issues

10 Wrap Up & Discussion

11 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title ofBook

Edition Publisher ISBN

1 Sarah Baase 2008 Ethics &Computing

3rd Prentice Hall 0-13-600848-4

2 K. Bowyer 2001 Ethics &Computing

1st Wiley-IEEEPress

0-7803-6019-2

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 21: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 21 of 41

G53SQM – Software Quality Management (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G52SEM; C: None; A: Coursework 40%, Written Examination 60%

2. LecturerChew Sze-Ker (Mr)Contact: 03.89248140 (Office Phone); BB59 (Room)E-mail: [email protected]

3. Summary of ContentThrough a two hour lecture each week, you’ll be introduced to concepts andtechniques for software testing and will be given an insight into the use of artificialand computational intelligence for automated software testing. You’ll also reviewrecent industry trends on software quality assurance and testing.

4. Weekly Programme

Week No Lecture Topic

1 Introduction to SQA/Software Quality Factors

2 Components of SQA Systems

3 Pre-project Software Quality/Integrating quality Activities

4 Agile Development I

5 Agile Development II

6 Configuration Management I

7 Configuration Management II

8 Software Reviews

9 Software Testing Strategies/Implementation

10 Software Metrics

11 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 MalikKamna

2006 Software Quality: apractitioner’s

approach

1st McGrawHill

0-070-24873-

7

2 Tian Jeff 2005 Software QualityEngineering: testing,

quality assuranceand quantifiable

improvement

1st Wiley 0-013-06428-

2

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 22: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 22 of 41

G53CMP – Compilers (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C);Assessment Details (A)P: G51FUN, G52MAL; C: None; A: Coursework 25%, Written Examination 75%

2. LecturerTomas Maul (Dr)Contact: 03-89248232 (Office Phone); BB64 (Room)E-mail: [email protected]

3. Summary of ContentYou’ll examine aspects of language and compiler design by looking at thetechniques and tools that are used to construct compilers for high levelprogramming languages. Topics covered include: parsing; types and type systems;run-time organization; memory management; code generation; and optimization.You’ll spend around four hours each week in lectures and computer classes for thismodule.

4. Weekly Programme

Week No Lecture Topic

1 Administrative Details and Introduction

2 Overview & Lexical Analysis

3 Syntax Analysis 1

4 Syntax Analysis 2

5 Semantic Analysis

6 Intermediate Code Generation 1

7 Intermediate Code Generation 2

8 Run-Time Organization

9 Code Generation

10 Code Optimization

11 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Aho, Lam,Sethi andUllman

2003 Compilers:Principles,

Techniques &Tools

2nd PrenticeHall

0-201-10194-7

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 23: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 23 of 41

G54VIS – Computer Vision (10 Credits) – Autumn 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51OOP or G51PRG; C: None; Recommended: G52IIPA: Written Examination 100%

2. LecturerTomas Maul (Dr)Contact: 03-89248232 (Office Phone); BB64 (Room)E-mail: [email protected]

3. Summary of ContentYou’ll examine current techniques for the extraction of useful information about aphysical situation from individual and sets of images. You’ll cover a range ofmethods and applications, with particular emphasis being placed on theidentification of objects, recovery of three-dimensional shape and motion, and therecognition of events. You’ll spend around three hours a week in lectures andtutorials.

4. Weekly Programme

Week No Lecture Topic

1 Introduction

2 Segmentation as Clustering. Region-based Segmentation.

3 Watersheds. The EM Algorithm.

4 Binocular Stereo. Camera Calibration.

5 Stereo Correspondence. Motion Analysis and Optic Flow.

6 Computing Optic Flow. Issues in Optic Flow.

7 Evaluation: Optic flow and segmentation. Introduction to Tracking.

8 The Kalman Filter. Snakes.

9 Particle Filters and Condensation.

10 Event Detection and Hidden Markov Models.

11 Revision.

5. Resources

No Name ofAuthor(s)

Year ofPublicatio

n

Title of Book Edition Publisher ISBN

1David A.Forsyth &

Jean Ponce2002

ComputerVision: AModern

Approach

1st Prentice Hall0-13-

085198-1

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 24: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 24 of 41

G51FUN – Intro to Functional Programming (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51MCS, G51PRG; C: None; A: Coursework 25%, Written Examination 75%

2. LecturerMichael Chung (Mr)Contact: 03-89248142 (Office Phone); BB58 (Room)E-mail: [email protected]

3. Summary of ContentIn this module, you’ll be taught the basics of functional programming, coveringtopics including: list processing; pattern matching; recursion over lists; algebraicdata types; and higher-order functions.

4. Weekly Programme

Week No Lecture Topic

1 Introduction: Course content, assessment, introduction to functional language,history

2 The Hug system: Hugs, standard prelude, function application, Haskell scripts,naming requirements, layout rule

3 Type Information: Type errors, basic types, list types, tuple types, function types– curried, polymorphic, overloaded, basic classes

4 Defining functions: Conditional expressions, guarded equations, patternmatching, lamda expressions, sections

5 List comprehension: Introduction, dependent generators, guards, zip functions,string comprehensions

6 Recursive functions: Introduction, recursion on lists, multiple arguments

7 Higher order functions: map, filter, foldr, other library functions

8 Interactive programs: Introduction, primitive actions, sequencing actions, otherlibrary actions

9 Functional parsers: Introduction, primitive parsers, sequencing parsers, otherlibrary parsers

10 Defining types: Type declarations, data declarations, recursive types, examples

11 Lazy evaluations: Innermost & outermost evaluations, lambda expressions,termination, number of structures, infinite structures

12 Reasoning about programs

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 GrahamHutton

2007 Programming inHaskell

1st CUP 0-521-69269-5

2 Richard Bird 1988 Introduction toFunctional

Programming usingHaskell

2nd PrenticeHall

0-134-84346-0

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 25: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 25 of 41

G51DBS – Database Systems (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51MCS; C: None; A: Coursework 40%, Written Examination 60%

2. LecturerWai Yee Haw (Ms)E-mail: [email protected]

3. Summary of ContentThis module is part of the Software Engineering theme in the School ComputerScience. It introduces database management systems, the design and use ofdatabase systems. The relational database model and the structured databasequery language (SQL) are covered. Throughout the module students are giveninstruction in the use of a relational database management system. Topics coveredinclude: the relational model; entity-relationship modelling, normalisation, anddatabase security.

4. Weekly Programme

Week No Topics

1 Introduction to Database Systems, The Relational Model

2 Database Models & Relational Database

3 Relational Algebra & Entity Relationship Modelling

4 Normalisation

5 SQL Data Definition

6 More SQL – Data Definition Language (I)

7 More SQL – Data Definition Language (II)

8 Data Administration and Security

9 Database Integrity and Security

10 Object-relational & Object-oriented Databases, XML and databases

11 Good and Bad ‘Modern’ Databases

12 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 ThomasConnolly and

CarolynBegg,

2005 Database Systems -A Practical Approach

to Design,Implementation, and

Management

3rd or4th

Addison-Wesley

0-3212-1025-

5

2 Elmasriand SBNavathe

2004 Fundamentals ofDatabase Systems

3rd or4th

Addison-Wesley

0-3212-0448-

4

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 26: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 26 of 41

G51FSE – Introduction to Software Engineering (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: None; A: Coursework 30%, Written Examination 70%

2. LecturerTimothy Brailsford (Dr)Contact: 03-89248147 (Office Phone); BB70 (Room)E-mail: [email protected]

3. Summary of ContentThis module introduces the concepts of Software Engineering as a discipline and willprovide an overview of the whole software development process. A selection offundamental topics will be covered in depth: Software development methodologies and the software lifecycle, including the

waterfall model, extreme programming etc. Formal requirements and specifications, focusing on how to turn an informal

design brief into a formal specification. Software testing, evaluation and debugging, including practical use of modern

debugging toolkits. Software evolution and maintenance, including version control and collaborative

development systems.

4. Weekly Programme

Week No Lecture Topic

1 Introduction to Object-oriented Software Engineering (OOSE) – Part 1

2 Introduction to Object-oriented Software Engineering (OOSE) – Part 2

3 Introduction to Object-oriented Software Engineering (OOSE) – Part 3

4 Object-orientation (OO)

5 Object-oriented Analysis (OOA)

6 Object-oriented Design (OOD) – Part 1

7 Object-oriented Design (OOD) – Part 2

8 Formal Specification

9 Architectural Design

10 Testing Principles and Managing Software Project – Part 1

11 Testing Principles and Managing Software Project – Part 2Revision and review past examination questions

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 IanSommerville

2006 SoftwareEngineering

8th AddisonWesley

0-3213-1379-9

2 Roger SPressman

2004 SoftwareEngineering: APractitioner's

Approach

6th McGraw-Hill

0-0730-1933-8

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 27: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 27 of 41

G51OOP – Object Oriented Programming (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51PRG; C: None; A: Coursework 100%

2. LecturerChew Sze-Ker (Mr)Contact: 03-89248140 (Office Phone); BB59 (Room)E-mail: [email protected]

3. Summary of ContentSpending two hours in lectures each week until towards the end of the module, youwill study the basic concepts of object-oriented programming and design, including:classes and objects; inheritance; interfaces; polymorphism and class discoverytechniques. Your studies will be supported by practical examples using the Javaprogramming language in a two hour computer class most weeks.Please note: This is a non-compensatable module.

4. Weekly Programme

Week No Lecture Topic

1 Introduction to Objects/Classes

2 Inheritance

3 Polymorphism

4 Event Handling and Exception

5 File Processing

6 Interfaces and Inner Classes

7 Linked Data Structures

8 Graphical User Interfaces I

9 Graphical User Interfaces II

10 Coursework discussions

11 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title ofBook

Edition Publisher ISBN

1 Savitch,Walter J

2004 Absolute Java 4th Pearson 0-3212-0567-7

2 Bishop J.M. 2001 Java Gently 3rd AddisonWesley

0-2017-1050-1

3 Deitel, Paul J 2007 Java: How toProgram

7th Pearson 0-1361-3247-2

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 28: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 28 of 41

G51IAI – Introduction to Artificial Intelligence (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: None; A: Written Examination 100%

2. LecturerHo Sooi Hock (Mr)Contact No: 03-89248145 (Office Phone); BB65 (Room)E-mail: [email protected]

3. Summary of ContentThis module aims to: give a broad overview of the fundamental theories and techniques of AI a peek into the history of AI and the key milestones, e.g. Turing Test and the

Chinese Room, MYCIN etc. provide the student with the necessary knowledge to allow them to implement

common AI search techniques introduce game playing and describe some of the techniques that are applicable

in this area (e.g. mini-max, alpha-beta pruning) review the principles of neural networks in general and perceptron learning.

4. Weekly Programme

Week No Lecture Topic

1 Introduction, overview and module contents

2 Reasons for AI; History of AI; Philosophy of AI

3 Problem formulation

4 Uninformed search – BFS, DFS, UCS, DLS, IDS

5 Heuristic search techniques – BFS, GFS and A*

6 Tutorials on search techniques; Discussion on courseworks

7 Game playing techniques

8 Introduction to neural networks

9 Constraint satisfaction problems

10 Knowledge representations

11 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 S. J. Russell &Peter Norvig

2010 AI :A ModernApproach

3rd Prentice Hall 0-13-604259

-7

2 George F Luger 2008 AI:Structuresand strategiesfor Complex

Problem Solving

6th AddisonWesley

0-321-54589-

3

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 29: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 29 of 41

G51WPS – Web Programming and Scripting (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51PRG; C: None; A: Coursework 50%, Written Examination 50%

2. LecturerBen Phear (Mr)Contact: CFFRC Offices; 2nd Floor B BlockE-mail: [email protected]

3. Summary of ContentThis course will introduce a broad spectrum of web programming technologies. Itwill begin with an overview of how the Internet and the Web work, includingfundamentals such as the client-server paradigm, URLs, MIME types and HTTP.Then client side technologies will be studied (HTML, CSS, Java Script, and XML),followed by an introduction to server side technologies (such as Perl and CGI, JSP,ASP.NET, PHP) with an emphasis on PHP. Guidelines for Web design and usability,and case studies will also be provided.

4. Weekly Programme

Week No Lecture Topic

1 Introduction, overview and module contents

2 Computer Communications and Networks, and TCP/IP

3 Web browsers, servers, and HTTP

4 HTML

5 Cascading Style Sheets (CSS)

6 Javascript

7 Server-side Interaction

8 PHP

9 Web Usability

10 XML

11 Web Application Frameworks and Module Summary and Revision

5. Resources

The Internet, Google, UNIX/GNU Main-pages, any book that covers module topiccontent. There is no formal prescribed text for this module.

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 30: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 30 of 41

G52CCN – Comp Communications and Networks (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51MCS; C: None; A: Written Examination 100%

2. LecturerKR Selvaraj (Mr)Contact: 03-89248139 (Office Phone); BB60 (Room)E-mail: [email protected]

3. Summary of ContentThis module is part of the Net-Centric Computing theme in the School of ComputerScience. This module will give you an overview of technologies including datatransmission techniques, Local Area Networks, Wide Area Networks, networksecurity, and network applications. You’ll pay particular attention to the internetenvironment and TCP/IP protocols. You’ll spend around two hours each week inlectures for this module.

4. Weekly Programme

Week No Topics

1 - 3 Part 1: Data Transmission1. Introduction, Transmission media2. Local asynchronous communication and RS-2323. Long distance communication (carriers and modems)

4 - 6 Part 2: Packet Transmission5. Packets, frames and error detection6. Local Area Networks7. Hardware addressing and frame types8. LAN wiring and physical topology9. Extending LANs10.WAN technologies and routing11. Ownership, service and performance

7 - 8 Part 3: Internetworking12. Protocols and layering13. Internetworking - concepts14. IP addressing15. IP datagrams16. Future IP17. Transport Control Protocol (TCP)

9 - 10 Part 4 : Introduction to Computer and Network Security

11 - 12 Part 5: Applications18. Client-Server Interaction19. The Socket API20. Example applications21. Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Douglas E.Comer

2004 ComputerNetworks and

Internets

4th PrenticeHall

0-1312-3627-X

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 31: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 31 of 41

G52CON – Concepts of Concurrency (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51MCS, G51OOP; C: None; A: Written Examination 100%

2. LecturerAbdur Rakib (Dr)Contact: 03-89248137 (Office Phone); BB72 (Room)E-mail: [email protected]

3. Summary of ContentThis module introduces the basic principles of concurrent programming and theiruse in designing computer programs. It covers concurrency primitives for sharedmemory and distributed implementations of concurrency, the correctness ofconcurrent algorithms, and concurrent programming in Java. Building on thesebasic principles, it explains how concurrency primitives and algorithms can be usedto solve some common problems in concurrent programming, e.g., the producer-consumer problem, the readers and writers problem, client server problems etc.Topics include: hardware support for concurrency, mutual exclusion and conditionalsynchronisation, semaphores, monitors, RPC and rendezvous, safety and livenessproperties of concurrent algorithms, proving properties using assertional reasoningand model checking, and the use of Java threads, synchronized methods, andmonitors.

4. Weekly Programme

Week No Lecture Topic

1 Introduction, overview and module contents

2 Operating System Processes

3 Processes & Threads

4 Inter-process Communication and Synchronisation

5 Critical Sections and Atomic Actions

6 Mutual Exclusion Algorithms

7 Semaphores

8 Monitors

9 Monitors in Java

10 Syncronization in Java

11 Message Passing, Remote Invocation

12 Proving Correctness, Model Checking

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Andrews 2000 Foundations ofMultithreaded,

Parallel andDistributed

Programming

1st Addison-Wesley

0-2013-5752-

6

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 32: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 32 of 41

G52MAL – Machines and their Languages (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51FUN, G51MCS, G51PRG; C: None;A: Coursework 25%, Written Examination 75%

2. LecturerTomas Maul (Dr)Contact: 03-89248232 (Office Phone); BB64 (Room)E-mail: [email protected]

3. Summary of ContentYou’ll investigate classes of formal language and the practical uses of this theory,applying this to a series of abstract machines. You’ll focus in particular on languagerecognition, but will study a range of topics including: finite state machines; regularexpressions; context-free grammars; and Turing machines. You’ll spend around twohours per week in lectures studying for this module.

4. Weekly Programme

Week No Lecture Topic

1 Introduction, overview and module contents

2 Alphabets, words and languages.

3Automata Theory; Deterministic and Non-deterministic FiniteAutomata (DFAs and NFAs).

4 NFA & DFA equivalence and other matters.

5 Regular Expressions.

6 DFA Minimization and Proving Languages to be Not Regular.

7 Pushdown Automata (PDA).

8 Context-free Grammars (CFG).

9 PDAs, CFGs and Derivation trees.

10 Disambiguation and Parsing.

11 Context-sensitive grammars, Turing machines and Decidability.

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 John Hop Croft,Rajeev Motwani,Jeffrey.D.Ullman

2007 Introduction toAutomataTheory,

Languages andcomputation

3rd AddisonWesley

0-3214-7617-

4

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 33: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 33 of 41

G52CPP – C++ Programming (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51PRG, G51OOP; C: None; A: Coursework 40%, Written Examination 60%

2. LecturerMichael Chung (Mr)Contact: 03-89248142 (Office Phone); BB58 (Room)E-mail: [email protected]

3. Summary of ContentThe course will cover programming material and concepts necessary to obtain athorough understanding of the C++ programming language.

4. Weekly Programme

Week No Lecture Topic

1 Introduction

2 Introduction to Classes and Objects

3 Classes

4 Classes (cont.)

5 Operator overloading

6 Inheritance in C++

7 Polymorphism in C++

8 Templates

9 Stream Input/Output, Class String

10 Exception Handling

11 File Processing

12 STL

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title ofBook

Edition Publisher ISBN

1 Deitel & Deitel 2008 C++ How toProgram

6th Pearson 0-13242701-

X

6. Web Linkhttp://moodle.nottingham.ac.uk/

School of Computer Science

Page 34: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 34 of 41

G52HCI – Human Computer Interaction (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: None; A: Coursework 100%

2. LecturerChen ZhiYuan (Dr)Contact: 03-89248141 (Office Phone); BB71 (Room)E-mail: [email protected]

3. Summary of ContentThis module is part of the Human-Computer Interaction theme in the School ofComputer Science.The module provides an overview of the field of Human Computer Interaction,which aims to understand people's interaction with technology and to apply thisknowledge in the design of usable interactive computer systems. The module willintroduce the concept of usability, examine different design approaches andevaluation methods and illustrate the principles through an exploration of a numberof case studies.

4. Weekly Programme

Week No Lecture Topic

1 Introduction, overview and module contents

2 Understanding Users - The Cognitive Perspective

3 Understanding users - Ethnography

4 Understanding users - Organisational Context

5 Understanding Users – Art and Design Perspective

6 Requirements

7 Designing GUIs

8 Participatory design and prototyping

9 Evaluating Interfaces

10 The Future of the Interface

11 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 HelenSharp,Yvonne

Rogers &JennyPreece

2007 InteractionDesign: Beyond

HumanComputerInteraction

2nd Wiley 0-4700-1866-6

2 BenSchneiderm

an &CatherinePlaisan

2010 Designing theUser Interface:Strategies for

Effective Human-ComputerInteraction

5th Addison-Wesley

0-3215-3735-1

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 35: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 35 of 41

G52APT – AI Programming Techniques (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G51PRG, G52PAS; C: None; A: Coursework 25%, Written Examination 75%

2. LecturerChew Sze-Ker (Mr) (Co teach with Chong Siang Yew (Dr))Contact: 03.89248140 (Office Phone); BB59 (Room)E-mail: [email protected]

3. Summary of ContentThis module introduces you to basic Artificial Intelligence (AI) programmingtechniques and explains how these can be used to solve typical AI problems. Wewill cover various modern AI algorithms; lists and other data structures; and AIprogramming patterns. You’ll spend around four hours per week in lectures andcomputer classes studying for this module.

4. Weekly Programme

Week No Lecture Topic

1 Introduction, Prolog syntax

2 Prolog execution, Recursive programs

3 Lists

4 Backtracking, second order programming

5 Depth first search, iterative deepening search

6 Breadth first search, state representation

7 Non-path problems, forward planning

8 Regression planning, further regression

9 Partial order planning

10 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Bratko, Ivan 2012 PrologProgramming for

ArtificialIntelligence

4th Prentice Hall 9-7803214174

66

2 Sterling &Shapiro

1994 The Art of Prolog 2nd MIT Press 0-2621-9338-8

3 Russell &Norvig

2010 ArtificialIntelligence: A

Modern Approach

3rd Pearson 0-1320-7148-7

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 36: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 36 of 41

G53OPS – Operating Systems (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: 51PRG, G52CON; C: None; A: Written Examination 100%

2. LecturerKR Selvaraj (Mr)Contact: 03-89248139 (Office Phone); BB60 (Room)E-mail: [email protected]

3. Summary of ContentThis module is part of the Operating Systems and Architecture theme in the Schoolof Computer Science. It covers the fundamental principles that underpin operatingsystems. Topics that are covered include the architecture of operating systems,process management and memory management, storage, and security. This coursehas two hours of lectures per week and will provide you with a broad overview ofoperating systems, helping you to better understand their functionality and thehardware abstractions and services that they provide to application programs.

4. Weekly Programme

Week No Lecture Topics

1 Introduction and background

2 Memory Management Part I

3 Memory Management Part II

4 Memory Management Part III

5 Processes Scheduling Part I

6 Processes Scheduling Part II

7 Processes Scheduling Part III

8 File Systems Part I

9 File Systems Part II

10 Input/output processes Part I

11 Input/output processes Part II

12 Summary and Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title ofBook

Edition Publisher ISBN

1 Andrew S.Tanenbaum

2001 ModernOperatingSystems

2nd PrenticeHall

0-13-031-358-0

2 AbrahamSilberschatz andPeter Galvin and

Greg Gagne

2003 OperatingSystem

Concepts

6th John Wiley&

sons

0-471-26272-2

3 AbrahamSilberschatz andPeter Galvin and

Greg Gagne

2003 AppliedOperatingSystem

Concepts

1st John Wiley&

sons

0-471-263-14-

1

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 37: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 37 of 41

G53ELC – Enterprise Level Computing (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G52CCN, G51DBS, G51OOP; C: None; A: Written Examination 100%

2. LecturerChen ZhiYuan (Dr)Contact: 03-89248141 (Office Phone); BB71 (Room)E-mail: [email protected]

3. Summary of ContentThis module is part of the Net-Centric Computing theme in the School of ComputerScience. It provides an overview of more advanced Web architectures andtechnologies. In particular it will cover the development of web services through theuse of standards such as XML, SOAP, WSDL and UDDI and consider how webservices can be used to implement a Service Oriented Architecture (SOA). Thismodule explains how modern enterprises construct computer applications that aredistributed over an intranet using a variety of servers and clients. Multi-tieredarchitectures using state-of-the-art distributed system technologies will be coveredin a context of object-oriented design and implementation as distributedcomponents.

4. Weekly Programme

Week No Lecture Topic

1 Introduction, overview and module contents

2 Why use Object-Oriented Systems?

3 Web Services

4 Client Choices

5 Software Patterns and Enterprise Architectures

6 Enterprise Authentication Patterns

7 Domain and Entity Modelling

8 Persistence Layer and ORMs

9 MOM and JMS

10 Presentation Layer

11 Virtualization Layer

12 Cloud Computing

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Farley, Jim 2002 Java enterprisein a nutshell

3rd O’Reilly 0-5961-0142-

2

2 Chu-Carroll,Mark C.

2011 Code in thecloud

1st PragmaticBookshelf

9-7819343566

30

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 38: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 38 of 41

G53SEC – Computer Security (10 Credits) – Spring 2013-2014

1. Pre-requisites & Co-requisites; Assessment DetailsP: G52CCN or equivalent knowledge of computer networks; C: None;A: Coursework 40%, Written Examination 60%

2. LecturerTBA

3. Summary of ContentThe module covers the following topics: access control, reference monitors, securitymodels, cryptography, cryptanalysis, network security and software security.

4. Weekly Programme

Week No Lecture Topic

1 Introduction & Overview

2 Foundations of Computer Security

3 Access Control

4 Reference Monitors

5 Security Models

6 Other Security Models

7 Cryptography 1

8 Cryptography 2

9 Network Security

10 Software Security

11 Student Presentations & Discussions

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 DieterGollmann

2006 ComputerSecurity

2nd John Wiley 0-4708-6293-

9

2 RossAnderson

2008 SecurityEngineering

2nd Prentice-Hall 0-4700-6852-

3

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 39: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 39 of 41

G53NMD – New Media Design (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: None; A: Coursework-1 25%, Coursework-2 75%

2. LecturerTimothy Brailsford (Dr)Contact: 03-89248147 (Office Phone); BB70 (Room)E-mail: [email protected]

3. Summary of ContentThis module aims to:

Provide a sound understanding of wide range of concepts, methods andtechniques of Operational Research and Artificial Intelligence that can help indesign of intelligent decision support systems.

Present state-of-the-art of both advanced Operational Research and ArtificialIntelligence methods including multi-criteria decision making, decision making inthe presence of uncertainty, case-based reasoning, etc.Present a variety of examples from industrial and service sectors.

4. Weekly Programme

Week No Lecture Topic

1 Introduction to Multimedia

2 Multimedia Authoring Systems; Interaction and Methaphor in MultimediaDesign

3 Graphics and Still Images Representation; Colour Science and ColorModels

4 Hypertext

5 Media Design: Text, Images, and Sound

6 Scalable Vector Graphics

7 Digital Audio

8 Architecture of Multimedia Systems

9 Synchronized Multimedia Integration Language

10 Digital Video

11 Intellectual Property Rights; Narrative

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Barfield, L 2004 Design for NewMedia:

Interactiondesign for

multimedia andthe web

1st PearsonAddison-Wesley

978-0201596090

2 Li, Z. &Drew,M.

2004 Fundamentals ofMultimedia

- PearsonPrentice-

Hall

978-0130618726

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 40: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 40 of 41

G54ACC – Advanced Computer Communications (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: G52CCN or equivalent; C: None; A: Written Examination 100%

2. LecturerHo Sooi Hock (Mr)Contact No: 03-89248145 (Office Phone); BB65 (Room)E-mail: [email protected]

3. Summary of ContentThe course gives a basic understanding of network-related initialization and theoperation of the main Internet protocols. It gives an insight into the servicedefinition and protocols of the most important network applications services. Itconsiders basic network architectures such as the client-server model and the morecomplex distributed systems. Introduction to technologies includes p2p andwireless networking.

4. Weekly Programme

WeekNo

LectureTopic

1 Introduction, Overview & Module Contents

2 IP Subnetting & supernetting; IP Address Depletion

3 Network Auto-configuration; Fragmentation

4 Transport layer protocol and socket programming

5 UDP/TCP comparison; Flow & Congestion Control

6 Advanced Congestion Control

7 IP Multicasting

8 Distributed Systems & Middleware

9 P2P systems

10 Wireless Communications

11 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Kurose &Ross

2013 ComputerNetworking: A

Top DownApproach

Featuring theInternet

6th Addison-Wesley

0-13-285620-

4

2 Tannenbaum 2011 ComputerNetworks

5th PrenticeHall

0-13-212695-

3

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science

Page 41: School of Computer Science - Nottingham€¦ · Computer Communications and Networks G52CCN 2 Concepts of Concurrency G52CON 2 Machines and their Languages G52MAL 2 C++ Programming

Page 41 of 41

G54SIM – Simulation for Computer Scientists (10 Credits) – Spring 2013-2014

1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A)P: None; C: None; A: Coursework 100%

2. LecturerChris Roadknight (Dr)Contact: 03-87253440 (Office Phone); BB72 (Room)E-mail: [email protected]

3. Summary of ContentThis module is part of the Modelling and Optimisation theme in the School ofComputer Science. This module introduces you to three broad simulation paradigmscommonly used in Operations Research and Management Science: SystemDynamics, Discrete Event, and Agent-Based. Covering topics such as theintroduction to the principles of modelling and simulation, conceptual modelling,model implementation, input modelling and output analysis, you will becomecompetent in choosing and implementing the correct method for your particularproblem.

4. Weekly Programme

Week No Lecture Topic

1 Introduction to simulation

2 General principles of simulation

3 Modelling paradigms

4 Simulation paradigms

5 Generating random numbers

6 Input modelling

7 Output data analysis

8 Experimental design and sensitivity analysis

9 Case studies

10 Revision

5. Resources

No Name ofAuthor(s)

Year ofPublication

Title of Book Edition Publisher ISBN

1 Gilbert, G.Nigel

2005 Simulation forthe socialscientist

2nd OpenUniversity

Press

9-78033

5-21600

0

2 Robinson,Stewart

2004 Simulation : thepractice of

modeldevelopment

and use

1st John Wiley 9-78047

0-84772

5

6. Web Linkhttp://moodle.nottingham.ac.uk

School of Computer Science