Download MODULE SPECIFICATION Template Guidance

Document related concepts

Computer Go wikipedia , lookup

Wizard of Oz experiment wikipedia , lookup

Ecological interface design wikipedia , lookup

Computer vision wikipedia , lookup

Knowledge representation and reasoning wikipedia , lookup

Human-Computer Interaction Institute wikipedia , lookup

Self-reconfiguring modular robot wikipedia , lookup

Transcript
School of Computer Science
UNDERGRADUATE COMPUTER SCIENCE MODULES FOR 2011-2012
Full Year
Module
Software Engineering Group Project
Individual Dissertation Single/Joint Honours
Module Code
G52GRP
G53IDS/J/Y
Level
2
3
Autumn Semester
Module
Computer Systems Architecture
Mathematics for Computer Science
Requirements Engineering
Programming
Algorithmic Problem Solving
Unix and Software Tools
Software Engineering Methodologies
Algorithms and Data Structures
Introduction to Formal Reasoning
Application Programming
Graphical User Interfaces
Introduction to Image Processing
Computer Vision
Module Code
G51CSA
G51MCS
G51REQ
G51PRG
G51APS
G51UST
G52SEM
G52ADS
G52IFR
G52APR
G52GUI
G52IIP
G53VIS
Level
1
1
1
1
1
1
2
2
2
2
2
2
3
System and Real-Time Programming
G53SRP
3
Software Quality Management
G53SQM
3
Compilers
G53CMP
3
Simulation for Computer Scientists
G54SIM
4
Page 1 of 2
Spring Semester
Module
Functional Programming
Database Systems
Foundations of Software Engineering
Object-Oriented Programming
Introduction to Artificial Intelligence
Web Programming and Scripting
Computer Communications and Networks
Concepts of Concurrency
Machines and their Languages
C++ Programming
Human Computer Interaction
Operating Systems
Enterprise Level Computing
Computer Security
New Media Design
Decision Support Methodologies
Advanced Computer Communications
Module Code
G51FUN
G51DBS
G51FSE
G51OOP
G51IAI
G51WPS
G52CCN
G52CON
G52MAL
G52CPP
G52HCI
G53OPS
G53ELC
G53SEC
G53NMD
G53DSM
G54ACC
Level
1
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
4
Notes:
1. Modules offered in any semester are subjected to change as they depend on staff
availability and enrollments from sufficient number of students.
2. The descriptions of the offered modules are current as and when this document is
prepared but they may be subjected to modifications and additions by the module
convenor.
3. Students may take modules offered by other Schools provided appropriate
approval has been obtained from the Course Director of the School of Computer
Science and the module convenor of the offering School, and subjected to the
condition that you have met the prerequisites and corequisites of the selected
module. A maximum of 20 credits of such modules can be taken in one academic
year.
4. Descriptions of module not included in this document and other non-Computer
Science modules can be reviewed at Nottingham’s Module Catalogue web site:
http://modulecatalogue.nottingham.ac.uk/nottingham/asp/main_search.asp
Page 2 of 70
MODULE OUTLINE
AUTUMN 2010-2011
1.
Module Code
G51CSA
2.
Title of Module
Computer Systems Architecture
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
G51PRG Programming
8.
Lecturer
Mr KR. Selvaraj
Contact No: 03-8924-8139
Room No:
BB-60
E-mail:
[email protected]
9.
Summary of Content
The module aims to:
 give a broad understanding of the internal operation and structure of a modern
PC or workstation;
 show how a computer is built up from a relatively simple digital circuit by
successive elaboration to form a number of logical layers of functionality;
 show that hardware and software are often equivalent in this context;
 allow the students to appreciate the typical facilities and mechanisms
underlying the operation of various high-level programming operations and
facilities;
 allow the students to appreciate the key conceptual steps underlying the
evolution or realisation of a conventional stored-program digital computer.
10. Learning Outcomes
Knowledge and Understanding
 Ability to understand simple assembly language programs and the major
components (especially hardware) which make up a computer system.
Professional Skills
 To be able to program in assembly language.
Page 3 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
12
Lecture
Topics
Introduction & Concepts including Computer Evolution, performance & levels
of abstraction, and von Neumann architecture.
Data and Program Representation I , Introduction to SPIM
Data and Program Representation II; MIPS 32, Arithmetic, and System I/O.
Computer Systems Organization
Addressing modes and formats
Binary Arithmetic operations, Assembly Language
Instruction set and formats
Memory Systems. MIPS Procedure calling conventions and recursion.
Interrupts, Exception and I/O
CPU and Computer Architecture including Instruction Pipelining, Caching,
Parallel Architecture.
RISC- CISC Architecture
Revision
12. Assessment details
25% Coursework; 75% Written Examination
13. Resources
Suggested primary texts
No
Name of
Author(s)
1
David A.
Patterson, John
L. Hennessy ;
with a
contribution by
Peter J.
Ashenden,
James R. Larus,
Daniel J. Sorin,,
Year of
Publicati
on
2009
Title of Book
Edition
Publisher’s
Name
ISBN
Computer
organization and
design : the
hardware/softw
are interface
3rd or
4th ed.
Elsevier/Morgan
Kaufmann,
9780123744937
Title of Book
Edition
Essentials of
Computer
Architecture;
Computer
Systems
Architecture;
Computer
Organization &
Architecture
3rd or
4th
ed.
3rd
ed.
Publisher’s
Name
Prentice Hall
Suggested secondary texts
No
Name of
Author(s)
Douglas E.
Comer
Year of
Publication
2005
2.
M. Morris
Mano
1993
3.
William
Stallings
1
2003
6th
ed.
ISBN
0131964267
PHI, Englewood
Cliffs, N.J.
Prentice Hall
0131757385
Prentice Hall
0130493074
14. Web Link
http://sepang.nottingham.edu.my/~krselvaraj
Page 4 of 70
1.
Module Code
G51MCS
2.
Title of Module
Mathematics for Computer Scientists
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Tomas Maul (Dr)
Contact No: 03-89248232
Room No:
BB64
E-mail:
[email protected]
9.
Summary of Content
The module covers mathematical concepts relevant to computer science:
 Boolean algebra: truth tables, propositional calculus.
 Simple number theory: inequalities, floor and ceiling function, greatest
common divisor, modulo arithmetic. Elementary combinatorics.
 Sets, functions and relations: union, intersection, complementation of sets.
Bijections and surjections. Ordering relations. Hasse diagrams.
 Quantifiers. Sum and product. Universal and existential quantification (at
this stage, understanding of meaning of quantified expressions only).
 Simple induction on natural numbers (linked to recursion in G51APS).
10. Learning Outcomes
Knowledge and Understanding
 Understanding of basic mathematical concepts, definitions and notation.
Intellectual Skills
 The ability to understand and apply simple logical reasoning.
Professional and Transferable Skills

The ability to evaluate available mathematical techniques and select those
appropriate to a given problem.
Page 5 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction to the module. Some puzzles and games.
Propositional Logic.
Double Negation Elimination and Excluded Middle. Introduction
to truth tables. Boolean Algebra.
Number systems, order, floor, ceiling. Divisibility, quotient and
remainder.
Recursive Definitions. Euclid's Algorithm, Summations.
Induction. Summary of Arithmetics.
Sets and Functions 1
Sets and Functions 2
Quantifiers and finite sets. The pigeonhole principle, binomial
coefficients.
Pascal's Triangle and Hilbert's Hotel. Modular Arithmetic.
Revision.
12. Assessment details
Coursework 25%; Written Examination 75%.
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Norman L.
Biggs
Year of
Publication
2003
Title of Book
Discrete
Mathematics
Edition
2nd
Publisher’s
Name
Oxford
University
Press
ISBN
0198507178
Suggested secondary texts
No
1
Name of
Author(s)
Douglas
E.
Ensley & J.
Winston
Crawley
Year of
Publication
2005
Title of Book
Edition
Discrete
Mathematics:
Mathematical
Reasoning
and
Proof
with Puzzles,
Patterns, and
Games.
1st
Publisher’s
Name
Wiley
ISBN
0471476021
14. Web Link
http://baggins.nottingham.edu.my/~kcztm/TeachG51MCS.html
Page 6 of 70
1.
Module Code
G51REQ
2.
Title of Module
Requirements Engineering
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
None
8.
Lecturer
TBA
Contact No:
Room No:
E-mail:
9.
TBA
TBA
TBA
Summary of Content
This module introduces fieldwork as a means of understanding users and developing
system requirements based on direct observations of user activities. It explores
fieldwork methods, fieldwork data analysis and requirements specification.
10. Learning Outcomes
Knowledge and Understanding
 Understanding of fieldwork approach and requirements specification.
Intellectual Skills
 Ability to conduct fieldwork, analyse findings and develop system requirements
based on observations and analysis.
Professional Skills
 Ability to understand users and communicate with members of the design team.
Transferable Skills
 Enhanced skills in report writing, presentation planning, preparation, delivery
and critical reflection
11. Weekly Programme
TBD
12. Assessment details
2 courseworks each worth 50%
13. Resources
TBA
14. Web Link
TBA
Page 7 of 70
1.
Module Code
G51PRG
2.
Title of Module
Programming
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
G51CSA Computer Systems Architecture
8.
Lecturer
Chew Sze-Ker (Mr)
Contact No: 03-89248140
Room No:
BB72
E-mail:
[email protected]
9.
Summary of Content
This module is part of the Programming theme in the School of Computer Science.
The basic concepts of programming including: problem solving, compiling, editing,
debugging, elementary programming, conditionals, loops, functions and procedures,
arrays and strings, direct and indirect access, memory and pointers, iteration and
recursion and data structures. These concepts will be illustrated by practical
example in a suitable language.
 Please note: This is a non-compensatable module.
10. Learning Outcomes
Knowledge and Understanding
 Understanding of the theory and practice of procedural and object-oriented
programming.
Intellectual Skills
 Understand and logically evaluate program requirements and specifictions.
Understand the complex ideas of programming solutions and relate them to
particular problems.
Professional Skills
 The ability to write procedural programs.
Transferable Skills
 The ability to solve problems using programming including mathematical
