Cs Moduledescriptions Ug2011

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 76

School of Computer Science

UNDERGRADUATE COMPUTER SCIENCE MODULES FOR 2011-2012

Full Year

Module Module Code Level


Software Engineering Group Project G52GRP 2
Individual Dissertation Single/Joint Honours G53IDS/J/Y 3

Autumn Semester

Module Module Code Level


Computer Systems Architecture G51CSA 1
Mathematics for Computer Science G51MCS 1
Requirements Engineering G51REQ 1
Programming G51PRG 1
Algorithmic Problem Solving G51APS 1
Unix and Software Tools G51UST 1
Software Engineering Methodologies G52SEM 2
Algorithms and Data Structures G52ADS 2
Introduction to Formal Reasoning G52IFR 2
Application Programming G52APR 2
Graphical User Interfaces G52GUI 2
Introduction to Image Processing G52IIP 2
Computer Vision G53VIS 3
System and Real-Time Programming G53SRP 3
Software Quality Management G53SQM 3
Compilers G53CMP 3
Simulation for Computer Scientists G54SIM 4

Spring Semester

Page 1 of 2
Module Module Code Level
Functional Programming G51FUN 1
Database Systems G51DBS 1
Foundations of Software Engineering G51FSE 1
Object-Oriented Programming G51OOP 1
Introduction to Artificial Intelligence G51IAI 1
Web Programming and Scripting G51WPS 1
Computer Communications and Networks G52CCN 2
Concepts of Concurrency G52CON 2
Machines and their Languages G52MAL 2
C++ Programming G52CPP 2
Human Computer Interaction G52HCI 2
Operating Systems G53OPS 3
Enterprise Level Computing G53ELC 3
Computer Security G53SEC 3
New Media Design G53NMD 3
Decision Support Methodologies G53DSM 3
Advanced Computer Communications G54ACC 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

MODULE OUTLINE
AUTUMN 2010-2011

1. Module Code

Page 2 of 70
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: Kr.selvaraj@nottingham.edu.m
y

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.

11. Weekly Programme

Week Lecture

Page 3 of 70
No Topics
Introduction & Concepts including Computer Evolution, performance & levels
1 of abstraction, and von Neumann architecture.
2 Data and Program Representation I , Introduction to SPIM
3 Data and Program Representation II; MIPS 32, Arithmetic, and System I/O.
4 Computer Systems Organization
5 Addressing modes and formats
6 Binary Arithmetic operations, Assembly Language
7 Instruction set and formats
8 Memory Systems. MIPS Procedure calling conventions and recursion.
9 Interrupts, Exception and I/O
10 CPU and Computer Architecture including Instruction Pipelining, Caching,
Parallel Architecture.
11 RISC- CISC Architecture
12 Revision

12. Assessment details


25% Coursework; 75% Written Examination

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publicati Name
on
1 2009 Computer 3rd or Elsevier/Morgan 9780123744937
David A. organization and 4th ed. Kaufmann,
Patterson, John design : the
L. Hennessy ; hardware/softw
with a are interface
contribution by
Peter J.
Ashenden,
James R. Larus,
Daniel J. Sorin,,

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’s ISBN


o Author(s) Publicatio n Name
n
1 Douglas E. 2005 Essentials of 3rd or Prentice Hall 013196426
Comer Computer 4th 7
Architecture; ed.
2. M. Morris 1993 Computer 3rd PHI, Englewood
Mano Systems ed. Cliffs, N.J. 013175738
Architecture; Prentice Hall 5
3. William Computer
Stallings 2003 Organization & 6th Prentice Hall
Architecture ed.
013049307
4

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: Tomas.Maul@nottingham.edu.m
y

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

Wee Lecture
k Topic
No
1
Introduction to the module. Some puzzles and games.
2 Propositional Logic.
3
Double Negation Elimination and Excluded Middle. Introduction
to truth tables. Boolean Algebra.
4
Number systems, order, floor, ceiling. Divisibility, quotient and
remainder.
5
Recursive Definitions. Euclid's Algorithm, Summations.
6
Induction. Summary of Arithmetics.
7 Sets and Functions 1
8 Sets and Functions 2
9
Quantifiers and finite sets. The pigeonhole principle, binomial
coefficients.
10
Pascal's Triangle and Hilbert's Hotel. Modular Arithmetic.
11 Revision.

12. Assessment details


Coursework 25%; Written Examination 75%.

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Norman L. 2003 Discrete 2nd Oxford 0198507178
Biggs Mathematics University
Press

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’s ISBN


o Author(s) Publication n Name
1 Douglas E. 2005 Discrete 1st Wiley 047147602
Ensley & J. Mathematics 1
Winston :
Crawley Mathematica
l Reasoning
and Proof
with Puzzles,
Patterns,

Page 6 of 70
and Games.

14. Web Link


http://baggins.nottingham.edu.my/~kcztm/TeachG51MCS.html

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: TBA
Room No: TBA
E-mail: TBA

9. 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

Page 7 of 70
 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
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: chew.sze-
ker@nottingham.edu.my

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.

Page 8 of 70
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.

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction to C compiler/Getting started with GCC
2 Procedures, Parameters, Values and Variables
3 Operators and Precedence
4 Conditionals and Loops
5 Pointers and scanf()
6 Arrays and Strings
7 String Processing
8 File Input/Output
9 Structures
10 Heap arrays and Linked List

12. Assessment details

