Professional Documents
Culture Documents
Cs Moduledescriptions Ug2011
Cs Moduledescriptions Ug2011
Cs Moduledescriptions Ug2011
Full Year
Autumn Semester
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.
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
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.
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
13. Resources
Page 4 of 70
1. Module Code
G51MCS
2. Title of Module
Mathematics for Computer Scientists
3. Number of credits
10
4. Level
1
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).
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.
13. Resources
Page 6 of 70
and Games.
1. Module Code
G51REQ
2. Title of Module
Requirements Engineering
3. Number of credits
10
4. Level
1
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.
Page 7 of 70
Enhanced skills in report writing, presentation planning, preparation, delivery
and critical reflection
13. Resources
TBA
2. Title of Module
Programming
3. Number of credits
10
4. Level
1
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.
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.
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
13. Resources
Page 9 of 70
P
1. Module Code
G51APS
2. Title of Module
Algorithmic Problem Solving
3. Number of credits
10
4. Level
1
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.
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.
13. Resources
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
1. Module Code
G51UST
2. Title of Module
UNIX Software Tools
3. Number of credits
10
4. Level
1
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.
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.
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
13. Resources
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
2. Title of Module
Software Engineering Group Project.
3. Number of credits
20
4. Level
2
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.
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
13. Resources
Reference texts as relevant to the project topics.
Page 15 of 70
1. Module Code
G52SEM
2. Title of Module
Software Engineering Methodologies
3. Number of credits
10
4. Level
2
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.
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.
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
13. Resources
1. Module Code
G52ADS
2. Title of Module
Algorithms and Data Structures
3. Number of credits
10
4. Level
2
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.
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
A practical introduction
2 Shaffer, to data structures and Prentice
Clifford A. algorithm analysis Hall
1. Module Code
G52IFR
2. Title of Module
Introduction to Formal Reasoning
3. Number of credits
10
4. Level
2
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.
Intellectual Skills
The ability to understand and apply simple logical reasoning
Transferable Skills
The ability to use mathematics to solve problems.
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
1. Module Code
G52APR
2. Title of Module
Application Programming
3. Number of credits
10
4. Level
2
Page 22 of 70
6. Pre-requisites for admission to the module (if any)
G51OOP Object-Oriented Programming; (G51PRG 2009/10)
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.
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
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
13. Resources
1. Module Code
G52GUI
2. Title of Module
Graphical User Interface
3. Number of credits
10
4. Level
2
Page 24 of 70
Semester Assessment
Autumn Assessed by end of Autumn Semester
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.
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.
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
13. Resources
1. Module Code
G52IIP
2. Title of Module
Introduction to Image Processing
3. Number of credits
10
4. Level
Page 26 of 70
2
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
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
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
13. Resources
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
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
1. Module Code
Page 30 of 70
G53VIS
2. Title of Module
Computer Vision
3. Number of credits
10
4. Level
3
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.
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.
13. Resources
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
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.
Page 33 of 70
Program in various paradigms
Transferable Skills
The ability to solve problems
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
13. Resources
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
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.
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.
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
13. Resources
Page 36 of 70
quantifiable
improvement
1. Module Code
G53CMP
2. Title of Module
Compilers
3. Number of credits
10
4. Level
3
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.
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
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
17. Resources
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
1. Module Code
G54SIM
2. Title of Module
Simulation for Computer Scientists
3. Number of credits
10
4. Level
4
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.
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
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
13. Resources
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
MODULE OUTLINE
SPRING 2011-2012
1. Module Code
G51FUN
2. Title of Module
Functional Programming
3. Number of credits
10
4. Level
1
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.
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
13. Resources
Page 42 of 70
Hutton Haskell 69269-5
Not Available
1. Module Code
G51DBS
2. Title of Module
Database Systems
3. Number of credits
10
4. Level
1
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.
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
13. Resources
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
1. Module Code
G51FSE
2. Title of Module
Foundations of Software Engineering
3. Number of credits
10
4. Level
1
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.
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
Page 46 of 70
13. Resources
1. Module Code
G51OOP
2. Title of Module
Object-Oriented Programming
3. Number of credits
10
4. Level
1
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.
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
Page 48 of 70
Lab exercises (8*5%) 40%; Multiple choice questions 30%; Lab assessments
(3*10%) 30%
13. Resources
1. Module Code
G51IAI
2. Title of Module
Introduction to Artificial Intelligence
3. Number of credits
10
4. Level
1
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.
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
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
1. Module Code
G51WPS
2. Title of Module
Web Programming and Scripting
3. Number of credits
10
4. Level
1
Page 51 of 70
6. Pre-requisites for admission to the module (if any)
G51PRG Programming
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.
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
13. Resources
1. Module Code
G52CCN
2. Title of Module
Computer Communications and Networks
3. Number of credits
10
4. Level
2
Page 53 of 70
Semester Assessment
Autumn Assessed by end of Spring Semester
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.
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
13. Resources
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
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.
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
13. Resources
1. Module Code
G52MAL
2. Title of Module
Machine and their Languages
3. Number of credits
10
Page 57 of 70
4. Level
2
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.
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
13. Resources
1. Module Code
G52CPP
2. Title of Module
Page 59 of 70
C++ Programming
3. Number of credits
10
4. Level
2
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#.
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
13. Resources
1. Module Code
G52HCI
Page 61 of 70
2. Title of Module
Human Computer Interaction
3. Number of credits
10
4. Level
2
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.
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
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
13. Resources
1. Module Code
G53OPS
Page 63 of 70
2. Title of Module
Operating Systems
3. Number of credits
10
4. Level
3
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
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
13. Resources
Page 65 of 70
1. Module Code
G53ELC
2. Title of Module
Enterprise Level Computing
3. Number of credits
10
4. Level
3
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.
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.
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
13. Resources
Page 67 of 70
Evans, Devika
Gollapudi, Kim
Haase, Chinmayee
Srivathsa
2. Title of Module
Computer Security
3. Number of credits
10
4. Level
3
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.
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
13. Resources
Page 69 of 70
1. Module Code
G53NMD
2. Title of Module
New Media Design
3. Number of credits
10
4. Level
3
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.
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
13. Resources
Page 71 of 70
Work 7
1. Module Code
G53DSM
2. Title of Module
Decision Support Methodologies
3. Number of credits
10
4. Level
3
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.
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.
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.
13. Resources
Page 73 of 70
Martin Schmidt, Intelligence
Matthew
Michalewicz, and
Constantin
Chiriac
1. Module Code
G54ACC
2. Title of Module
Advanced Computer Communications
3. Number of credits
10
4. Level
4
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.
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
13. Resources
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
Page 76 of 70