probems, to schedule and present their work and to retrieve additional learning
material.
Page 8 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
Lecture
Topic
Introduction to C compiler/Getting started with GCC
Procedures, Parameters, Values and Variables
Operators and Precedence
Conditionals and Loops
Pointers and scanf()
Arrays and Strings
String Processing
File Input/Output
Structures
Heap arrays and Linked List
12. Assessment details
100% Weekly continuous assessments
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Vine,
Michael A
Year of
Publication
2009
Title of Book
Edition
C programming for
the
absolute
beginner
2nd
Publisher’s
Name
Cengage
Learning
ISBN
1-59863480-1
Suggested secondary texts
No
1
Name of
Author(s)
Kanetkar,
Yashavant
P
Year of
Publication
2008
Title of Book
Let us C
Edition
8th
Publisher’s
Name
McGraw
Hill
ISBN
9781934015254
14. Web Link
http://moodle.nottingham.ac.uk
Page 9 of 70
1.
Module Code
G51APS
2.
Title of Module
Algorithmic Problem Solving
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
G51MCS Mathematics for Computer Scientists
8.
Lecturer
Dr. Siang Yew Chong
Contact No: 03-89248148
Room No:
BB57
E-mail:
[email protected]
9.
Summary of Content
This module is based around two topics: (a) solving logic and other puzzles and (b)
finding winning strategies for simple two-person games. Problem solving principles
introduced are formal mathematical modelling of a problem (using elements of logic
and graph theory), invariants and recursion and development of some algebraic
manipulation skills.
10. Learning Outcomes
Knowledge and Understanding
 How to approach novel problems and formulate a plan for their solution.
Intellectual Skills
 The art of effective reasoning
 Problem decomposition.
 Avoidance of case analysis.
 What to name and what not to name.
Professional Skills
 Problem analysis.
 Ability to identify and communicate relevant information.
Transferable Skills
 The art of effective reasoning, supporting, in particular, formulation and solution
of programming problems in sound mathematical terms.
Page 10 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction.
Invariants.
Crossing a River.
Games.
Knights and Knaves.
Induction.
Coursework Discussion.
Fake-Coin Detection.
Towers of Hanoi.
Revision.
Coursework Discussion.
12. Assessment details
Written Examination 100%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Roland
Backhouse
Year of
Publication
2008
Title of Book
Edition
Publisher’s
Name
ISBN
Algorithmic
Problem Solving
Suggested secondary texts
No
Name of
Author(s)
Paul Zeitz
Year of
Publication
2007
2
Roland
Backhouse
2003
3
George
Polya
1973
4
Zbigniew
Michalewicz
and
Matthew
Michalewicz
2008
1
Title of Book
Edition
Publisher’s
Name
John Wiley
and Sons
ISBN
978-0-47178901-7
The Art and Craft
of Problem Solving
2nd
Program
Construction:
Calculating
Implementations
from Specifications
How to Solve It: A
New
Aspect
of
Mathematical
Method
Puzzle-based
Learning:
Introduction
to
critical
thinking,
mathematics, and
problem solving
1st
John Wiley
and Sons
978-0-47084882-1
2nd
Princeton
University
Press
978-0-69108097-0
1st
Hybrid
Publishers
978-1-87646263-5
14. Web Link
http://baggins.nottingham.edu.my/~khczcsy/G51APS/G51APS.html
Page 11 of 70
1.
Module Code
G51UST
2.
Title of Module
UNIX Software Tools
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
G51PRG (Programming)
8.
Lecturer
Wang Wei
Contact No:
Room No:
E-mail:
9.
03-89248721
BB63
[email protected]
Summary of Content
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, documentation systems with
particular reference to programming languages used widely in the School's teaching
(eg. Java). Software Engineering Tools: build management systems and version
control systems. The use of UNIX shell scripting and software tools to create
specific bespoke tools and components.
10. Learning Outcomes
Knowledge and Understanding
The theory of programming in a scripting language. The practice of programming.
The strengths and weaknesses of software tools.
Intellectual Skills
Understand complex ideas and relate them to specific problems or questions.
Professional Skills
Write programs. The ability to evaluate available tools and select those that are fit
for purpose within a given domain/scenario. The ability to work effectively and
ethically with others, in particular in the use of version managment tools.
Transferable Skills
The ability to solve problems. The ability to use appropriate tools to work
productively in a collaborative environment.
11. Weekly Programme
Page 12 of 70
Week
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Lecture
Topic
Introduction
The Unix Filestore
Unix File Processing
Editing Files and Emacs
Processes
Searching and Regular Expressions
Unix Network Utilities
Shell Programming
The Sed Editor and Advanced Sed
The Awk Programming Language and More Advanced Awk
Version Control and CVS
Compilers, Interpreters and Debuggers
UNIX Make
Review
12. Assessment details
1.5 hours written exam (75%) + coursework 25%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Arnold Robbins
Year of
Publication
Title of Book
UNIX
in
Nutshell
Edition
a
Publisher’s
Name
O’Reilly
ISBN
Suggested secondary texts
No
1
2
Name of
Author(s)
Behrouz A.
Forouzan,
Richard F.
Gilberg
Graham Glass
and King Ables
3
Randal K.
Michael
4
Amir Afzal.
Year of
Publication
Title of Book
Edition
Publisher’s
Name
ISBN
3rd
Prentice Hall
5th
Prentice Hall
UNIX and Shell
programming: a
textbook
2003
Unix
for
Programmers
and Users
Mastering Unix
shell scripting
2008
Unix
Unbounded,
Beginning
Approach
A
14. Web Link
http://baggins.nottingham.edu.my/~wangwei/teaching/G51UST.php
Page 13 of 70
1.
Module Code
G52GRP
2.
Title of Module
Software Engineering Group Project.
3.
Number of credits
20
4.
Level
2
5.
Semester in which module is taught and Assessment Period
Semester
Assessment
Full Year
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
None
8.
Lecturer
V. P. Kallimani (Mr)
Contact No: 03-89248141
Room No:
BB59
E-mail:
[email protected]
9.
Summary of Content
Students will be divided up into groups of around five or six students, and assigned
a member of staff as their supervisor. Each supervisor will provide their group with
a short written description of a computer application to be designed, programmed,
and documented during the course of the module. Each group will have two
meetings per week, one with their supervisor present, and one without. A couple of
introductory lectures will also be given.
10. Learning Outcomes
Knowledge and Understanding
 Group projects may address topics in any area of the curriculum and so may
address any of the knowledge and understanding outcomes
Intellectual Skills
 the ability to understand and logically evaluate requirements and
specifications
 the ability to think independently while giving due weight to the arguments
of others
Professional Skills
 the ability to understand and make use of software
methodologies
 the ability to evaluate, select and deploy tools and techniques
 the ability to work effectively and ethically with users
engineering
Transferable Skills
 the ability to chair and minute meetings, work effectively in software
engineering groups, give short technical presentations and demonstrations,
and co-author technical reports
Page 14 of 70
11. Weekly Programme
A typical sequence of lectures as below:
Week
Lecture
No
Topic
1
Overview: Aims, Organisation, Assessment
2
Team Working and Group meetings
3
Version Cotrol with Sub-version
4
Project Management: How to Deliver?
5
Giving an Effective Presentation
6
Report Writing and Peer Marking
7
Enterprise-level Testing: Breaking Software for a Living
8
No Lecture
9
No Lecture
10
Group Project Open Day
11
No Lecture
12. Assessment details
Group project deliverables: 2 written reports, software,
demonstration, presentation, peer assessment – 80%
Individual reflective statement (individual report) – 20%
trade-fair-style
13. Resources
Reference texts as relevant to the project topics.
14. Web Link
To be given by the module convenor
Page 15 of 70
1.
Module Code
G52SEM
2.
Title of Module
Software Engineering Methodologies
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
G51FSE Foundations of Software Engineering; G51ISE (2009/10)
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Mr. KR. Selvaraj
Contact No: 03-8924-8139
Room No:
BB-60
E-mail:
[email protected]
9.
Summary of Content
This module builds on the Foundations of Software Engineering module, and
complements it with additional material designed to provide the practical skills
necessary to effectively participate as a team in the Software Engineering Group
Project. The module covers three main aspects of the software development
process in depth:
The system analysis and design process: the Unified Modelling Language (UML) will
be introduced and applied in the process of creating a formal software development
design. Use-Case Analysis (UCA) and Data Flow Diagrams (DFDs) will be studied in
depth, and related to the development process taking place in the Software
Engineering Group Project.
The project management process: essential concepts and techniques in project
management will be covered in depth, including Gantt charts, critical path analysis
and the Program Evaluation and Review Technique (PERT). The module will include
exercises in project tracking, utilising project management software tools, including
producing project plans for Software Engineering Group Projects. Replanning and
rescheduling in response to changes in a project implementation will be studied.
Software documentation: the practice of good software documentation will be
demonstrated, in conjunction with documentation generation tools applicable to
current development environments.
10. Learning Outcomes
Knowledge and Understanding
 Knowledge of the practice of constructing large systems.
Page 16 of 70

Understanding of the strengths and weaknesses of system specification, design
and implementation tools and resources.
Intellectual Skills
 The ability to effectively analyse requirements for a range of systems, using
appropriate tools and techniques.
Professional Skills
 The ability to work effectively and ethically with users.
Transferable Skills
 The ability to solve hardware/software analysis problems and write detailed
reports on the solutions adopted.
 The ability to use project management tools effectively and understand soft
issues of project management.
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
12
Lecture
Topic
Introduction and Goals, Software Project Mnanagement, Vision and Scope
Use Case Analysis
Project Definition, Traditional Project Management
Agile teams and Interactive approaches
Estimating and Scheduling a project. An overview of prince 2
Tools and Infrastructure, SoftwareDevelopment Infrastructure for successful
projects
Software Testing, TDD and Unit Testing with JUnit
Domain Modeling, Project Monitoring
Software Design, UML 2.0 as a design specification tool
Using design patterns, Achieving loose coupling, Clean code and refactoring
Automated build and test, Producing documentation
Revision
12. Assessment details
Coursework 40%; Written Examination 60%
13. Resources
Recommended Background Reading
No
1
2
3
Name of
Author(s)
Andrew
Stellman
and Jennifer
Greene
Cockburn,
Alistair
Year of
Publication
2006
Kent Beck
2002
2001
Title of Book
Applied
software
project
management
Writing
effective use
cases
Test Driven
Development
Edition
1st
Publisher’s
Name
O'Reilly
Media
1st
AddisonWesley
1st
The AddisonWesley
Signature
Series
ISBN
ISBN-10:
05960094
88
ISBN-11
02017022
58
ISBN-10:
03211465
30
14. Web Link
http://sepang.nottingham.edu.my/~krselvaraj
Page 17 of 70
1.
Module Code
G52ADS
2.
Title of Module
Algorithms and Data Structures
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
G51MCS Mathematics for Computer Scientists;
G51OOP Object-Oriented Programming (G51PRG 2009/10)
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Chew Sze-Ker (Mr)
Contact No: 03-89248140
Room No:
BB72
E-mail:
[email protected]
9.
Summary of Content
This module introduces the basics of specifying abstract data types and using them
to design programs. Commonly used data structures and algorithms are studied in
depth. The emphasis is made on choosing data structures and algorithms
appropriate for solving a given problem. It presents the mathematical analysis of
time and space usage of algorithms using the big-Oh notation. Such mathematical
analysis is then used to support algorithm design decisions. It presents the usage of
pre/post conditions and loop invariants to aid in the design and implementation of
algorithms. Specific algorithms and data structures may include, but are not limited
to: stacks, queues and lists; trees and tree traversal methods; heaps, search trees;
graph problems and graph algorithms such as shortest paths and minimum
spanning trees.
10. Learning Outcomes
Knowledge and Understanding
 The theory and practice of implementing algorithms; to know of and understand