100% Weekly continuous assessments

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Vine, 2009 C programming for 2nd Cengage 1-598-
Michael A the absolute Learning 63480-1
beginner

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’ ISBN


o Author(s) Publication n s Name
1 Kanetkar, 2008 Let us C 8th McGraw 978193401525
Yashavant Hill 4

Page 9 of 70
P

14. Web Link


http://moodle.nottingham.ac.uk

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: Siang-
Yew.Chong@nottingham.edu.my

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.

Page 10 of 70
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.

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction.
2 Invariants.
3 Crossing a River.
4 Games.
5 Knights and Knaves.
6 Induction.
7 Coursework Discussion.
8 Fake-Coin Detection.
9 Towers of Hanoi.
10 Revision.
11 Coursework Discussion.

12. Assessment details


Written Examination 100%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Roland 2008 Algorithmic
Backhouse Problem Solving

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’s ISBN


o Author(s) Publication n Name

Page 11 of 70
1 Paul Zeitz 2007 The Art and Craft 2nd John Wiley 978-0-471-
of Problem Solving and Sons 78901-7

2 Roland 2003 Program 1st John Wiley 978-0-470-


Backhouse Construction: and Sons 84882-1
Calculating
Implementations
from
Specifications
3 George 1973 How to Solve It: A 2nd Princeton 978-0-691-
Polya New Aspect of University 08097-0
Mathematical Press
Method
4 Zbigniew 2008 Puzzle-based 1st Hybrid 978-1-876-
Michalewicz Learning: Publishers 46263-5
and Introduction to
Matthew critical thinking,
Michalewicz mathematics, and
problem solving

14. Web Link


http://baggins.nottingham.edu.my/~khczcsy/G51APS/G51APS.html

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: 03-89248721
Room No: BB63
E-mail: wang.wei@nottingham.edu.m
y

9. 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

Page 12 of 70
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

Wee Lecture
k Topic
No
1 Introduction
2 The Unix Filestore
3 Unix File Processing
4 Editing Files and Emacs
5 Processes
6 Searching and Regular Expressions
7 Unix Network Utilities
8 Shell Programming
9 The Sed Editor and Advanced Sed
10 The Awk Programming Language and More Advanced Awk
11 Version Control and CVS
12 Compilers, Interpreters and Debuggers
13 UNIX Make
14 Review

12. Assessment details


1.5 hours written exam (75%) + coursework 25%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Arnold Robbins UNIX in a O’Reilly
Nutshell

Suggested secondary texts

Page 13 of 70
N Name of Year of Title of Book Editio Publisher’s ISBN
o Author(s) Publication n Name
1 UNIX and Shell
Behrouz A. programming:
Forouzan, a textbook
Richard F.
Gilberg
2 3rd Prentice Hall
Graham Glass 2003 Unix for
and King Ables Programmers
and Users
3
Randal K. Mastering Unix
Michael shell scripting

5th
4 Amir Afzal. Unix Prentice Hall
2008 Unbounded, A
Beginning
Approach

14. Web Link


http://baggins.nottingham.edu.my/~wangwei/teaching/G51UST.php
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: vp.kallimani.@nottingham.edu.m
y

9. Summary of Content

Page 14 of 70
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 engineering
methodologies
 the ability to evaluate, select and deploy tools and techniques
 the ability to work effectively and ethically with users

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
11. Weekly Programme

A typical sequence of lectures as below:


Wee Lecture
k Topic
No
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, trade-fair-style
demonstration, presentation, peer assessment – 80%
Individual reflective statement (individual report) – 20%

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: Kr.selvaraj@nottingham.edu.m

Page 16 of 70
y

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.
 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

Wee Lecture
k Topic
No
1 Introduction and Goals, Software Project Mnanagement, Vision and Scope
2 Use Case Analysis
3 Project Definition, Traditional Project Management
4 Agile teams and Interactive approaches
5 Estimating and Scheduling a project. An overview of prince 2
6 Tools and Infrastructure, SoftwareDevelopment Infrastructure for

Page 17 of 70
successful projects
7 Software Testing, TDD and Unit Testing with JUnit
8 Domain Modeling, Project Monitoring
9 Software Design, UML 2.0 as a design specification tool
10 Using design patterns, Achieving loose coupling, Clean code and
refactoring
11 Automated build and test, Producing documentation
12 Revision

12. Assessment details


Coursework 40%; Written Examination 60%

13. Resources

Recommended Background Reading

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Andrew 2006 Applied O'Reilly ISBN-10:
Stellman software 1st Media 05960094
and Jennifer project 88
Greene management
2 Cockburn, 2001 Writing 1st Addison- ISBN-11
Alistair effective use Wesley 02017022
cases 58
3 Kent Beck 2002 Test Driven 1st The Addison- ISBN-10:
Development Wesley 03211465
Signature 30
Series

14. Web Link


http://sepang.nottingham.edu.my/~krselvaraj

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

Page 18 of 70
8. Lecturer
Chew Sze-Ker (Mr)
Contact No: 03-89248140
Room No: BB72
E-mail: Chew.sze-
ker@nottingham.edu.my

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

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction, overview and module contents
2 Algorithms and analysis, data structures/abstract data types;
Sorting methods I: bubble sort, selection sort and insertion
sort
3 Sorting methods II: merge sort and quick sort; Stacks
4 Queues; Recursion
5 Linked list (single and double ended); Graph, DFS and BFS
6 Shortest path algorithms, minimum spanning tree
7 Topological sort; Hash table
8 Heaps, heap sort, priority queue
9 Tree, tree traversal; Binary search tree, balanced binary
search tree part 1 (AVL tree)
10 Balanced binary search tree part 2 (Red black tree); Multi-way
tree (2,3) and (2,3,4) trees
11 Revision and discussion of past exam papers