the mathematical properties of algorithms.
Intellectual Skills
 Ability to apply mathematical techniques to algorithms and data structures and
understand the their specifications
Professional Skills
 Implementation of data structures and algorithms; evaluation and selection of
available tools, applications, algorithms and data structures that are suitable for
a given domain/scenario.
Transferable Skills
 The ability to solve problems using a variety of data structures and algorithms;
to utilise mathematical techniques when necessary to achieve the above
Page 18 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction, overview and module contents
Algorithms and analysis, data structures/abstract data types;
Sorting methods I: bubble sort, selection sort and insertion sort
Sorting methods II: merge sort and quick sort; Stacks
Queues; Recursion
Linked list (single and double ended); Graph, DFS and BFS
Shortest path algorithms, minimum spanning tree
Topological sort; Hash table
Heaps, heap sort, priority queue
Tree, tree traversal; Binary search tree, balanced binary search
tree part 1 (AVL tree)
Balanced binary search tree part 2 (Red black tree); Multi-way
tree (2,3) and (2,3,4) trees
Revision and discussion of past exam papers
12. Assessment details
Coursework 1 15%; Coursework 2 10%; Written Examination 75%
13. Resources
Suggested primary texts
No
Name of Author(s)
1
Michael
T.Goodrich
and
Roberto Tamassia
Year of
Publication
Title of Book
Edition
Data Structures
and Algorithms in
Java
3rd
Publisher’s
Name
ISBN
Suggested secondary texts
No
Name of
Author(s)
1
2
3
Year of
Publication
Title of Book
Introduction
algorithms
Shaffer,
Clifford A.
Sahni,
Sartaj
Edition
to
A practical introduction
to data structures and
algorithm analysis
Data
structures,
algorithms,
and
applications in Java
2nd
Publisher’s
Name
MIT Press
ISBN
Prentice
Hall
McGraw-Hill
14. Web Link
To be provided by the module convenor.
Page 19 of 70
1.
Module Code
G52IFR
2.
Title of Module
Introduction to Formal Reasoning
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
G51FUN Functional Programming; G51MCS Mathematics for Computer Scientists
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Michael Chung (Mr)
Contact No: 03-89248142
Room No:
BB58
E-mail:
[email protected]
9.
Summary of Content
This module introduces methods of formal reasoning relevant relevant for Computer
Scientists. It continues and develops further themes of G51MCS and introduces a
mathematical rigorous approach to program construction. To reflect the use of logic
within Computer Science we employ a proof assistant (e.g. Coq) for the practicals
and the exam. The module covers the following 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.
10. Learning Outcomes
Knowledge and Understanding
 Understanding of basic mathematical concepts, definitions and notation
Intellectual Skills
 The ability to understand and apply simple logical reasoning
Transferable Skills
 The ability to use mathematics to solve problems.
Page 20 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction, overview and module contents
Coq Basics, Propositional Logic
More Coq, Classical Logic
Bool and Predicate Logic; General Predicate Logic
More Predicate Logic
Operations on Sets
Peano Arithmetic; Some Algebra
Primitive Recursion
The omega hotel, diagonalisation
Lists
Revision and discussion of past exam papers
12. Assessment details
Coursework (25%) and a two-hour online exam (75%)
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Bertot,
Yves &
Castéran,
Pierre
Year of
Publication
2004
Title of Book
Edition
Interactive Theorem
Proving and Program
Development: Coq'Art:
The Calculus of
Inductive Constructions
1st
Publisher’s
Name
Springer
ISBN
3-540208542
Suggested secondary texts
Not Available
14. Web Link
http://baggins.nottingham.edu.my/~kczmc/Teaching/G52IFR/
Page 21 of 70
1.
Module Code
G52APR
2.
Title of Module
Application Programming
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
G51OOP Object-Oriented Programming; (G51PRG 2009/10)
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Michael Chung (Mr)
Contact No: 03-89248142
Room No:
BB58
E-mail:
[email protected]
9.
Summary of Content
Builds on basic programming knowledge by showing how applications can be built
through the use of various example Java APIs including: GUI programming,
threads, networking, data processing, etc. Where appropriate, the underlying
design patterns behind the APIs will be illuminated.
10. Learning Outcomes
Knowledge and Understanding
 Further understanding of the theory and practice of object-oriented
programming.
Intellectual Skills
 Understand and logically evaluate program requirements and specifictions.
 Understand the complex ideas of programming solutions and relate them to
particular problems.
Professional Skills
 The ability to design and write object-oriented programs in Java.
Transferable Skills
The ability to solve problems using object-oriented techniques, to schedule and
present their work and to retrieve additional learning material
Page 22 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction, overview and module contents
GUI Components I
GUI Components II
Multithreading
Networking
Coursework Discussion
Accessing Databases with JDBC
Web Applications I
Web Applications II
Design Patterns
Revision and discussion of past exam papers
12. Assessment details
Coursework 1 25%; Coursework 2 25%; Written Examination 50%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Deitel & Deitel
Year of
Publication
2007
Title of Book
Edition
Java How to
Program
7th
Publisher’s
Name
Pearson
ISBN
0136132472
Suggested secondary texts
Not Available
14. Web Link
http://baggins.nottingham.edu.my/~kczmc/Teaching/G52APR/
Page 23 of 70
1.
Module Code
G52GUI
2.
Title of Module
Graphical User Interface
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
G51PRG Programming or G51OOP Object-Oriented Programming
Application Programming
or
G52APR
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Dr. Wang Wei
Contact No: 03-89248721
Room No:
BB63
E-mail:
[email protected]
9.
Summary of Content
The module focuses on how to implement graphical user interfaces. It will introduce
key programming concepts and structures by considering in depth the Java Swing
packages. The course will explore a wide range of components (from buttons to
tables), and the Java 2D API, which allows developers to easily incorporate highquality 2D graphics, text, and images in applications. The use of Integrated
Development Environments (IDEs), which simplify the construction of graphical
user interfaces, will be introduced and the advantages and disadvantages
considered. The module will also discuss design guidelines for graphical interfaces.
10. Learning Outcomes
Knowledge and Understanding
 Understanding of GUI programming concepts such as event handling and layout
management. Knowledge of the Java Swing and 2D APIs. Understanding of
design guidelines for graphical interfaces. Intellectual Skills: Ability to exploit
event based structuring techniques to drive applications.
Intellectual Skills
 Ability to exploit event based structuring techniques to drive applications.
Professional Skills
 Ability to develop graphical interfaces in Java using the Swing and Java 2D APIs.
Ability to apply good design principles in the development process.
Transferable Skills
 The ability to solve GUI implementation problems.
Page 24 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction
A Simple Swing Example
Windows and Events
Events in Swing
Widgets
Components in Swing
Layout
Layout in Swing
Abstract Widgets
Abstract Widgets Practice
Graphical Design
12. Assessment details
Coursework 100%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Dan Olsen
Year of
Publication
2009
Title of Book
Building
Interactive
Systems:
Principles
for
Human-Computer
Interaction
Edition
1st
Publisher’s
Name
Course
Technology
ISBN
9781423902485
Suggested secondary texts
No
1
Name of
Author(s)
-
Year of
Publication
-
Title of
Book
Creating a
GUI
With
JFC/Swing
Edition
-
Publisher’s
Name
Sun Java
ISBN
-
14. Web Link
http://baggins.nottingham.edu.my/~wangwei/teaching/G52GUI.php
Page 25 of 70
1.
Module Code
G52IIP
2.
Title of Module
Introduction to Image Processing
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51MCS Mathematics for Computer Scientists
G51PRG Programming
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Ho Sooi Hock
Contact No:
Room No:
E-mail:
9.
(Mr)
03-89248145
BB71
[email protected]
Summary of Content
This module includes the following topics:
 an overview of image processing and its applications, relations between image
processing and other closely related fields such as computer vision, computer
graphics, image analysis and digital photography
 fundamentals of digital images, elements of visual perception and human visual
system, fundamentals of image formation and digital image acquisition
 digital image processing theory and practice, including point processing, spatial
filtering, image transforms and frequency domain processing, edge detection,
image segmentation, fundamentals of image coding and compression
 colour and colour imaging fundamentals, colour models and colour image
processing
 emerging digital imaging technologies including high dynamic range
photography and computational photography
10. Learning Outcomes
Knowledge and Understanding
 Experience implementing programs that manipulate images
 Awareness of limitations and appreciating the underlying mathematical
principles
Intellectual Skills
 Apply knowledge of vision and image processing techniques to particular tasks
Professional Skills
 Develop a working knowledge of image processing algorithms and libraries
 Evaluate the applicability of various algorithms and operators to different tasks
Page 26 of 70
Transferable Skills
 Address real problems and assess the value of their proposed solutions
 Retrieve and analyse information from a variety of sources and produce detailed
written reports on the result
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction, overview and module contents
Digital image fundamentals
Point and histogram processing
Spatial domain image filtering
Image sharpening, edge detection and Hough transform
Image filtering in the frequency domain
Colour model and colour image processing
Image segmentation
Image coding and image compression
3D transformation
Revision and discussion of past exam papersl
12. Assessment details
Coursework 25%; Written Examination 75%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Gonzalez &
Woods
Year of
Publication
2008
Title of Book
Digital
Image
Processing
Edition
3rd
Publisher’s
Name
Prentice Hall
ISBN
0-13168728-X
Suggested secondary texts
No
1
Name of
Author(s)
Efford
Year of
Publication
2000
Title of Book
Digital
Image
Processing Using
Java
Edition
1st
Publisher’s
Name
AddisonWesley
ISBN
0-20159623-7
14. Web Link
http://sepang.nottingham.edu.my/~hsooihock/G52IIP/index.html
Page 27 of 70
1.
Module Code
G53IDS/IDY/IDJ
2.
Title of Module
Individual Dissertation Single Honours/Software Systems/Joint Honours
3.
Number of credits
40 for IDS/IDY and 20 for IDJ
4.
Level
3
5.
Semester in which module is taught and Assessment Period
Semester
Assessment
Full Year
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
None
8.
Lecturer
K. R. Selvaraj
Contact No:
Room No:
E-mail:
9.
(Mr)
03-89248139
BB60
[email protected]
Summary of Content
Students are required to perform an individual project on a topic in computer
science. Each student has a supervisor who is a member of the academic staff. The
topic can be any area of the subject which is of mutual interest to both the student
and supervisor. Topics can range from purely theoretical studies to practical work
building a system for some third party, although most projects aim to provide a
balance between the theoretical and practical aspects of the subject.
Page 28 of 70
10. Learning Outcomes
Knowledge and Understanding
 Individual projects may arise from any area of the curriculum and so may
address any of the knowledge and understanding outcomes
Intellectual Skills
 the ability to think independently while giving due weight to the arguments
of others
 the ability to understand complex ideas and relate them to specific problems
or questions
Professional Skills
 enhanced programming abilities
 the ability to comprehend and apply software engineering methodologies
Transferable Skills
 the ability to plan, organisation and execute project work
 the ability to communicate their results to others
11. Weekly Programme
Supporting lectures to be arranged by the module convenor and weekly meetings
to be scheduled with the supervisors
12. Assessment details
Project report in printed and electronic form (PDF). The source code must also be
included in the submission – 80%
Demonstration and presentation of project results – 10%
Interim report and presentation of progress during the Autumn semester – 10%
Page 29 of 70
1.
Module Code
G53VIS
2.
Title of Module
Computer Vision
3.
Number of credits
10
4.
Level
3
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
Compulsory:
G51OOP
Object-Oriented
Programming
(or
equivalent
programming experience, e.g. G51PRG).
Recommended:
G52IIP - Introduction to Image Processing. Background knowledge
of vision and image processing are an advantage.
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Tomas Maul (Dr)
Contact No: 03-89248232
Room No:
BB64
E-mail:
[email protected]
9.
Summary of Content
This module is part of the Graphics and Vision theme in the School of Computer
Science. Building on G52IIP this module examines current techniques for the
extraction of useful information about a physical situation from individual and sets
of images. Particular emphasis is placed on the identification of objects, recovery of
three-dimensional shape &motion, and the recognition of events. Topics covered
include: advanced segmentation and feature extraction, motion computation and
tracking, stereo vision and the use of hidden markov models in higher level
analysis.
10. Learning Outcomes
Knowledge and Understanding
 Experience in implementing image processing and vision algorithms.
Understanding of current techniques in image processing and computer
vision and an awareness of their limitations. An appreciation of the
underlying mathematical principles of computer vision.
Intellectual Skills
 Apply knowledge of computer vision techniques to particular tasks. Evaluate
and compare competing approaches to vision tasks.
Professional Skills
 Develop a working knowledge of image processing algorithms and libraries
and evaluate the applicability of various algorithms and operators to
particular tasks.
Page 30 of 70
Transferable Skills
 Apply knowledge of the methods and approaches presented to problem
domains use the available resources (libraries, internet, etc) to supplement
the course material.
11. Weekly Programme
Week
1
2
3
4
5
6
7
8
9
10
11
Lecture Topic
Introduction
Segmentation as Clustering. Region-based Segmentation.
Watersheds. The EM Algorithm.
Binocular Stereo. Camera Calibration.
Stereo Correspondence. Motion Analysis and Optic Flow.
Computing Optic Flow. Issues in Optic Flow.
Evaluation: Optic flow and segmentation. Introduction to Tracking.
The Kalman Filter. Snakes.
Particle Filters and Condensation.
Event Detection and Hidden Markov Models.
Revision.
12. Assessment details
Written Examination
Coursework
75%
25%
13. Resources
Suggested primary texts
None.
Suggested secondary texts
No
1
2
Name of
Author(s)
David
A.
Forsyth
&
Jean Ponce
E. R. Davies
Year of
Publicati
on
2002
2005
Title of Book
Computer Vision:
A
Modern
Approach
Machine Vision:
Theory,
Algorithms,
Practicalities
Edition
Publisher’s
Name
ISBN
1st
Prentice Hall
0130851981
3rd
Morgan
Kaufmann
0122060938
14. Web Link
http://baggins.nottingham.edu.my/~kcztm/TeachG53VIS.html
Page 31 of 70
1.
Module Code
G53SRP
2.
Title of Module
System and Real Time Programming
3.
Number of credits
10
4.
Level
3
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
G51PRG Programming; G52CON Concepts of Concurrency
8.
Lecturer
TBA
Contact No:
Room No:
E-mail:
9.
TBA
TBA
TBA
Summary of Content
This module provides an overview of embedded and real-time systems, issues and
programming. Topics covered include: introduction to real-time and embedded
systems; designing for real-time systems; system and software reliability and faulttolerance; real-time processes and real-time scheduling; schedulability analysis; the
Real-Time Specification for Java (RTSJ); programming with clocks and time; realtime threads; asynchronous events; interfacing to hardware devices.
10. Learning Outcomes
Knowledge and Understanding
 The practice of programming. The strengths and weaknesses of computer tools,
applications and other resources. The synergy of hardware and software in
computer systems implementation.
Intellectual Skills
 Understand complex ideas and relate them to specific problems or questions
Professional Skills
 Program in various paradigms
Transferable Skills
 The ability to solve problems
Page 32 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction, overview and module contents
Real time system, reliability, failure, and fault tolerance
techniques; Java, exceptions and threads
Concurrency and reliability; Concurrency programming with
Java threads
Concurrency control and communication; Java Concurrency I:
Synchronisation; Java Concurrency II: wait and notify
Java clocks and time; Case Study 1: Mines drain system
Introduction to Real Time Scheduling; RTSJ clocks and time
Real time thread; RTSJ asynchronous events
RTSJ deadlines and cost; Feasibility analysis
Resource sharing; Case Study 2: Chemical industry
RTSJ memory areas and parameters; Hardware interfacing
Revision and discussion of past exam papers
12. Assessment details
Written Examination 100%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Alan Burns
and
Andy
Wellings
Year of
Publication
March 2001
Title of Book
Edition
Real-Time
Systems
and
Programming
Language
3rd
Publisher’s
Name
Addison
Wesley
Longman
ISBN
0201729881
Suggested secondary texts
No
1
Name of
Author(s)
Wellings,
Andrew J
Year of
Publication
2004
Title of Book
Concurrent
and
real-time
programming
in
Java
Edition
1st
Publisher’s
Name
Wiley
ISBN
14. Web Link
TBA
Page 33 of 70
1.
Module Code
G53SQM
2.
Title of Module
Software Quality Management
3.
Number of credits
10
4.
Level
3
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
G51FSE Foundations of Software Engineering
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Chew Sze-Ker (Mr)
Contact No: 03-89248140
Room No:
BB72
E-mail:
[email protected]
9.
Summary of Content
This module is part of the Software Engineering theme in the School of Computer
Science. Computer software is present almost everywhere. The impact of software
failure is often quite considerably so reliability and robustness is paramount when
developing software. The importance of effective testing methodologies for quality
assurance in the software industry has increased substantially in recent years.
This module introduces:
 Concepts and techniques for testing software and assuring its quality.
 Methods for software testing and quality assurance are integrated into all phases
of the software development process and it also extends to other aspects such as
systems and hardware development.
10. Learning Outcomes
Knowledge and Understanding
 Knowledge and understanding of evaluation and testing of software systems.
Intellectual Skills
 Ability to use formal methods of software analysis.
Professional Skills
 Ability to test software in a systematic way and carry out quality assurance
process, experience of using specialised testing software.
Transferable Skills
 Abstract thinking, systematic approach to problem solving.
11. Weekly Programme
Page 34 of 70
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction to SQA/Software Quality Factors
Components of SQA Systems
Pre-project Software Quality/Integrating quality Activities
Software Reviews
Software Testing Strategies/Implementation
Software Quality Metrics
The Function Point Method
Presentation
Presentation
Presentation
Revision and discussion
12. Assessment details
60% Written examination open questions style
40% Courseworks include reports/assignments/presentation
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Malik
Kamna
Year of
Publication
2006
Title of Book
Software Quality: a
practitioner’s
approach
Edition
1st
Publisher’s
Name
McGraw Hill
ISBN
0-07024873-7
Suggested secondary texts
No
1
Name of
Author(s)
Tian Jeff
Year of
Publication
2005
Title of Book
Software Quality
Engineering:
testing,
quality
assurance
and
quantifiable
improvement
Edition
1st
Publisher’s
Name
Wiley
ISBN
0-01306428-2
14. Web Link
http://moodle.nottingham.ac.uk
Page 35 of 70
1.
Module Code
G53CMP
2.
Title of Module
Compilers
3.
Number of credits
10
4.
Level
3
5.
Semester in which module is taught and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
G51PRG Programming or similar level of programming experience
G52MAL (Machines and their Languages)
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Tomás Maul (Dr.)
Contact No: +60 (0)3 8924 8232
Room No:
BB64
E-mail:
[email protected]
9.
Summary of Content
Aspects of language and compiler design are examined by looking at the
techniques and tools that are used to construct compilers for high level
programming languages. A particular emphasis is placed on the use of formal
techniques for specifying the syntax and semantics of the source language. The
course retains a practical focus by exploring the implementation of a working
compiler. Functional programming notation is used throughout to minimize the gap
between specification and implementation, and to facilitate the presentation of
symbolic algorithms.
10. Learning Outcomes
Knowledge and Understanding
 Knowledge of language and compiler design
 Understanding of the problems to be faced and the techniques and tools
which may be used in the construction of medium sized programs
Intellectual Skills
 The ability to define and construct syntax-directed translation schemes and
use software tools for syntax-directed translations
 The ability to gather information on and analyze the structure of medium
sized computer programs
Professional Skills
 Enhanced programming skills
 The ability to comprehend and apply software engineering tools
Transferable Skills
Page 36 of 70