Page 19 of 70
12. Assessment details
Coursework 1 15%; Coursework 2 10%; Written Examination 75%

13. Resources

Suggested primary texts

No Name of Author(s) Year of Title of Book Edition Publisher’s ISBN


Publication Name
1 Michael Data Structures 3rd
T.Goodrich and and Algorithms in
Roberto Tamassia Java

Suggested secondary texts

No Name of Year of Title of Book Editio Publisher’s ISBN


Author(s) Publication n Name
1 Introduction to 2nd MIT Press
algorithms

A practical introduction
2 Shaffer, to data structures and Prentice
Clifford A. algorithm analysis Hall

3 Data structures, McGraw-


Sahni,
algorithms, and Hill
Sartaj
applications in Java

14. Web Link


To be provided by the module convenor.

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

Page 20 of 70
7. Co-requisites for the module (if any)
None

8. Lecturer
Michael Chung (Mr)
Contact No: 03-89248142
Room No: BB58
E-mail: michael.chung@nottingham.edu.m
y

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.

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction, overview and module contents
2 Coq Basics, Propositional Logic
3 More Coq, Classical Logic
4 Bool and Predicate Logic; General Predicate Logic
5 More Predicate Logic
6 Operations on Sets
7 Peano Arithmetic; Some Algebra
8 Primitive Recursion
9 The omega hotel, diagonalisation
10 Lists
11 Revision and discussion of past exam papers

Page 21 of 70
12. Assessment details
Coursework (25%) and a two-hour online exam (75%)

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Bertot, 2004 Interactive Theorem 1st Springer 3-540-
Yves & Proving and Program 20854-
Castéran, Development: Coq'Art: 2
Pierre The Calculus of
Inductive Constructions

Suggested secondary texts


Not Available

14. Web Link


http://baggins.nottingham.edu.my/~kczmc/Teaching/G52IFR/

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

Page 22 of 70
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: michael.chung@nottingham.edu.m
y

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

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction, overview and module contents
2 GUI Components I
3 GUI Components II
4 Multithreading
5 Networking
6 Coursework Discussion
7 Accessing Databases with JDBC
8 Web Applications I
9 Web Applications II

Page 23 of 70
10 Design Patterns
11 Revision and discussion of past exam papers

12. Assessment details


Coursework 1 25%; Coursework 2 25%; Written Examination 50%

13. Resources

Suggested primary texts

N Name of Year of Title of Book Edition Publisher’s ISBN


o Author(s) Publication Name
1 Deitel & Deitel 2007 Java How to 7th Pearson 0136132472
Program

Suggested secondary texts


Not Available

14. Web Link


http://baggins.nottingham.edu.my/~kczmc/Teaching/G52APR/

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

Page 24 of 70
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 or G52APR
Application Programming

7. Co-requisites for the module (if any)


None

8. Lecturer
Dr. Wang Wei
Contact No: 03-89248721
Room No: BB63
E-mail: wang.wei@nottingham.edu.m
y

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 high-
quality 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.

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction
2 A Simple Swing Example
3 Windows and Events
4 Events in Swing
5 Widgets
6 Components in Swing

Page 25 of 70
7 Layout
8 Layout in Swing
9 Abstract Widgets
10 Abstract Widgets Practice
11 Graphical Design

12. Assessment details


Coursework 100%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Dan Olsen 2009 Building 1st Course 978-
Interactive Technology 1423902485
Systems:
Principles for
Human-Computer
Interaction

Suggested secondary texts

No Name of Year of Title of Edition Publisher’s ISBN


Author(s) Publication Book Name
1 - Creating a - Sun Java -
- GUI With
JFC/Swing

14. Web Link


http://baggins.nottingham.edu.my/~wangwei/teaching/G52GUI.php

1. Module Code
G52IIP

2. Title of Module
Introduction to Image Processing

3. Number of credits
10

4. Level

Page 26 of 70
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 (Mr)
Contact No: 03-89248145
Room No: BB71
E-mail: ho.sooi-
hock@nottingham.edu.my

9. 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

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

Wee Lecture

Page 27 of 70
k Topic
No
1 Introduction, overview and module contents
2 Digital image fundamentals
3 Point and histogram processing
4 Spatial domain image filtering
5 Image sharpening, edge detection and Hough transform
6 Image filtering in the frequency domain
7 Colour model and colour image processing
8 Image segmentation
9 Image coding and image compression
10 3D transformation
11 Revision and discussion of past exam papersl

12. Assessment details


Coursework 25%; Written Examination 75%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Gonzalez & 2008 Digital Image 3rd Prentice Hall 0-13-
Woods Processing 168728-X

Suggested secondary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Efford 2000 Digital Image 1st Addison- 0-20-
Processing Using Wesley 159623-7
Java

14. Web Link


http://sepang.nottingham.edu.my/~hsooihock/G52IIP/index.html

1. Module Code
G53IDS/IDY/IDJ

2. Title of Module
Individual Dissertation Single Honours/Software Systems/Joint Honours

3. Number of credits

Page 28 of 70
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 (Mr)
Contact No: 03-89248139
Room No: BB60
E-mail: kr.selvaraj@nottingham.edu.m
y