The ability to use mathematics to solve problems and write detailed reports
on the solutions adopted
The ability to work effectively within a group
15. Weekly Programme
Lect.
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Administrative Details and Introduction
Haskell Review & Coursework Support
Defining Programming Languages
Syntactic Analysis I (TD)
Syntactic Analysis II (BU) – A
Syntactic Analysis II (BU) – B
Contextual Analysis
Intermediate Code Generation – A
Intermediate Code Generation – B
Code Optimization
Revision
16. Assessment details
25% coursework, 75% examination.
17. Resources
Suggested primary texts
No
1
Name of
Author(s)
lfred V. Aho,
Ravi Sethi and
Jeffrey
D.Ullman, S.
Year of
Publication
2003
Title of Book
Edition
Compilers:
Principles,
Techniques &
Tools
Publisher’s
Name
Prentice
Hall
ISBN
0-20110194-7
Suggested secondary texts
No
Name of
Author(s)
David A.
Watt and
Deryck F.
Brown
Year of
Publication
1999
Title of Book
Programming
Language
Processors in
Java
Edition
Publisher’s
Name
PrenticeHall
ISBN
18. Web Link
 Course website: http://baggins.nottingham.edu.my/~kcztm/TeachG53CMP.html
Page 37 of 70
1.
Module Code
G54SIM
2.
Title of Module
Simulation for Computer Scientists
3.
Number of credits
10
4.
Level
4
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Chen Zhi Yuan (Dr)
Contact No: 03-89248141
Room No:
BB59
E-mail:
[email protected]
9.
Summary of Content
Computational Simulation of systems is becoming increasingly common due to the
recent improvements of speed and memory in computer hardware allowing
simulation of realistic systems. System simulation can help to understand the
processes currently in place and show the consequences of changes to these
processes over time. Successful case studies of simulation include manufacturing,
financial system, retail and more recently other areas of the service sector. Three
broad simulation paradigms exist: System Dynamics, Agent-based and Discrete
Event. This module will explain each of them in detail so that students will be
competent in choosing and implementing the right method for their particular
problem.
10. Learning Outcomes
Knowledge and Understanding
 Understanding the capabilities, strengths and limitations of simulation methods
 An appreciation of different simulation techniques
Intellectual Skills
 The ability to understand complex ideas and relate them to specific situations
Professional Skills
 The ability to implement selected simulation methods for real world applications
 The ability to evaluate simulation techniques and select those appropriate to a
given task
Transferable Skills
 The ability to address real problems and assess the value of their proposed
solutions
Page 38 of 70

The ability to retrieve and analyse information from a variety of sources and
produce detailed written reports on the result
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
12
Lecture
Topic
Introduction to Modelling and Simulation
Simulation Studies: An Overview
Guest Lecture: Case Study1
Guest Lecture: Case Study2
Simulation Methods: System Dynamics Simulation
Simulation Methods: Discrete Event Simulation
Simulation Methods: Agent-Based Simulation
Conceptual Modelling
Input Modelling
Model Testing (Verification and Validation) + Experiment
Preparation (Part 1)
Experiment Preparation (Part 2) + Experimentation + Output
Analysis
Application of Simulation in the Real World
12. Assessment details
Written Examination 60%
Course Work
40%
13. Resources
Suggested primary texts
No
Name of
Author(s)
Stewart
Robinson
Year of
Publication
2004
2
John
Sterman
2000
3
Gilbert N
and
Troitzsch
KG
2005
1
Title of Book
Simulation: The
Practice
of
Model
Development
and Use
Business
Dynamics:
Systems
Thinking
and
Modelling for a
Complex World
Simulation
for
the
Social
Scientist.
Edition
2nd
Publisher’s
Name
Wiley,
Chichester,
UK
ISBN
9780470847725
McGraw-Hill
Higher
Education
0072311355
Open
University
Press
0335216013
Suggested secondary texts
Not Available
14. Web Link
TBA
Page 39 of 70
MODULE OUTLINE
SPRING 2011-2012
1.
Module Code
G51FUN
2.
Title of Module
Functional Programming
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51PRG Programming
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Michael Chung (Mr)
Contact No: 03-89248142
Room No:
BB58
E-mail:
[email protected]
9.
Summary of Content
The module covers the following subjects: Hugs system; type information; defining
functions; list comprehensions; recursive functions; high-order functions,
interactive programs; functional parsers; defining types; lazy evaluation and
reasoning about programs.
10. Learning Outcomes
Knowledge and Understanding
 understanding of the theory and practice of functional programming

a sound grasp of the underlying mathematical techniques
Professional Skills

the ability to write functional programs
Transferable Skills
 the ability to solve problems in and using functional programming
 the ability to utilise mathematics and formal methods
11. Weekly Programme
Week
No
1
2
3
Lecture
Topic
Introduction: Course content, assessment, introduction to
functional language, history
The Hug system: Hugs, standard prelude, function application,
Haskell scripts, naming requirements, layout rule
Type Information: Type errors, basic types, list types, tuple
types, function types – curried, polymorphic, overloaded, basic
Page 40 of 70
4
5
6
7
8
9
10
11
12
classes
Defining functions: Conditional expressions, guarded equations,
pattern matching, lamda expressions, sections
List comprehension: Introduction, dependent generators,
guards, zip functions, string comprehensions
Recursive functions: Introduction, recursion on lists, multiple
arguments
Higher order functions: map, filter, foldr, other library functions
Interactive programs: Introduction, primitive actions,
sequencing actions, other library actions
Functional parsers: Introduction, primitive parsers, sequencing
parsers, other library parsers
Defining types: Type declarations, data declarations, recursive
types, examples
Lazy evaluations: Innermost & outermost evaluations, lambda
expressions, termination, number of structures, infinite
structures
Reasoning about programs
12. Assessment details
Coursework 1 15%; Coursework 2 10%; Written Examination 75%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Graham
Hutton
Year of
Publication
2007
Title of Book
Edition
Programming in
Haskell
1st
Title of Book
Edition
Introduction
to Functional
Programming
using Haskell
Algorithms:
a functional
programming
approach
Haskell: The
Craft of
Functional
Programming
2nd
Publisher’s
Name
CUP
ISBN
0-52169269-5
Suggested secondary texts
No
Name of
Author(s)
Richard Bird
Year of
Publication
1988
2
Fethi Rabhi &
Guy Lapalme
1999
3
Simon
Thompson
1999
1
Publisher’s
Name
Prentice Hall
ISBN
2nd
AddisonWesley
0-20159604-0
2nd
AddisonWesley
0-20134275-8
0-13484346-0
Not Available
14. Web Link
http://baggins.nottingham.edu.my/~kczmc/Teaching/G51FUN/fun.html
Page 41 of 70
1.
Module Code
G51DBS
2.
Title of Module
Database Systems
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51MCS
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Mr KR. Selvaraj
Contact No: 03-8924-8139
Room No:
BB-60
E-mail:
[email protected]
9.
Summary of Content
The module introduces database management systems, the design and use of
database systems. The relational database model and the structured database
query language (SQL) are covered. Throughout the module students are given
instruction in the use of a relational database management system. Topics covered
include: the relational model; entity-relationship modelling, SQL data definitions
and select, normalisation, efficiency, transactions and database security.
10. Learning Outcomes
Knowledge and Understanding
 Ability to use SQL and an understanding of embedded SQL. Understanding of
the ANSI/SPARC and relational models of database systems.
Intellectual Skills
 Basic knowledge of the mathematics underlying relational database systems.
Ability to design database systems.
Professional Skills
 The use of SQL for database specification and manipulation. Database
administration, including integrity and security control.
Transferable Skills:

Understanding of the application of database systems.
Page 42 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
12
Lecture
Topics
Introduction to Database Systems, The Relational Model
Entity Relationship Modelling
SQL Data Definition
SQL SELECT
More SQL SELECT
SQL and Java
Normalization to 3NF and BCNF
Efficiency Issues
Transactions and Recovery, Concurrency
More Concurrency, Security and Integrity
Good and Bad ‘Modern’ Databases
Revision
12. Assessment details
Coursework 25%; Written Examination 75%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Thomas
Connolly and
Carolyn Begg,
Year of
Publication
2005
Title of Book
Edition
Database Systems
- A Practical
Approach to
Design,
Implementation,
and Management
3rd or
4th ed.
Publisher’s
Name
AddisonWesley
ISBN
0321210255
Suggested secondary texts
No
1
2.
3.
14.
Name of Author(s)
R Elmasri and
SB Navathe,
A.
Silberschatz,
H. F. Korth,
and S.
Sudarshan,
Peter Rob,
Carlos Coronel
Year of
Publication
2004
Title of Book
Edition
Publisher’s
Name
AddisonWesley,
ISBN
Fundamentals
of Database
Systems,
3rd or
4th
ed.
2002
Database
System
Concepts,
4th
ed.
McGrawHill
0072283637
2007
Database
System
7th
ed.
Course
Technology
1418836508
0321204484
Web Link
TBA
Page 43 of 70
1.
Module Code
G51FSE
2.
Title of Module
Foundations of Software Engineering
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
None
8.
Lecturer
- (Mr) TBA
Contact No:
Room No:
E-mail:
9.
03-8924-TBA
BB-TBA
[email protected]
Summary of Content
This module introduces the concepts of Software Engineering as a discipline and will
provide an overview of the whole software development process. A selection of
fundamental 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.
10. Learning Outcomes
Knowledge and Understanding
 The different approaches to managing the software development process. The
practice of producing specifications from informal briefs. Knowledge of how to
test, debug and change programs.
Intellectual Skills
 Understand how to represent formal program requirements. Understand how to
create and deploy an effective plan for testing software systems.
Professional Skills
 The ability to apply software engineering methodologies in practical scenarios.
 The ability to evaluate, select and deploy appropriate tools and techniques.
Transferable Skills
 The ability to deploy a software development methodology, and to test and
debug software, independent of programming language.
Page 44 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction to Object-oriented Software Engineering (OOSE) – Part 1
Introduction to Object-oriented Software Engineering (OOSE) – Part 2
Introduction to Object-oriented Software Engineering (OOSE) – Part 3
Object-orientation (OO)
Object-oriented Analysis (OOA)
Object-oriented Design (OOD) – Part 1
Object-oriented Design (OOD) – Part 2
Formal Specification
Architectural Design
Testing Principles and Managing Software Project – Part 1
Testing Principles and Managing Software Project – Part 2
Revision and review past examination questions
12. Assessment details
Coursework 30%; Written Examination 70%
13. Resources
Suggested primary texts
No
Name of
Author(s)
1
Ian
Sommerville
Year of
Publication
2006
Title of Book
Edition
Publisher’s
Name
ISBN
Software
Engineering
8th
Addison
Wesley
13: 9780321313799
Title of Book
Edition
Publisher’s
Name
ISBN
Software
Engineering:
A
Practitioner's
Approach
6th
McGraw-Hill
13: 9780073019338
Suggested secondary texts
No
Name of
Author(s)
1
Roger S
Pressman
Year of
Publication
2004
14. Web Link
http://sepang.nottingham.edu.my/~?????
Page 45 of 70
1.
Module Code
G51OOP
2.
Title of Module
Object-Oriented Programming
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51PRG Programming
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Chew Sze-Ker (Mr)
Contact No: 03-89248140
Room No:
BB72
E-mail:
[email protected]
9.
Summary of Content
The basic concepts of object-oriented programming and design including: classes,
objects, aggregation, inheritance, class discovery techniques, principles of good
design and common design patterns. These will be supported by practical examples
using the Java programming language.
10. Learning Outcomes
Knowledge and Understanding
 Understanding of the theory and practice of object-oriented programming