9. 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 29 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%

1. Module Code

Page 30 of 70
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: Tomas.Maul@nottingham.edu.m
y

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 31 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 Lecture Topic


1
Introduction
2 Segmentation as Clustering. Region-based Segmentation.
3
Watersheds. The EM Algorithm.
4
Binocular Stereo. Camera Calibration.
5
Stereo Correspondence. Motion Analysis and Optic Flow.
6
Computing Optic Flow. Issues in Optic Flow.
7
Evaluation: Optic flow and segmentation. Introduction to Tracking.
8
The Kalman Filter. Snakes.
9
Particle Filters and Condensation.
10
Event Detection and Hidden Markov Models.
11 Revision.

12. Assessment details


Written Examination 75%
Coursework 25%

13. Resources

Suggested primary texts


None.

Suggested secondary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publicati Name
on
1 David A. 2002 Computer 1st Prentice Hall 013085198
Forsyth & Vision: A Modern 1
Jean Ponce Approach
2 E. R. Davies 2005 Machine Vision: 3rd Morgan 012206093
Theory, Kaufmann 8
Algorithms,
Practicalities

14. Web Link


http://baggins.nottingham.edu.my/~kcztm/TeachG53VIS.html

Page 32 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: TBA
Room No: TBA
E-mail: TBA

9. 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 fault-
tolerance; real-time processes and real-time scheduling; schedulability analysis; the
Real-Time Specification for Java (RTSJ); programming with clocks and time; real-
time 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

Page 33 of 70
 Program in various paradigms
Transferable Skills
 The ability to solve problems

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction, overview and module contents
2 Real time system, reliability, failure, and fault tolerance
techniques; Java, exceptions and threads
3 Concurrency and reliability; Concurrency programming with
Java threads
4 Concurrency control and communication; Java Concurrency I:
Synchronisation; Java Concurrency II: wait and notify
5 Java clocks and time; Case Study 1: Mines drain system
6 Introduction to Real Time Scheduling; RTSJ clocks and time
7 Real time thread; RTSJ asynchronous events
8 RTSJ deadlines and cost; Feasibility analysis
9 Resource sharing; Case Study 2: Chemical industry
10 RTSJ memory areas and parameters; Hardware interfacing
11 Revision and discussion of past exam papers

12. Assessment details


Written Examination 100%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Alan Burns March 2001 Real-Time 3rd Addison 0201729881
and Andy Systems and Wesley
Wellings Programming Longman
Language

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’s ISBN


o Author(s) Publicatio n Name
n
1 2004 Concurrent and 1st Wiley
Wellings, real-time
Andrew J programming in
Java

Page 34 of 70
14. Web Link
TBA

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: chew.sze-
ker@nottingham.edu.my

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.

Page 35 of 70
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

Wee Lecture
k Topic
No
1 Introduction to SQA/Software Quality Factors
2 Components of SQA Systems
3 Pre-project Software Quality/Integrating quality Activities
4 Software Reviews
5 Software Testing Strategies/Implementation
6 Software Quality Metrics
7 The Function Point Method
8 Presentation
9 Presentation
10 Presentation
11 Revision and discussion

12. Assessment details

60% Written examination open questions style


40% Courseworks include reports/assignments/presentation

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Malik 2006 Software Quality: a 1st McGraw Hill 0-070-
Kamna practitioner’s 24873-7
approach

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’s ISBN


o Author(s) Publication n Name
1 Tian Jeff 2005 Software Quality 1st Wiley 0-013-
Engineering: 06428-2
testing, quality
assurance and

Page 36 of 70
quantifiable
improvement

14. Web Link


http://moodle.nottingham.ac.uk

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: Tomas.Maul@nottingham.edu.m
y

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

Page 37 of 70
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
 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. Lecture
No Topic
1 Administrative Details and Introduction
2 Haskell Review & Coursework Support
3 Defining Programming Languages
4 Syntactic Analysis I (TD)
5 Syntactic Analysis II (BU) – A
6 Syntactic Analysis II (BU) – B
7 Contextual Analysis
8 Intermediate Code Generation – A
9 Intermediate Code Generation – B
10 Code Optimization
11 Revision

16. Assessment details


25% coursework, 75% examination.

17. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 lfred V. Aho, 2003 Compilers: Prentice 0-201-
Ravi Sethi and Principles, Hall 10194-7
Jeffrey Techniques &
D.Ullman, S. Tools

Suggested secondary texts

Page 38 of 70
N Name of Year of Title of Book Editio Publisher’s ISBN
o Author(s) Publication n Name
David A. 1999 Programming Prentice-
Watt and Language Hall
Deryck F. Processors in
Brown Java

18. Web Link


 Course website: http://baggins.nottingham.edu.my/~kcztm/TeachG53CMP.html

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: eyx6czy@nottingham.edu.m
y

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

Page 39 of 70
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
 The ability to retrieve and analyse information from a variety of sources and
produce detailed written reports on the result

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction to Modelling and Simulation
2 Simulation Studies: An Overview
3 Guest Lecture: Case Study1
4 Guest Lecture: Case Study2
5 Simulation Methods: System Dynamics Simulation
6 Simulation Methods: Discrete Event Simulation
7 Simulation Methods: Agent-Based Simulation
8 Conceptual Modelling
9 Input Modelling
10 Model Testing (Verification and Validation) + Experiment
Preparation (Part 1)
11 Experiment Preparation (Part 2) + Experimentation + Output
Analysis
12 Application of Simulation in the Real World

12. Assessment details


Written Examination 60%
Course Work 40%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Stewart 2004 Simulation: The Wiley, 9780470847725
Robinson Practice of Chichester,
Model UK

Page 40 of 70
Development
and Use
2 John 2000 Business McGraw-Hill 0072311355
Sterman Dynamics: Higher
Systems Education
Thinking and
Modelling for a
Complex World
3 Gilbert N 2005 Simulation for 2nd Open 0335216013
and the Social University
Troitzsch Scientist. Press
KG

Suggested secondary texts


Not Available

14. Web Link


TBA

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: michael.chung@nottingham.edu.m
y

9. Summary of Content
The module covers the following subjects: Hugs system; type information; defining
functions; list comprehensions; recursive functions; high-order functions,

Page 41 of 70
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

Wee Lecture
k Topic
No
1 Introduction: Course content, assessment, introduction to
functional language, history
2 The Hug system: Hugs, standard prelude, function
application, Haskell scripts, naming requirements,
layout rule
3 Type Information: Type errors, basic types, list types,
tuple types, function types – curried, polymorphic,
overloaded, basic classes
4 Defining functions: Conditional expressions, guarded
equations, pattern matching, lamda expressions,
sections
5 List comprehension: Introduction, dependent generators,
guards, zip functions, string comprehensions
6 Recursive functions: Introduction, recursion on lists,
multiple arguments
7 Higher order functions: map, filter, foldr, other library
functions
8 Interactive programs: Introduction, primitive actions,
sequencing actions, other library actions
9 Functional parsers: Introduction, primitive parsers,
sequencing parsers, other library parsers
10 Defining types: Type declarations, data declarations,
recursive types, examples
11 Lazy evaluations: Innermost & outermost evaluations, lambda
expressions, termination, number of structures, infinite
structures
12 Reasoning about programs

12. Assessment details


Coursework 1 15%; Coursework 2 10%; Written Examination 75%

13. Resources

Suggested primary texts

N Name of Year of Title of Book Edition Publisher’s ISBN


o Author(s) Publication Name
1 Graham 2007 Programming in 1st CUP 0-521-

Page 42 of 70
Hutton Haskell 69269-5

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’s ISBN


o Author(s) Publication n Name
1 Richard Bird 1988 Introduction 2nd Prentice 0-134-
to Functional Hall 84346-0
Programmin
g using
Haskell
2 Fethi Rabhi & 1999 Algorithms: 2nd Addison- 0-201-
Guy Lapalme a functional Wesley 59604-0
programmin
g approach
3 Simon 1999 Haskell: The 2nd Addison- 0-201-
Thompson Craft of Wesley 34275-8
Functional
Programmin
g

Not Available

14. Web Link


http://baggins.nottingham.edu.my/~kczmc/Teaching/G51FUN/fun.html

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: Kr.selvaraj@nottingham.edu.m
y

Page 43 of 70
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.

11. Weekly Programme

Wee Lecture
k Topics
No
1 Introduction to Database Systems, The Relational Model
2 Entity Relationship Modelling
3 SQL Data Definition
4 SQL SELECT
5 More SQL SELECT
6 SQL and Java
7 Normalization to 3NF and BCNF
8 Efficiency Issues
9 Transactions and Recovery, Concurrency
10 More Concurrency, Security and Integrity
11 Good and Bad ‘Modern’ Databases
12 Revision

12. Assessment details


Coursework 25%; Written Examination 75%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN

Page 44 of 70
Author(s) Publication Name
1 2005 Database Systems 3rd or Addison- 0321210255
Thomas - A Practical 4th ed. Wesley
Connolly and Approach to
Carolyn Begg, Design,
Implementation,
and Management

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’s ISBN


o Author(s) Publicatio n Name
n
1 R Elmasri and 2004 Fundamental 3rd or Addison- 0321204484
SB Navathe, s of Database 4th Wesley,
Systems, ed.
A.
2. Silberschatz,
H. F. Korth, 2002 Database 4th McGraw 0072283637
and S. System ed. -Hill
Sudarshan, Concepts,

3. Peter Rob, 2007 Database 7th Course 1418836508


Carlos Coronel System ed. Technology

14. Web Link


TBA

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

Page 45 of 70
Contact No: 03-8924-TBA
Room No: BB-TBA
E-mail: TBA-
@nottingham.edu.my

9. 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.
11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction to Object-oriented Software Engineering (OOSE) – Part 1
2 Introduction to Object-oriented Software Engineering (OOSE) – Part 2
3 Introduction to Object-oriented Software Engineering (OOSE) – Part 3
4 Object-orientation (OO)
5 Object-oriented Analysis (OOA)
6 Object-oriented Design (OOD) – Part 1
7 Object-oriented Design (OOD) – Part 2
8 Formal Specification
9 Architectural Design
10 Testing Principles and Managing Software Project – Part 1
11 Testing Principles and Managing Software Project – Part 2
Revision and review past examination questions

12. Assessment details


Coursework 30%; Written Examination 70%

Page 46 of 70
13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Ian 2006 Software 8th Addison 13: 978-
Sommerville Engineering Wesley 0321313799

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’s ISBN


o Author(s) Publication n Name
1 Roger S 2004 Software 6th McGraw- 13: 978-
Pressman Engineering: Hill 007301933
A 8
Practitioner's
Approach

14. Web Link