Intellectual Skills
 Understand and logically evaluate program requirements and specifications.
Understand the complex ideas of programming solutions and relate them to
particular problems
Professional Skills
 Ability to design and write object-oriented programs in Java
Transferable Skills
 The ability to solve problems using programming including mathematical
problems, schedule and present their works and to retrieve additional learning
materials
Page 46 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction to Objects/Classes
Inheritance
Polymorphism
Event Handling and Exception
File Processing
Interfaces and Inner Classes
Linked Data Structures
Graphical User Interfaces I
Graphical User Interfaces II
Coursework discussions
Revision and discussion of past exam papers
12. Assessment details
Lab exercises (8*5%) 40%; Multiple choice questions 30%; Lab assessments
(3*10%) 30%
13. Resources
Suggested primary texts
No
Name of
Author(s)
Year of
Publication
1
2
Bishop
J.M.
2001
Title of Book
Edition
Absolutely Java
4th
Java Gently
3rd
Publisher’s
Name
ISBN
Addison
Wesley
Suggested secondary texts
No
1
Name of
Author(s)
Deitel,
Harvey M.
Year of
Publication
2003
Title of Book
Java: How to Program
Edition
5th
Publisher
’s Name
Prentice
Hall
ISBN
14. Web Link
To be provided by the module convenor.
Page 47 of 70
1.
Module Code
G51IAI
2.
Title of Module
Introduction to Artificial Intelligence
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Ho Sooi Hock
Contact No:
Room No:
E-mail:
9.
(Mr)
03-89248145
BB71
[email protected]
Summary of Content
This module aims to:
 give a broad overview of the fundamental theories and techniques of Artificial
Intelligence
 allow the student to participate in informed AI debate on philosophical and
ethical issues of AI
 give an insight into the history of AI and point to some of the key milestones in
the area (e.g. The Turing Test, 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)
 introduce the student to principles of neural networks in general and learning by
a percepton in particular.
10. Learning Outcomes
Knowledge and Understanding
 Knowledge of key AI techniques and their implementation
Intellectual Skills
 The ability to think independently while giving due weight to the arguments of
others. The ability to analyse algorithms
Professional Skills
 The ability to evaluate available AI techniques and select those appropriate to a
given problem
Transferable Skills
 The ability to solve problems and communicate effectively in writing
Page 48 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction, overview and module contents
Reasons for AI; History of AI
Problem formulation
Uninformed search – BFS, DFS, UCS, DLS, IDS
Heuristic search techniques – BFS, GFS and A*
Tutorials on search techniques; Discussion on courseworks
Game playing techniques
Tutorial on minimax application and alpha-beta pruning
Introduction to neural networks
Perceptron learning
Revision and discussion of past exam papersl
12. Assessment details
Written Examination 100%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Stuart
J.
Russell
&
Peter Norvig
Year of
Publication
2010
Title of Book
Artificial
Intelligence
:A
Modern Approach
Edition
3rd
Publisher’s
Name
Prentice
Hall
ISBN
0-13604259-7
Suggested secondary texts
No
1
Name of
Author(s)
George F
Luger
Year of
Publication
2008
Title of Book
Artificial
Intelligence:Structures
and
strategies
for
Complex
Problem
Solving
Edition
6th
Publisher’s
Name
Addison
Wesley
ISBN
0-32154589-3
14. Web Link
http://sepang.nottingham.edu.my/~hsooihock/G51IAI/index.html
Page 49 of 70
1.
Module Code
G51WPS
2.
Title of Module
Web Programming and Scripting
3.
Number of credits
10
4.
Level
1
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51PRG Programming
7.
Co-requisites for the module (if any)
None
8.
Lecturer
TBA
Contact No:
Room No:
E-mail:
9.
TBA
TBA
TBA
Summary of Content
This course will introduce a broad spectrum of web programming technologies. It
will begin with an overview of how the Internet and the Web work, including
fundamentals such as client-server paradigm, URLs, MIME types and HTTP. Then
client side technologies will be studies (HTML, CSS, Java Script and XML), followed
b 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.
10. Learning Outcomes
Knowledge and Understanding
 Broad basic knowledge of TCP/IP protocols, IP addresses and domain names,
client-server paradigm, URLs and HTTP. Knowledge of the capabilities of
technologies (both client-side and server side) that are used in the construction
of a Web site.
Professional Skills
 Technical skills required to design and implement web sites, including HTML,
stylesheets, Java Script, Java applets and PHP.
Transferable Skills
 To be able to solve problems in a variety of ways. The ability to structure and
communicate ideas effectively.
Page 50 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction, overview and module contents
Networking Basics
TCP/IP Protocols
HTTP and Internet Tools
HTML and Web Design
CSS, XML
Java Scripts
Java Applets
Server & Databases
PHP Workshop (A guest lecture)
Revision and discussion of past exam papers
12. Assessment details
Coursework 25%; Written Examination 75%
13. Resources
Suggested primary texts
Not Available
Suggested secondary texts
Not Available
14. Web Link
TBA
Page 51 of 70
1.
Module Code
G52CCN
2.
Title of Module
Computer Communications and Networks
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Mr KR. Selvaraj
Contact No: 03-8924-8139
Room No:
BB-60
E-mail:
[email protected]
9.
Summary of Content
This module aims to:
 present a broad overview of computer communications and networks
 provide an overview of underlying technologies including data transmission
techniques, Local Area Networks, Wide Area Networks, internet working and
network applications.
 Give students an understanding of the Internet environment and the TCP/IP
protocols.
10. Learning Outcomes
Knowledge and Understanding

An understanding of the principle technologies within the area.
Intellectual Skills

The ability to understand complex ideas and relate them to specific situations.
Professional Skills
 The ability to understand, evaluate and select appropriate network designs and
protocols.
Page 52 of 70
11. Weekly Programme
Week
No
1-3
4-7
8 - 10
11-12
Lecture
Topics
Part 1: Data Transmission
1. Introduction, Transmission media
2. Local asynchronous communication and RS-232
3. Long distance communication (carriers and modems)
Part 2: Packet Transmission
5. Packets, frames and error detection
6. Local Area Networks
7. Hardware addressing and frame types
8. LAN wiring and physical topology
9. Extending LANs
10.WAN technologies and routing
11. Ownership, service and performance
Part 3: Internetworking
12. Protocols and layering
13. Internetworking - concepts
14. IP addressing
15. IP datagrams
16. Future IP
17. Transport Control Protocol (TCP)
Part 4: Applications
18. Client-Server Interaction
19. The Socket API
20. Example applications
21. Revision
12. Assessment details
Written Examination 100%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Douglas E.
Comer
Year of
Publication
2004
Title of Book
Edition
Computer
Networks and
Internets
4th
Publisher’s
Name
Prentice Hall
ISBN
013123627X
Suggested secondary texts
No
1
Name of
Author(s)
Tanenbaum
2
Stallings
Year of
Publication
2003
2007
Title of Book
Edition
Computer Networks
4th
Data and Computer
Communications
8th
Publisher’s
Name
Prentice
Hall
Prentice
Hall
ISBN
0130661
023
0132381
958
14. Web Link
http://sepang.nottingham.edu.my/~krselvaraj
Page 53 of 70
1.
Module Code
G52CON
2.
Title of Module
Concepts of Concurrency
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51MCS Mathematics for Computer Scientists;
G51OOP Object-Oriented Programming (G51PRG 2009/10)
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Chew Sze-Ker (Mr)
Contact No: 03-89248140
Room No:
BB72
E-mail:
[email protected]
9.
Summary of Content
This module introduces the basic principles of concurrent programming and their
use in computer programs design. It covers concurrency primitives for shared
memory, distributed implementations of concurrency, the correctness of concurrent
algorithms and concurrent programming in Java. Building on these basic principles,
it explains how concurrency primitives and algorithms can be used to solve some
common problems in concurrent programming, e.g., the producer-consumer, the
readers and writers, and client server problems. Topics include hardware support
for concurrency, mutual exclusion and conditional synchronisation, semaphores,
monitors, RPC and rendezvous, safety and liveness properties of concurrent
algorithms, proving properties using assertional reasoning and model checking, and
the use of Java threads, synchronised methods, and monitors.
10. Learning Outcomes
Knowledge and Understanding
 Understanding of the concepts, problems and techniques of concurrent
programming.
Intellectual Skills
 Ability to understand complex concepts in concurrency and relate them to
specific situations.
Professional Skills
 Ability to write simple concurrent programs in Java, evaluate and select
appropriate algorithms.
Transferable Skills
 The ability to solve problems.
Page 54 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction, overview and module contents
Introduction, Thread
Synchornisation, Atomic Action
Mutual Exclusion
Semaphore
Monitor
Synchronisation in Java
Message Passing, Remote Invocation
Distributed Processing in Java
Proving Correctness
Revision and discussion of past exam papers
12. Assessment details
Written Examination 100%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Andrews
Year of
Publication
2000
2
Lea
1999
Title of Book
Edition
Foundations of
Multithreaded, Parallel
and Distributed
Programming
Concurrent
Programming in Java:
design principles and
patterns
2nd
Publisher’s
Name
Addison
Wesley
ISBN
0201357
526
Addison
Wesley
0201310
090
Suggested secondary texts
No
1
2
Name of
Author(s)
Ben-Ari
Andrews
Year of
Publication
2006
Title of Book
Principles of Concurrent
and Distributed
Programming
1991
Concurrent Programming:
principles and practice
Edition
2nd
Publisher
’s Name
Prentice
Hall
ISBN
200018
480X
Addison
Wesley
080530
864
14. Web Link
To be provided by the module convenor.
Page 55 of 70
1.
Module Code
G52MAL
2.
Title of Module
Machine and their Languages
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51FUN Functional Programming; G51MCS Mathematics for Computer Scientists;
G51PRG Programming
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Tomas Maul (Dr)
Contact No: 03-89248232
Room No:
BB64
E-mail:
[email protected]
9.
Summary of Content
A series of abstract machines, classes of formal languages and their relation is
investigated, along with important practical applications of this theory, in particular
language recognition (lexical and syntactic analysis). Ultimately the investigations
touch on the question of what can and cannot be computed. Topics covered include:
finite state machines, regular expressions, context-free grammars, push-down
automata, parsing and Turing machines.
10. Learning Outcomes
Knowledge and Understanding
 Understanding of the equivalence between machine and language types, the