http://sepang.nottingham.edu.my/~?????

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

Page 47 of 70
8. Lecturer
Chew Sze-Ker (Mr)
Contact No: 03-89248140
Room No: BB72
E-mail: Chew.sze-
ker@nottingham.edu.my

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

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction to Objects/Classes
2 Inheritance
3 Polymorphism
4 Event Handling and Exception
5 File Processing
6 Interfaces and Inner Classes
7 Linked Data Structures
8 Graphical User Interfaces I
9 Graphical User Interfaces II
10 Coursework discussions
11 Revision and discussion of past exam papers

12. Assessment details

Page 48 of 70
Lab exercises (8*5%) 40%; Multiple choice questions 30%; Lab assessments
(3*10%) 30%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Absolutely Java 4th

2 Bishop 2001 Java Gently 3rd Addison


J.M. Wesley

Suggested secondary texts

No Name of Year of Title of Book Edition Publisher ISBN


Author(s) Publication ’s Name
1 Deitel, 2003 Java: How to Program 5th Prentice
Harvey M. Hall

14. Web Link


To be provided by the module convenor.

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

Page 49 of 70
7. Co-requisites for the module (if any)
None

8. Lecturer
Ho Sooi Hock (Mr)
Contact No: 03-89248145
Room No: BB71
E-mail: ho.sooi-
hock@nottingham.edu.my

9. 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

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction, overview and module contents
2 Reasons for AI; History of AI
3 Problem formulation
4 Uninformed search – BFS, DFS, UCS, DLS, IDS
5 Heuristic search techniques – BFS, GFS and A*
6 Tutorials on search techniques; Discussion on courseworks
7 Game playing techniques
8 Tutorial on minimax application and alpha-beta pruning
9 Introduction to neural networks
10 Perceptron learning
11 Revision and discussion of past exam papersl

Page 50 of 70
12. Assessment details
Written Examination 100%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Stuart J. 2010 Artificial 3rd Prentice 0-13-
Russell & Intelligence :A Hall 604259-7
Peter Norvig Modern Approach

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’ ISBN


o Author(s) Publication n s Name
1 George F 2008 Artificial 6th Addison 0-321-
Luger Intelligence:Structure Wesley 54589-3
s and strategies for
Complex Problem
Solving

14. Web Link


http://sepang.nottingham.edu.my/~hsooihock/G51IAI/index.html

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

Page 51 of 70
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: TBA
Room No: TBA
E-mail: TBA

9. 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.

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction, overview and module contents
2 Networking Basics
3 TCP/IP Protocols
4 HTTP and Internet Tools
5 HTML and Web Design
6 CSS, XML
7 Java Scripts
8 Java Applets
9 Server & Databases

Page 52 of 70
10 PHP Workshop (A guest lecture)
11 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

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

Page 53 of 70
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: Kr.selvaraj@nottingham.edu.m
y

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.

11. Weekly Programme

Wee Lecture
k Topics
No
1-3 Part 1: Data Transmission
1. Introduction, Transmission media
2. Local asynchronous communication and RS-232
3. Long distance communication (carriers and modems)
4-7 Part 2: Packet Transmission
5. Packets, frames and error detection
6. Local Area Networks

Page 54 of 70
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
8- Part 3: Internetworking
10 12. Protocols and layering
13. Internetworking - concepts
14. IP addressing
15. IP datagrams
16. Future IP
17. Transport Control Protocol (TCP)
11-12 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 Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 2004 Computer 4th Prentice Hall 013123627X
Douglas E. Networks and
Comer Internets

Suggested secondary texts

N Name of Year of Title of Book Edition Publisher’s ISBN


o Author(s) Publication Name
1 Tanenbaum 2003 Computer Networks 4th Prentice 0130661
Hall 023
2 Stallings 2007 Data and Computer 8th Prentice 0132381
Communications Hall 958

14. Web Link


http://sepang.nottingham.edu.my/~krselvaraj

1. Module Code
G52CON

2. Title of Module
Concepts of Concurrency

3. Number of credits
10

4. Level
2

Page 55 of 70
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: Chew.sze-
ker@nottingham.edu.my

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.

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction, overview and module contents
2 Introduction, Thread
3 Synchornisation, Atomic Action
4 Mutual Exclusion

Page 56 of 70
5 Semaphore
6 Monitor
7 Synchronisation in Java
8 Message Passing, Remote Invocation
9 Distributed Processing in Java
10 Proving Correctness
11 Revision and discussion of past exam papers

12. Assessment details


Written Examination 100%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Andrews 2000 Foundations of Addison 0201357
Multithreaded, Parallel Wesley 526
and Distributed
Programming

2 Lea 1999 Concurrent 2nd Addison 0201310


Programming in Java: Wesley 090
design principles and
patterns

Suggested secondary texts

No Name of Year of Title of Book Edition Publisher ISBN


Author(s) Publication ’s Name
1 Ben-Ari 2006 Principles of Concurrent 2nd Prentice 20001
and Distributed Hall 8480X
Programming
2 Andrews 1991 Addison 08053
Concurrent Programming: Wesley 0864
principles and practice

14. Web Link


To be provided by the module convenor.

1. Module Code
G52MAL

2. Title of Module
Machine and their Languages

3. Number of credits
10

Page 57 of 70
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: Tomas.Maul@nottingham.edu.m
y

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

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction, overview and module contents
2 Preliminaries

Page 58 of 70
3 Automata Theory; Deterministic Finite Automata (DFA)
4 Non Deterministic Finite Automata (NFA)
5 Subset Construction; Epsilon Transition
6 Regular Language and Regular Expressions;
Minimisation of Finite Automata
7 Properties of Language, Proving Languages not to be
Regular
8 Introduction to Context free Grammar- Chomsky norms
Regular grammar, Derivations
9 Parse trees; Case Study - NLP
10 Pushdown Automata (PDA)
11 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 Year of Title of Book Editio Publisher’ ISBN


Author(s) Publicatio n s Name
n
John Hop Croft, Introduction to Automata II Addison
Rajeev Motwani, Theory, Languages and Wesley
Jeffrey.D.Ullman computation

Suggested secondary texts

No Name of Year of Title of Book Ed Publisher ISBN


Author(s) Publicn
1 Peter lenz, An introduction to formal III Jones
languages and Automata and
Bartlett
2 A.M.Padm 2003 Finite Automata and Formal Sri
a Reddy Languages Nandi

14. Web Link


http://baggins.nottingham.edu.my/~kcztm/Teaching.html

1. Module Code
G52CPP

2. Title of Module

Page 59 of 70
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: michael.chung@nottingham.edu.m
y

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.

11. Weekly Programme

Wee Lecture

Page 60 of 70
k Topic
No
1 Introduction
2 Introduction to Classes and Objects
3 Classes
4 Classes (cont.)
5 Operator overloading
6 Inheritance in C++
7 Polymorphism in C++
8 Templates
9 Stream Input/Output, Class String
10 Exception Handling
11 File Processing
12 STL

12. Assessment details


One courseworks (40%) and a two-hour written exam (60%).

13. Resources

Suggested primary texts

N Name of Year of Title of Book Edition Publisher’s ISBN


o Author(s) Publication Name
1 Deitel & 2008 C++ How to 6th Pearson 0-
Deitel Program 13242701-X

Suggested secondary texts


Not Available

14. Web Link


http://baggins.nottingham.edu.my/~kczmc/Teaching/G52CPP

1. Module Code
G52HCI

Page 61 of 70
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: TBA
Room No: TBA
E-mail: TBA

9. 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

11. Weekly Programme

Wee Lecture

Page 62 of 70
k Topic
No
1 Introduction, overview and module contents
2 Understanding users - ethnography
3 Understanding users – organizational context
4 Understanding users - the cognitive perspective
5 Understanding users – art and design perspective
6 Requirements specifications
7 Designing GUIs
8 Participatory design and prototyping
9 Evaluating interfaces
10 The future of the interface
11 Revision and discussion of past exam papersl

12. Assessment details


Two Courseworks each worth 50%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Alan Dix, Janet 2004 Human 3rd Prentice 0-13-
Finlay, Gregory Computer Hall 046109-1
Abowd & Russell Interaction
Beale

Suggested secondary texts

No Name of Year of Title of Edition Publisher’s ISBN


Author(s) Publication Book Name
1 2007 The Human 2nd CRC Press 0-8058-
Andrew Computer 5870-9
Sears and Interaction
Julie A. Jacko Handbook

14. Web Link


TBA

1. Module Code
G53OPS

Page 63 of 70
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: Kr.selvaraj@nottingham.edu.m
y

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

11. Weekly Programme

Page 64 of 70
Wee Lecture
k Topics
No
1 Introduction and background
In addition, the history of operating systems will be discussed and how they
have developed in line with advances in hardware.
2 Memory Management Part I
3 Memory Management Part II
4 Memory Management Part III
5 Processes Scheduling Part I
6 Processes Scheduling Part II
7 Processes Scheduling Part III
8 File Systems Part I
9 File Systems Part II
10 Input/output processes Part I
11 Input/output processes Part II
12 Summary and Revision

12. Assessment details


Written Examination 100%

13. Resources

Suggested primary texts

No Name of Author(s) Year of Title of Book Edition Publisher’s ISBN


Publication Name
1 Andrew S. 2001 Modern 2nd Prentice Hall 0-13-
Tanenbaum Operating International 031-
Systems 358-0
2 Abraham 2003 Operating 6th John Wiley & 0-471-
Silberschatz and System (or) sons 26272-2
Peter Galvin and Concepts 4th-5th
Greg Gagne are OK

Suggested secondary texts

N Name of Year of Title of Edition Publisher’s ISBN


o Author(s) Publication Book Name
Abraham Applied John Wiley & 0-471-
1 Silberschatz 2003 Operating 1st sons 263-14-1
and Peter System
Galvin and Concepts
Greg Gagne
2 H. M. Deitel 1990 Operating 2nd Addison Wesley 0-20-
Systems Longman Pubs. 150939-3

14. Web Link


http://sepang.nottingham.edu.my/~krselvaraj

Page 65 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: wang.wei@nottingham.edu.m
y

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.

Page 66 of 70
Professional Skills
 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

Wee Lecture
k Topic
No
1 Module Introduction
2 Database Conectivity I
3 Database Conectivity II
4 Server-side Processing and AJAX
5 Servlets
6 Java Server Pages
7 Java Directory and Naming Interface
8 Java and XML
9 Microsoft .NET Overview
10 Web Services
11 Case Study

12. Assessment details


Coursework 50%; Written Examination 50%

13. Resources

Suggested primary texts

No Name of Author(s) Year of Title of Book Edition Publisher’s ISBN