nature of formal languages and their specification by grammars and other
notations, the practical and theoretical relevance of machines that process
strings from an alphabet of symbols as models of computation and the
fundamental limits on what is computable by any machine.
Intellectual Skills
 Apply and deploy mathematical ability, practices and tools; understand complex
ideas and relate them to specific problems or questions.
Professional Skills
 Understanding and ability to apply techniques for language specification.
Transferable Skills
 The ability to use mathematics to solve problems
Page 56 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction, overview and module contents
Preliminaries
Automata Theory; Deterministic Finite Automata (DFA)
Non Deterministic Finite Automata (NFA)
Subset Construction; Epsilon Transition
Regular Language and Regular Expressions; Minimisation of
Finite Automata
Properties of Language, Proving Languages not to be Regular
Introduction to Context free Grammar- Chomsky norms
Regular grammar, Derivations
Parse trees; Case Study - NLP
Pushdown Automata (PDA)
The Language of a PDA; Turing Machines and Decidability
12. Assessment details
Coursework 25%; Written Examination 75%
13. Resources
Suggested primary texts
No
Name of
Author(s)
Year of
Publicatio
n
John Hop Croft,
Rajeev Motwani,
Jeffrey.D.Ullman
Title of Book
Editio
n
Publisher’
s Name
Introduction to Automata
Theory, Languages and
computation
II
Addison
Wesley
ISBN
Suggested secondary texts
No
Name of
Author(s)
1
Peter lenz,
2
A.M.Padma
Reddy
Year of
Publicn
2003
Title of Book
Ed
Publisher
An introduction to formal
languages and Automata
III
Jones
and
Bartlett
Sri Nandi
Finite Automata and Formal
Languages
14. Web Link
http://baggins.nottingham.edu.my/~kcztm/Teaching.html
Page 57 of 70
ISBN
1.
Module Code
G52CPP
2.
Title of Module
C++ Programming
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51OOP Object-Oriented Programming (G51PRG 2009/10)
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Michael Chung (Mr)
Contact No: 03-89248142
Room No:
BB58
E-mail:
[email protected]
9.
Summary of Content
The course will cover programming material and concepts necessary to obtain a
thorough understanding of the C++ programming language for students with
experience with another imperative programming language such as Java or C#.
10. Learning Outcomes
Knowledge and Understanding
 Understanding of the theory and practice of object-oriented (C++)
programming.
Intellectual Skills
 Understand and logically evaluate program requirements and specifications.
 Understand the complex ideas of programming solutions and relate them to
particular problems.
Professional Skills
 The ability to write procedural and object-oriented programs in C++
Transferable Skills
 The ability to solve problems using programming and communicate the
results in writing.
Page 58 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
12
Lecture
Topic
Introduction
Introduction to Classes and Objects
Classes
Classes (cont.)
Operator overloading
Inheritance in C++
Polymorphism in C++
Templates
Stream Input/Output, Class String
Exception Handling
File Processing
STL
12. Assessment details
One courseworks (40%) and a two-hour written exam (60%).
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Deitel &
Deitel
Year of
Publication
2008
Title of Book
Edition
C++ How to
Program
6th
Publisher’s
Name
Pearson
ISBN
013242701-X
Suggested secondary texts
Not Available
14. Web Link
http://baggins.nottingham.edu.my/~kczmc/Teaching/G52CPP
Page 59 of 70
1.
Module Code
G52HCI
2.
Title of Module
Human Computer Interaction
3.
Number of credits
10
4.
Level
2
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G52GUI
7.
Co-requisites for the module (if any)
None
8.
Lecturer
TBA
Contact No:
Room No:
E-mail:
9.
TBA
TBA
TBA
Summary of Content
This module provides an overview of the field of Human Computer Interaction,
which aims to understand people’s interaction with technology and to apply this
knowledge in the design of usable interactive computer systems. The module will
introduce the concept of usability, examine different design approaches and
evaluation methods and illustrate the principles through an exploration of a number
of case studies.
10. Learning Outcomes
Knowledge and Understanding
 Understanding the importance of considering the human in the design of
interactive computer systems, with its associated issues and problems
 Knowledge of different design and evaluation methods
Intellectual Skills
 The ability to understand and evaluate interface specifications
Professional Skills
 The ability to recognize good and bad usability characteristics.
 Knowledge of interdisciplinary working practices
Transferable Skills
 The ability to solve interface design problems and communicating in a
structured and effective manner
Page 60 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction, overview and module contents
Understanding users - ethnography
Understanding users – organizational context
Understanding users - the cognitive perspective
Understanding users – art and design perspective
Requirements specifications
Designing GUIs
Participatory design and prototyping
Evaluating interfaces
The future of the interface
Revision and discussion of past exam papersl
12. Assessment details
Two Courseworks each worth 50%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Alan Dix, Janet
Finlay,
Gregory
Abowd & Russell
Beale
Year of
Publication
2004
Title of Book
Edition
3rd
Human
Computer
Interaction
Publisher’s
Name
Prentice
Hall
ISBN
0-13046109-1
Suggested secondary texts
No
1
Name of
Author(s)
Andrew Sears
and Julie A.
Jacko
Year of
Publication
2007
Title of
Book
The Human
Computer
Interaction
Handbook
Edition
2nd
Publisher’s
Name
CRC Press
ISBN
0-80585870-9
14. Web Link
TBA
Page 61 of 70
1.
Module Code
G53OPS
2.
Title of Module
Operating Systems
3.
Number of credits
10
4.
Level
3
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51PRG Programming
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Mr KR. Selvaraj
Contact No: 03-8924-8139
Room No:
BB-60
E-mail:
[email protected]
9.
Summary of Content
 to teach the theoretical background and practical implementation of traditional
operating systems and to consider the history and development of OS
10. Learning Outcomes
Knowledge and Understanding
 knowledge of key issues in the practical implementation of operating systems
Intellectual Skills
 the ability to think independently while giving due weight to the arguments of
others
 the ability to understand complex concepts and apply them to specific situations
Professional Skills
 enhanced programming skills
 the ability to evaluate and select appropriate algorithms and data structures
Transferable Skills
 the ability to solve OS design problems
Page 62 of 70
11. Weekly Programme
Week
No
1
Lecture
Topics
Introduction and background
2
In addition, the history of operating systems will be discussed and how they
have developed in line with advances in hardware.
Memory Management Part I
3
4
5
Memory Management Part II
Memory Management Part III
Processes Scheduling Part I
6
Processes Scheduling Part II
7
8
Processes Scheduling Part III
File Systems Part I
9
10
File Systems Part II
Input/output processes Part I
11
12
Input/output processes Part II
Summary and Revision
12. Assessment details
Written Examination 100%
13. Resources
Suggested primary texts
No
Name of Author(s)
1
Andrew S.
Tanenbaum
2
Abraham
Silberschatz and
Peter Galvin and
Greg Gagne
Year of
Publication
2001
2003
Title of Book
Edition
Modern
Operating
Systems
Operating
System
Concepts
2nd
6th
(or)
4th-5th
are OK
Publisher’s
Name
Prentice Hall
International
John Wiley &
sons
ISBN
0-13031358-0
0-47126272-2
Suggested secondary texts
No
1
2
Name of
Author(s)
Abraham
Silberschatz
and Peter
Galvin and
Greg Gagne
H. M. Deitel
Year of
Publication
2003
1990
Title of
Book
Applied
Operating
System
Concepts
Edition
Operating
Systems
2nd
1st
Publisher’s
Name
John Wiley &
sons
ISBN
0-471-26314-1
Addison Wesley
Longman Pubs.
0-20150939-3
14. Web Link
http://sepang.nottingham.edu.my/~krselvaraj
Page 63 of 70
1.
Module Code
G53ELC
2.
Title of Module
Enterprise Level Computing
3.
Number of credits
10
4.
Level
3
5.
Taught Semester and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
G52CCN Computer Communications and Networks, G51DBS Data Systems and
G51OOP Object-Oriented Programming (G51PRG 2009/10)
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Dr. Wang Wei
Contact No: 03-89248721
Room No:
BB63
E-mail:
[email protected]
9.
Summary of Content
This module provides an overview of more advanced Web architectures and
technologies. It will cover the development of web services through the use of
standards such as XML, SOAP, WSDL and UDDI and consider how web services can
be used to implement a Service Oriented Architecture (SOA). The module will also
provide an introduction to the Semantic Web. It explains how modern enterprises
construct computer applications that are distributed over an intranet. Multi-tiered
architectures will be covered in the context of object-oriented design and
implementation as distributed components. The module will describe the interface
to web technologies and the Internet and cover electronic commerce as an
important application. The Java 2 Enterprise Edition will be used as the basis for
the module and compared and contrasted with Microsoft .Net technology. Security
and additional materials in the field of networking and communication protocols,
tools and good practice will also be described and demonstrated.
10. Learning Outcomes
Knowledge and Understanding
 Design and implementation of multi-tier applications using distributed
component technology. The use of Windows Communication Foundation (WCF)
and Windows Presentation Foundation (WPF) and server-side technologies for
web page delivery and their security implications on intranets and the Internet.
Intellectual Skills
 The ability to understand and logically evaluate requirements and specifications
and the ability to understand complex ideas and relate them to specific problem.
Professional Skills
Page 64 of 70

The ability to implement server-side applications in an eCommerce application
using a variety or proprietary and open-source approaches and comparisons
between Microsoft and the Java 2 enterprise bean approach.
Transferable Skills
 Enhanced systems analysis, systems architecture design, developmental and
communication skills.
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Module Introduction
Database Conectivity I
Database Conectivity II
Server-side Processing and AJAX
Servlets
Java Server Pages
Java Directory and Naming Interface
Java and XML
Microsoft .NET Overview
Web Services
Case Study
12. Assessment details
Coursework 50%; Written Examination 50%
13. Resources
Suggested primary texts
No
Name of Author(s)
1
Jim Farley, William
Crawford
2
Dave Elliman
Year of
Publication
2005
-
Title of Book
Publisher’s
Name
'Reilly
Associates
0-59600152-5
-
-
-
Title of Book
Edition
ISBN
2nd
Publisher’s
Name
Sun Java
-
-
-
Java
Enterprise in
a Nutshell
The Student
Handbook for
the Module
Edition
3rd
ISBN
Suggested secondary texts
No
Name of Author(s)
1
-
2
Eric Jendrock, Ian
Evans, Devika
Gollapudi, Kim
Haase, Chinmayee
Srivathsa
Year of
Publication
-
2010
Designing
Enterprise
Applications with
the J2EE Platform
The Java EE 6
Tutorial
-
14. Web Link
http://baggins.nottingham.edu.my/~wangwei/teaching/G53ELC.php
Page 65 of 70
1.
Module Code
G53SEC
2.
Title of Module
Computer Security
3.
Number of credits
10
4.
Level
3
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51WPS Web Programming and Scripting
OR G52IWS Internet and the Web Services (200910)
OR G52CCN Computer Communications and Networks
OR Equivalent Knowledge of Networks and Computer Systems.
7.
Co-requisites for the module (if any)
None
8.
Lecturer
TBA
Contact No:
Room No:
E-mail:
9.
TBA
TBA
TBA
Summary of Content
The module covers the following topics: access control, reference monitors, security
models, cryptography, cryptanalysis, network security, software security and nature
inspired computer security methods.
10. Learning Outcomes
Knowledge and Understanding
 An understanding of security issues associated with networked computers.
 An appreciation of the strengths and weaknesses of available security
techniques.
 Experience of the use of such techniques in a protected networked
environment
Intellectual Skills
 The ability to think independently while giving due weight to the arguments
of others.
 The ability to understand complex security issues and relate them to specific
situations.
Professional Skills
 Enhanced systems programming skills.
 The ability to evaluate and select appropriate security techniques.
Transferable Skills
 The ability to work as part of a team to solve real security problems.
 An enhanced ability to produce detailed reports
Page 66 of 70
11. Weekly Programme
Week
1
2
3
4
5
6
7
8
9
10
11
12
Lecture Topic
Introduction & Overview
Foundations of Computer Security
Access Control
Reference Monitors
Security Models
Other Security Models
Cryptography 1
Cryptography 2
Network Security
Software Security
Nature Inspired Comp.
Student Presentations & Discussions
12. Assessment details
Written Examination
Coursework
60%
40%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Dieter
Gollmann
Year of
Publication
2006
Title of Book
Edition
Computer
Security
2nd
Publisher’s
Name
Wiley
ISBN
0470862939
Suggested secondary texts
No
1
Name of
Author(s)
Ross
Anderson
Year of
Publication
2008
Title of Book
Edition
Security
Engineering
2nd
Publisher’s
Name
PrenticeHall
ISBN
0470068523
14. Web Link
TBA
Page 67 of 70
1.
Module Code
G53NMD
2.
Title of Module
New Media Design
3.
Number of credits
10
4.
Level
3
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
None
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Dr. Timothy Brailsford
Contact No: 03-89248721
Room No:
BB63
E-mail:
[email protected]
9.
Summary of Content
This is a practical course covering the critical elements of the principles of design.
Such principles are applied to new media applications, with a particular focus on its
use in the context of the web. It also aims to give students a hands on experience
with emerging new media technologies. Technical issues such as colour, images,
audio, video and animation will be introduced and discussed in addition to usability
and interaction. Practical uses of multimedia authoring systems, content
management systems, flash and HTML 5 will form part of this module. Such tools
will be put into context with emerging paradigms and new media for mobile
platforms.
10. Learning Outcomes
To be able to design and produce multimedia objects.
Page 68 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction to Multimedia
Multimedia Authoring Systems; Interaction and Methaphor in
Multimedia Design
Graphics and Still Images Representation; Colour Science and
Color Models
Hypertext
Media Design: Text, Images, and Sound
Scalable Vector Graphics
Digital Audio
Architecture of Multimedia Systems
Synchronized Multimedia Integration Language
Digital Video
Intellectual Property Rights; Narrative
12. Assessment details
Group based development of a multimedia website and group report 75%;
Individual Essay 25%
13. Resources
Suggested primary texts
No
1
2
Name of
Author(s)
Barfield, L
Year of
Publication
2004
Li, Z. &
Drew,M.
2004
Title of Book
Design
for
New
Media: Interaction
design
for
multimedia and the
web
Fundamentals
of
Multimedia
Edition
1st
-
Publisher’s
Name
Pearson
AddisonWesley
Pearson
PrenticeHall
ISBN
9780201596090
9780130618726
Suggested secondary texts
No
1
Name of
Author(s)
Vaughan, T.
Year of
Publication
2007
Title of
Book
Multimedia
: Making It
Work
Edition
7th
Publisher’s
Name
McGraw-Hill
ISBN
9780072264517
14. Web Link
http://baggins.nottingham.edu.my/~wangwei/teaching/G53NMD.php
Page 69 of 70
1.
Module Code
G53DSM
2.
Title of Module
Decision Support Methodologies
3.
Number of credits
10
4.
Level
3
5.
Taught Semester and Assessment Period
Semester
Assessment
Spring
Assessed by end of Spring Semester
6.
Pre-requisites for admission to the module (if any)
G51MCS Mathematics for Computer Scientists
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Dr. Siang Yew Chong
Contact No: 03-89248148
Room No:
BB57
E-mail:
[email protected]
9.
Summary of Content
This module aims to:
 Provide a sound understanding of wide range of concepts, methods and
techniques of Operational Research and Artificial Intelligence that can help in
design of intelligent decision support systems.
 Present state-of-the-art of both advanced Operational Research and Artificial
Intelligence methods including multi-criteria decision making, decision making in
the presence of uncertainty, case-based reasoning, etc.
 Present a variety of examples from industrial and service sectors.
10. Learning Outcomes
Knowledge and Understanding
 Knowledge of how to model a range of real-world problems suitable for analysis
by Operational Research and Artificial Intelligence methods.
 Knowledge and understanding of a range of advanced Operational Research and
Artificial Intelligence methods and their applicability to a variety of real-world
decision making problems.
Intellectual Skills
 The ability to understand complex ideas and relate them to specific situations.
Professional Skills
 The ability to evaluate available Operational Research and Artificial Intelligence
methods and select those appropriate to a given task.
Transferable Skills
 Understanding of the fundamental issues behind the development of intelligent
decision support systems in different industrial and commercial environments.
Page 70 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
Lecture
Topic
Introduction.
Decision Making.
Strategic Decision Making.
Decision Support Systems.
Data Management and Modelling and Analysis.
Expert Systems.
Case-based Reasoning.
Multiobjective Optimization.
Fuzzy Systems.
Revision.
Coursework Discussion.
12. Assessment details
Written Examination 75%, Coursework 25%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Efraim
Turban,
Jay E. Aronson,
Ting-Peng Liang,
and
Ramesh
Sharda
Year of
Publication
2008
Title of Book
Edition
Decision Support
and
Business
Intelligence
Systems
8th
Publisher’s
Name
Prentice
Hall
ISBN
978-013198660-2
Suggested secondary texts
No
Name of Author(s)
1
Zbigniew
Michalewicz,
Martin
Schmidt,
Matthew
Michalewicz, and
Constantin Chiriac
Year of
Publication
2009
Title of Book
Adaptive
Business
Intelligence
Edition
1st
Publisher’s
Name
Springer
ISBN
978-3-64206948-2
14. Web Link
http://baggins.nottingham.edu.my/~khczcsy/G51DSM/G51DSM.html
Page 71 of 70
1.
Module Code
G54ACC
2.
Title of Module
Advanced Computer Communications
3.
Number of credits
10
4.
Level
4
5.
Semester in which module is taught and Assessment Period
Semester
Assessment
Autumn
Assessed by end of Autumn Semester
6.
Pre-requisites for admission to the module (if any)
G52CCN or equivalent knowledge of computer networking
7.
Co-requisites for the module (if any)
None
8.
Lecturer
Ho Sooi Hock
Contact No:
Room No:
E-mail:
9.
(Mr)
03-89248145
BB71
[email protected]
Summary of Content
The course gives a basic understanding of network-related initialization and the
operation of the main Internet protocols. It gives an insight into the service
definition and protocols of the most important network applications services. It
considers basic network architectures such as the client-server model and the more
complex
distributed
systems.
Consistent
examples
from
all-IP
core
telecommunications networks are used to illustrate transmission coding, error
control, media access, routing, presentation coding, services and security.
Introduction to technologies includes switch and router design, network processors,
and encryption.
10. Learning Outcomes
Knowledge and Understanding
 understanding of distributed systems concepts and issues, including DNS,
WWW/HTTP and network security issues.
 a grasp of basic client-server system implementation techniques
Intellectual Skills
 the ability to understand and evaluate requirements of and practical
constraints on designing distributed systems and protocols (using RMI and
socket-based communication)
Professional Skills
 the ability to evaluate and choose between possible distribution technologies
(e.g. RMI, TCP sockets)
 the ability to understand and reason about security weaknesses and
limitations of possible solutions in networked computer systems
Transferable Skills
 the ability to structure and communicate ideas effectively
Page 72 of 70
11. Weekly Programme
Week
No
1
2
3
4
5
6
7
8
9
10
11
12
Lecture
Topic
Introduction, overview and module contents
Review of TCP and IP functions; IP subnetting and supernetting
Problem of IP address exhaustion; Network auto-configuration
Transport layer protocol and socket programming
UDP/TCP comparison; Remote Procedure Call
Remote Method Invocations
IP multicast
Distributed Systems and domain name services
P2P systems
Firewalls
Revision
Review Past Year Papers
12. Assessment details
Written Examination 100%
13. Resources
Suggested primary texts
No
1
Name of
Author(s)
Kurose &
Ross
Year of
Publication
2008
Title of Book
Edition
Computer Networking:
A Top Down Approach
Featuring the Internet
4th
Publisher’s
Name
AddisonWesley
ISBN
0-32149770-8
Suggested secondary texts
No
1
Name of
Author(s)
Tannenbaum
Year of
Publication
2003
3
Comer
2004
Title of Book
Computer
Networks
Computer
Networks
Internets
Edition
4th
4th
and
Publisher’s
Name
Prentice
Hall
Prentice
Hall
ISBN
0-13038488-7
0-13123627-X
14. Web Link
http://sepang.nottingham.edu.my/~hsooihock/G54ACC/index.html
Page 73 of 70