Publication Name
1 Jim Farley, William 2005 Java 3rd 'Reilly 0-596-
Crawford Enterprise in Associates 00152-5
a Nutshell
2 Dave Elliman - The Student - - -
Handbook for
the Module

Suggested secondary texts

N Name of Author(s) Year of Title of Book Editio Publisher’s ISB


o Publicatio n Name N
n
1 - - Designing 2nd Sun Java -
Enterprise
Applications with
the J2EE
Platform
2 2010 The Java EE 6 - - -
Eric Jendrock, Ian Tutorial

Page 67 of 70
Evans, Devika
Gollapudi, Kim
Haase, Chinmayee
Srivathsa

14. Web Link


http://baggins.nottingham.edu.my/~wangwei/teaching/G53ELC.php
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: TBA
Room No: TBA
E-mail: TBA

9. 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.

Page 68 of 70
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

11. Weekly Programme

Week Lecture Topic


1 Introduction & Overview
2 Foundations of Computer Security
3 Access Control
4 Reference Monitors
5 Security Models
6 Other Security Models
7 Cryptography 1
8 Cryptography 2
9 Network Security
10 Software Security
11 Nature Inspired Comp.
12 Student Presentations & Discussions

12. Assessment details


Written Examination 60%
Coursework 40%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Dieter 2006 Computer 2nd Wiley 0470862939
Gollmann Security

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’s ISBN


o Author(s) Publication n Name
1 Ross 2008 Security 2nd Prentice- 047006852
Anderson Engineering Hall 3

14. Web Link


TBA

Page 69 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: wang.wei@nottingham.edu.m
y

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 70 of 70
11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction to Multimedia
2 Multimedia Authoring Systems; Interaction and Methaphor in
Multimedia Design
3 Graphics and Still Images Representation; Colour Science and
Color Models
4 Hypertext
5
Media Design: Text, Images, and Sound
6 Scalable Vector Graphics
7 Digital Audio
8 Architecture of Multimedia Systems
9 Synchronized Multimedia Integration Language
10 Digital Video
11 Intellectual Property Rights; Narrative

12. Assessment details


Group based development of a multimedia website and group report 75%;
Individual Essay 25%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Barfield, L 2004 Design for New 1st Pearson 978-
Media: Interaction Addison- 0201596090
design for Wesley
multimedia and the
web
2 Li, Z. & 2004 Fundamentals of - Pearson 978-
Drew,M. Multimedia Prentice- 0130618726
Hall

Suggested secondary texts

No Name of Year of Title of Edition Publisher’s ISBN


Author(s) Publication Book Name
1 Vaughan, T. 2007 Multimedia 7th McGraw-Hill 978-
: Making It 007226451

Page 71 of 70
Work 7

14. Web Link


http://baggins.nottingham.edu.my/~wangwei/teaching/G53NMD.php

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: Siang-
Yew.Chong@nottingham.edu.my

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

Page 72 of 70
 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.

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction.
2 Decision Making.
3 Strategic Decision Making.
4 Decision Support Systems.
5 Data Management and Modelling and Analysis.
6 Expert Systems.
7 Case-based Reasoning.
8 Multiobjective Optimization.
9 Fuzzy Systems.
10 Revision.
11 Coursework Discussion.

12. Assessment details


Written Examination 75%, Coursework 25%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 2008 Decision Support 8th Prentice 978-0-
Efraim Turban, and Business Hall 131-
Jay E. Aronson, Intelligence 98660-2
Ting-Peng Liang, Systems
and Ramesh
Sharda

Suggested secondary texts

N Name of Year of Title of Book Editio Publisher’s ISBN


o Author(s) Publicatio n Name
n
1 Zbigniew 2009 Adaptive 1st Springer 978-3-642-
Michalewicz, Business 06948-2

Page 73 of 70
Martin Schmidt, Intelligence
Matthew
Michalewicz, and
Constantin
Chiriac

14. Web Link


http://baggins.nottingham.edu.my/~khczcsy/G51DSM/G51DSM.html

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 (Mr)
Contact No: 03-89248145
Room No: BB71
E-mail: ho.sooi-
hock@nottingham.edu.my

9. 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.

Page 74 of 70
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

11. Weekly Programme

Wee Lecture
k Topic
No
1 Introduction, overview and module contents
2 Review of TCP and IP functions; IP subnetting and
supernetting
3 Problem of IP address exhaustion; Network auto-
configuration
4 Transport layer protocol and socket programming
5 UDP/TCP comparison; Remote Procedure Call
6 Remote Method Invocations
7 IP multicast
8 Distributed Systems and domain name services
9 P2P systems
10 Firewalls
11 Revision
12 Review Past Year Papers

12. Assessment details


Written Examination 100%

13. Resources

Suggested primary texts

No Name of Year of Title of Book Edition Publisher’s ISBN


Author(s) Publication Name
1 Kurose & 2008 Computer Networking: 4th Addison- 0-321-
Ross A Top Down Approach Wesley 49770-8
Featuring the Internet

Suggested secondary texts

Page 75 of 70
N Name of Year of Title of Book Editio Publisher’s ISBN
o Author(s) Publication n Name
1 Tannenbau 2003 Computer 4th Prentice 0-13-
m Networks Hall 038488-7
3 Comer 2004 Computer 4th Prentice 0-13-
Networks and Hall 123627-X
Internets

14. Web Link


http://sepang.nottingham.edu.my/~hsooihock/G54ACC/index.html

Page 76 of 70

You might also like