MODULE SPECIFICATION Template Guidance - … · Web viewBehrouz A. Forouzan, Richard F. Gilberg...
-
Upload
nguyenhuong -
Category
Documents
-
view
229 -
download
0
Transcript of MODULE SPECIFICATION Template Guidance - … · Web viewBehrouz A. Forouzan, Richard F. Gilberg...
School of Computer Science UNDERGRADUATE COMPUTER SCIENCE MODULES FOR 2011-2012
Full Year
Module Module Code LevelSoftware Engineering Group Project G52GRP 2Individual Dissertation Single/Joint Honours G53IDS/J/Y 3
Autumn Semester
Module Module Code LevelComputer Systems Architecture G51CSA 1Mathematics for Computer Science G51MCS 1Requirements Engineering G51REQ 1Programming G51PRG 1Algorithmic Problem Solving G51APS 1Unix and Software Tools G51UST 1Software Engineering Methodologies G52SEM 2Algorithms and Data Structures G52ADS 2Introduction to Formal Reasoning G52IFR 2Application Programming G52APR 2Graphical User Interfaces G52GUI 2Introduction to Image Processing G52IIP 2Computer Vision G53VIS 3System and Real-Time Programming G53SRP 3Software Quality Management G53SQM 3Compilers G53CMP 3Simulation for Computer Scientists G54SIM 4
Spring Semester
Module Module Code Level
Page 1 of 2
Functional Programming G51FUN 1Database Systems G51DBS 1Foundations of Software Engineering G51FSE 1Object-Oriented Programming G51OOP 1Introduction to Artificial Intelligence G51IAI 1Web Programming and Scripting G51WPS 1Computer Communications and Networks G52CCN 2Concepts of Concurrency G52CON 2Machines and their Languages G52MAL 2C++ Programming G52CPP 2Human Computer Interaction G52HCI 2Operating Systems G53OPS 3Enterprise Level Computing G53ELC 3Computer Security G53SEC 3New Media Design G53NMD 3Decision Support Methodologies G53DSM 3Advanced 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
Page 2 of 70
MODULE OUTLINEAUTUMN 2010-2011
1. Module Code G51CSA
2. Title of Module Computer Systems Architecture
3. Number of credits 10
4. Level 1
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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. LecturerMr KR. SelvarajContact No: 03-8924-8139Room No: BB-60E-mail: [email protected]
9. Summary of Content The module aims to: give a broad understanding of the internal operation and structure of a modern
PC or workstation; show how a computer is built up from a relatively simple digital circuit by
successive elaboration to form a number of logical layers of functionality; show that hardware and software are often equivalent in this context; allow the students to appreciate the typical facilities and mechanisms
underlying the operation of various high-level programming operations and facilities;
allow the students to appreciate the key conceptual steps underlying the evolution or realisation of a conventional stored-program digital computer.
10. Learning Outcomes Knowledge and Understanding Ability to understand simple assembly language programs and the major
components (especially hardware) which make up a computer system. Professional Skills To be able to program in assembly language.
11. Weekly Programme
Page 3 of 70
WeekNo
LectureTopics
1Introduction & Concepts including Computer Evolution, performance & levels of abstraction, and von Neumann architecture.
2 Data and Program Representation I , Introduction to SPIM3 Data and Program Representation II; MIPS 32, Arithmetic, and System I/O.4 Computer Systems Organization5 Addressing modes and formats6 Binary Arithmetic operations, Assembly Language 7 Instruction set and formats8 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 Architecture12 Revision
12. Assessment details25% Coursework; 75% Written Examination
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publicati
on
Title of Book Edition
Publisher’s Name
ISBN
1David A.
Patterson, John L. Hennessy ;
with a contribution by
Peter J. Ashenden,
James R. Larus, Daniel J. Sorin,,
2009 Computer organization and
design : the hardware/softwa
re interface
3rd or 4th ed.
Elsevier/Morgan Kaufmann,
9780123744937
Suggested secondary texts
No
Name of Author(s)
Year of Publicatio
n
Title of Book Edition
Publisher’s Name
ISBN
1
2.
3.
Douglas E. Comer
M. Morris Mano
William Stallings
2005
1993
2003
Essentials of Computer
Architecture; Computer Systems
Architecture; Computer
Organization & Architecture
3rd or 4th ed.3rd ed.
6th ed.
Prentice Hall
PHI, Englewood Cliffs, N.J. Prentice Hall
Prentice Hall
0131964267
0131757385
0130493074
14. Web Linkhttp://sepang.nottingham.edu.my/~krselvaraj
1. Module Code
Page 4 of 70
G51MCS
2. Title of Module Mathematics for Computer Scientists
3. Number of credits 10
4. Level 1
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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. LecturerTomas Maul (Dr)Contact No: 03-89248232Room No: BB64E-mail: [email protected]
9. Summary of ContentThe 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 OutcomesKnowledge 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.
11. Weekly Programme
Wee Lecture
Page 5 of 70
kNo
Topic
1Introduction to the module. Some puzzles and games.
2 Propositional Logic.3
Double Negation Elimination and Excluded Middle. Introduction to truth tables. Boolean Algebra.
4Number systems, order, floor, ceiling. Divisibility, quotient and remainder.
5Recursive Definitions. Euclid's Algorithm, Summations.
6Induction. Summary of Arithmetics.
7 Sets and Functions 18 Sets and Functions 29
Quantifiers and finite sets. The pigeonhole principle, binomial coefficients.
10Pascal's Triangle and Hilbert's Hotel. Modular Arithmetic.
11 Revision.
12. Assessment detailsCoursework 25%; Written Examination 75%.
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Norman L. Biggs
2003 Discrete Mathematics
2nd Oxford University Press
0198507178
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Douglas E. Ensley & J. Winston Crawley
2005 Discrete Mathematics: Mathematical Reasoning and Proof with Puzzles, Patterns, and Games.
1st Wiley 0471476021
14. Web Linkhttp://baggins.nottingham.edu.my/~kcztm/TeachG51MCS.html
Page 6 of 70
1. Module Code G51REQ
2. Title of Module Requirements Engineering
3. Number of credits 10
4. Level 1
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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. LecturerTBAContact No: TBARoom No: TBAE-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 Enhanced skills in report writing, presentation planning, preparation, delivery
and critical reflection
11. Weekly ProgrammeTBD
Page 7 of 70
12. Assessment details2 courseworks each worth 50%
13. Resources
TBA
14. Web LinkTBA
1. Module Code G51PRG
2. Title of Module Programming
3. Number of credits 10
4. Level 1
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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. LecturerChew Sze-Ker (Mr)Contact No: 03-89248140Room No: BB72E-mail: [email protected]
9. Summary of Content This module is part of the Programming theme in the School of Computer Science.
The basic concepts of programming including: problem solving, compiling, editing, debugging, elementary programming, conditionals, loops, functions and procedures, arrays and strings, direct and indirect access, memory and pointers, iteration and recursion and data structures. These concepts will be illustrated by practical example in a suitable language.
Please note: This is a non-compensatable module.
10. Learning Outcomes Knowledge and Understanding Understanding of the theory and practice of procedural and object-oriented
programming.
Intellectual Skills Understand and logically evaluate program requirements and specifictions.
Understand the complex ideas of programming solutions and relate them to particular problems.
Page 8 of 70
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
Week
No
LectureTopic
1 Introduction to C compiler/Getting started with GCC2 Procedures, Parameters, Values and Variables3 Operators and Precedence4 Conditionals and Loops5 Pointers and scanf()6 Arrays and Strings7 String Processing8 File Input/Output9 Structures
10 Heap arrays and Linked List
12. Assessment details
100% Weekly continuous assessments
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Vine, Michael A
2009 C programming for the absolute beginner
2nd Cengage Learning
1-598-63480-1
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Kanetkar, Yashavant
P
2008 Let us C 8th McGraw Hill
9781934015254
14. Web Linkhttp://moodle.nottingham.ac.uk
Page 9 of 70
1. Module Code G51APS
2. Title of Module Algorithmic Problem Solving
3. Number of credits 10
4. Level 1
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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. LecturerDr. Siang Yew ChongContact No: 03-89248148Room No: BB57E-mail: [email protected]
9. Summary of Content This module is based around two topics: (a) solving logic and other puzzles and (b) finding winning strategies for simple two-person games. Problem solving principles introduced are formal mathematical modelling of a problem (using elements of logic and graph theory), invariants and recursion and development of some algebraic manipulation skills.
10. Learning Outcomes Knowledge and Understanding How to approach novel problems and formulate a plan for their solution.
Intellectual Skills The art of effective reasoning Problem decomposition. Avoidance of case analysis. What to name and what not to name.
Professional Skills Problem analysis. Ability to identify and communicate relevant information.
Transferable Skills The art of effective reasoning, supporting, in particular, formulation and solution
of programming problems in sound mathematical terms.
Page 10 of 70
11. Weekly Programme
Week
No
LectureTopic
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 detailsWritten Examination 100%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Roland Backhouse
2008 Algorithmic Problem Solving
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Paul Zeitz 2007 The Art and Craft of Problem Solving
2nd John Wiley and Sons
978-0-471-78901-7
2 Roland Backhouse
2003 Program Construction: Calculating Implementations from Specifications
1st John Wiley and Sons
978-0-470-84882-1
3 George Polya
1973 How to Solve It: A New Aspect of Mathematical Method
2nd Princeton University Press
978-0-691-08097-0
4 Zbigniew Michalewicz and Matthew Michalewicz
2008 Puzzle-based Learning: Introduction to critical thinking, mathematics, and problem solving
1st Hybrid Publishers
978-1-876-46263-5
Page 11 of 70
14. Web Linkhttp://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 AssessmentAutumn 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. LecturerWang WeiContact No: 03-89248721Room No: BB63E-mail: [email protected]
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 scripting. Compilers, interpreters, debuggers, documentation systems with particular reference to programming languages used widely in the School's teaching (eg. Java). Software Engineering Tools: build management systems and version control systems. The use of UNIX shell scripting and software tools to create specific bespoke tools and components.
10. Learning Outcomes Knowledge and Understanding The theory of programming in a scripting language. The practice of programming. The strengths and weaknesses of software tools.
Intellectual Skills Understand complex ideas and relate them to specific problems or questions.
Professional Skills Write programs. The ability to evaluate available tools and select those that are fit for purpose within a given domain/scenario. The ability to work effectively and ethically with others, in particular in the use of version managment tools.
Transferable Skills The ability to solve problems. The ability to use appropriate tools to work productively in a collaborative environment.
11. Weekly Programme
Page 12 of 70
Week
No
LectureTopic
1 Introduction 2 The Unix Filestore3 Unix File Processing4 Editing Files and Emacs5 Processes6 Searching and Regular Expressions7 Unix Network Utilities8 Shell Programming9 The Sed Editor and Advanced Sed
10 The Awk Programming Language and More Advanced Awk11 Version Control and CVS12 Compilers, Interpreters and Debuggers13 UNIX Make14 Review
12. Assessment details1.5 hours written exam (75%) + coursework 25%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Arnold Robbins UNIX in a Nutshell
O’Reilly
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1Behrouz A. Forouzan, Richard F.
Gilberg
UNIX and Shell programming: a textbook
2Graham Glass and King Ables
2003 Unix for Programmers and Users
3rd Prentice Hall
3Randal K. Michael
Mastering Unix shell scripting
4 Amir Afzal.2008
Unix Unbounded, A Beginning Approach
5th
Prentice Hall
14. Web Linkhttp://baggins.nottingham.edu.my/~wangwei/teaching/G51UST.php
Page 13 of 70
1. Module CodeG52GRP
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 AssessmentFull 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. LecturerV. P. Kallimani (Mr)Contact No: 03-89248141Room No: BB59E-mail: [email protected]
9. Summary of Content Students will be divided up into groups of around five or six students, and assigned a member of staff as their supervisor. Each supervisor will provide their group with a short written description of a computer application to be designed, programmed, and documented during the course of the module. Each group will have two meetings per week, one with their supervisor present, and one without. A couple of introductory lectures will also be given.
10. Learning Outcomes Knowledge and Understanding
Group projects may address topics in any area of the curriculum and so may address any of the knowledge and understanding outcomes
Intellectual Skills the ability to understand and logically evaluate requirements and
specifications the ability to think independently while giving due weight to the arguments
of others
Professional Skills the ability to understand and make use of software 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
Page 14 of 70
A typical sequence of lectures as below:Wee
kNo
LectureTopic
1 Overview: Aims, Organisation, Assessment2 Team Working and Group meetings3 Version Cotrol with Sub-version4 Project Management: How to Deliver?5 Giving an Effective Presentation 6 Report Writing and Peer Marking7 Enterprise-level Testing: Breaking Software for a Living8 No Lecture9 No Lecture
10 Group Project Open Day11 No Lecture
12. Assessment detailsGroup 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 LinkTo be given by the module convenor
1. Module Code G52SEM
Page 15 of 70
2. Title of Module Software Engineering Methodologies
3. Number of credits 10
4. Level 2
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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. LecturerMr. KR. SelvarajContact No: 03-8924-8139Room No: BB-60E-mail: [email protected]
9. Summary of Content This module builds on the Foundations of Software Engineering module, and complements it with additional material designed to provide the practical skills necessary to effectively participate as a team in the Software Engineering Group Project. The module covers three main aspects of the software development process in depth:
The system analysis and design process: the Unified Modelling Language (UML) will be introduced and applied in the process of creating a formal software development design. Use-Case Analysis (UCA) and Data Flow Diagrams (DFDs) will be studied in depth, and related to the development process taking place in the Software Engineering Group Project.
The project management process: essential concepts and techniques in project management will be covered in depth, including Gantt charts, critical path analysis and the Program Evaluation and Review Technique (PERT). The module will include exercises in project tracking, utilising project management software tools, including producing project plans for Software Engineering Group Projects. Replanning and rescheduling in response to changes in a project implementation will be studied.
Software documentation: the practice of good software documentation will be demonstrated, in conjunction with documentation generation tools applicable to current development environments.
10. Learning Outcomes
Knowledge and Understanding Knowledge of the practice of constructing large systems. Understanding of the strengths and weaknesses of system specification, design
and implementation tools and resources.
Intellectual Skills
Page 16 of 70
The ability to effectively analyse requirements for a range of systems, using appropriate tools and techniques.
Professional Skills The ability to work effectively and ethically with users.Transferable Skills The ability to solve hardware/software analysis problems and write detailed
reports on the solutions adopted. The ability to use project management tools effectively and understand soft
issues of project management.
11. Weekly Programme
Week
No
LectureTopic
1 Introduction and Goals, Software Project Mnanagement, Vision and Scope2 Use Case Analysis3 Project Definition, Traditional Project Management4 Agile teams and Interactive approaches5 Estimating and Scheduling a project. An overview of prince 26 Tools and Infrastructure, SoftwareDevelopment Infrastructure for
successful projects7 Software Testing, TDD and Unit Testing with JUnit8 Domain Modeling, Project Monitoring9 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 documentation12 Revision
12. Assessment detailsCoursework 40%; Written Examination 60%
13. Resources
Recommended Background Reading
No
Name of Author(s)
Year of Publication
Title of Book Edition Publisher’s Name
ISBN
1 Andrew Stellman
and Jennifer Greene
2006 Applied software project
management
1stO'Reilly Media
ISBN-10: 0596009488
2 Cockburn, Alistair
2001 Writing effective use
cases
1st Addison-Wesley
ISBN-110201702258
3 Kent Beck 2002 Test Driven Development
1st The Addison-Wesley
Signature Series
ISBN-10: 0321146530
14. Web Linkhttp://sepang.nottingham.edu.my/~krselvaraj
1. Module Code G52ADS
2. Title of Module
Page 17 of 70
Algorithms and Data Structures
3. Number of credits 10
4. Level 2
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) G51MCS Mathematics for Computer Scientists; G51OOP Object-Oriented Programming (G51PRG 2009/10)
7. Co-requisites for the module (if any) None
8. LecturerChew Sze-Ker (Mr)Contact No: 03-89248140Room No: BB72E-mail: [email protected]
9. Summary of Content This module introduces the basics of specifying abstract data types and using them to design programs. Commonly used data structures and algorithms are studied in depth. The emphasis is made on choosing data structures and algorithms appropriate for solving a given problem. It presents the mathematical analysis of time and space usage of algorithms using the big-Oh notation. Such mathematical analysis is then used to support algorithm design decisions. It presents the usage of pre/post conditions and loop invariants to aid in the design and implementation of algorithms. Specific algorithms and data structures may include, but are not limited to: stacks, queues and lists; trees and tree traversal methods; heaps, search trees; graph problems and graph algorithms such as shortest paths and minimum spanning trees.
10. Learning Outcomes Knowledge and Understanding The theory and practice of implementing algorithms; to know of and understand
the mathematical properties of algorithms. Intellectual Skills Ability to apply mathematical techniques to algorithms and data structures and
understand the their specifications Professional Skills Implementation of data structures and algorithms; evaluation and selection of
available tools, applications, algorithms and data structures that are suitable for a given domain/scenario.
Transferable Skills The ability to solve problems using a variety of data structures and algorithms;
to utilise mathematical techniques when necessary to achieve the above
11. Weekly Programme
Week
No
LectureTopic
1 Introduction, overview and module contents
Page 18 of 70
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; Recursion5 Linked list (single and double ended); Graph, DFS and BFS6 Shortest path algorithms, minimum spanning tree7 Topological sort; Hash table8 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
12. Assessment detailsCoursework 1 15%; Coursework 2 10%; Written Examination 75%
13. Resources
Suggested primary texts
No
Name of Author(s) Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Michael T.Goodrich and Roberto Tamassia
Data Structures and Algorithms in Java
3rd
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1
2
3
Shaffer, Clifford A.
Sahni, Sartaj
Introduction to algorithms
A practical introduction to data structures and algorithm analysis
Data structures, algorithms, and applications in Java
2nd MIT Press
Prentice Hall
McGraw-Hill
14. Web LinkTo be provided by the module convenor.
1. Module Code G52IFR
2. Title of Module Introduction to Formal Reasoning
3. Number of credits
Page 19 of 70
10
4. Level 2
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) G51FUN Functional Programming; G51MCS Mathematics for Computer Scientists
7. Co-requisites for the module (if any) None
8. LecturerMichael Chung (Mr)Contact No: 03-89248142Room No: BB58E-mail: [email protected]
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
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Coq Basics, Propositional Logic3 More Coq, Classical Logic4 Bool and Predicate Logic; General Predicate Logic
Page 20 of 70
5 More Predicate Logic6 Operations on Sets7 Peano Arithmetic; Some Algebra8 Primitive Recursion9 The omega hotel, diagonalisation
10 Lists11 Revision and discussion of past exam papers
12. Assessment detailsCoursework (25%) and a two-hour online exam (75%)
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Bertot, Yves & Castéran, Pierre
2004 Interactive Theorem Proving and Program Development: Coq'Art: The Calculus of Inductive Constructions
1st Springer 3-540-20854-2
Suggested secondary textsNot Available
14. Web Linkhttp://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
Page 21 of 70
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) G51OOP Object-Oriented Programming; (G51PRG 2009/10)
7. Co-requisites for the module (if any) None
8. LecturerMichael Chung (Mr)Contact No: 03-89248142Room No: BB58E-mail: [email protected]
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
Week
No
LectureTopic
1 Introduction, overview and module contents 2 GUI Components I3 GUI Components II4 Multithreading 5 Networking6 Coursework Discussion7 Accessing Databases with JDBC
Page 22 of 70
8 Web Applications I9 Web Applications II
10 Design Patterns11 Revision and discussion of past exam papers
12. Assessment detailsCoursework 1 25%; Coursework 2 25%; Written Examination 50%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Deitel & Deitel 2007 Java How to Program
7th Pearson 0136132472
Suggested secondary textsNot Available
14. Web Linkhttp://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 Semester Assessment
Page 23 of 70
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. LecturerDr. Wang WeiContact No: 03-89248721Room No: BB63E-mail: [email protected]
9. Summary of Content The module focuses on how to implement graphical user interfaces. It will introduce key programming concepts and structures by considering in depth the Java Swing packages. The course will explore a wide range of components (from buttons to tables), and the Java 2D API, which allows developers to easily incorporate 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
Week
No
LectureTopic
1 Introduction 2 A Simple Swing Example3 Windows and Events4 Events in Swing5 Widgets6 Components in Swing7 Layout8 Layout in Swing9 Abstract Widgets
10 Abstract Widgets Practice11 Graphical Design
Page 24 of 70
12. Assessment detailsCoursework 100%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Dan Olsen 2009 Building Interactive Systems: Principles for Human-Computer Interaction
1st Course Technology
978-1423902485
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book
Edition Publisher’s Name
ISBN
1-
- Creating a GUI With JFC/Swing
- Sun Java -
14. Web Linkhttp://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 2
Page 25 of 70
5. Taught Semester and Assessment Period Semester AssessmentSpring Assessed by end of Spring Semester
6. Pre-requisites for admission to the module (if any) G51MCS Mathematics for Computer ScientistsG51PRG Programming
7. Co-requisites for the module (if any) None
8. LecturerHo Sooi Hock (Mr)Contact No: 03-89248145Room No: BB71E-mail: [email protected]
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
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Digital image fundamentals3 Point and histogram processing
Page 26 of 70
4 Spatial domain image filtering5 Image sharpening, edge detection and Hough transform6 Image filtering in the frequency domain7 Colour model and colour image processing8 Image segmentation 9 Image coding and image compression
10 3D transformation 11 Revision and discussion of past exam papersl
12. Assessment detailsCoursework 25%; Written Examination 75%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Gonzalez & Woods
2008 Digital Image Processing
3rd Prentice Hall 0-13-168728-X
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book Edition Publisher’s Name
ISBN
1 Efford 2000 Digital Image Processing Using Java
1st Addison-Wesley
0-20-159623-7
14. Web Linkhttp://sepang.nottingham.edu.my/~hsooihock/G52IIP/index.html
1. Module CodeG53IDS/IDY/IDJ
2. Title of Module Individual Dissertation Single Honours/Software Systems/Joint Honours
3. Number of credits 40 for IDS/IDY and 20 for IDJ
Page 27 of 70
4. Level 3
5. Semester in which module is taught and Assessment Period Semester AssessmentFull 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. LecturerK. R. Selvaraj (Mr)Contact No: 03-89248139Room No: BB60E-mail: [email protected]
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 28 of 70
10. Learning Outcomes Knowledge and Understanding
Individual projects may arise from any area of the curriculum and so may address any of the knowledge and understanding outcomes
Intellectual Skills the ability to think independently while giving due weight to the arguments
of others the ability to understand complex ideas and relate them to specific problems
or questions
Professional Skills enhanced programming abilities the ability to comprehend and apply software engineering methodologies
Transferable Skills the ability to plan, organisation and execute project work the ability to communicate their results to others
11. Weekly Programme Supporting lectures to be arranged by the module convenor and weekly meetings to be scheduled with the supervisors
12. Assessment detailsProject 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 G53VIS
Page 29 of 70
2. Title of Module Computer Vision
3. Number of credits 10
4. Level 3
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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. LecturerTomas Maul (Dr)Contact No: 03-89248232Room No: BB64E-mail: [email protected]
9. Summary of Content This module is part of the Graphics and Vision theme in the School of Computer Science. Building on G52IIP this module examines current techniques for the extraction of useful information about a physical situation from individual and sets of images. Particular emphasis is placed on the identification of objects, recovery of three-dimensional shape &motion, and the recognition of events. Topics covered include: advanced segmentation and feature extraction, motion computation and tracking, stereo vision and the use of hidden markov models in higher level analysis.
10. Learning OutcomesKnowledge 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.
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.
Page 30 of 70
11. Weekly Programme
Week Lecture Topic1
Introduction2 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 detailsWritten Examination 75%Coursework 25%
13. Resources
Suggested primary textsNone.
Suggested secondary texts
No Name of Author(s)
Year of Publicat
ion
Title of Book Edition Publisher’s Name
ISBN
1 David A. Forsyth & Jean Ponce
2002 Computer Vision: A Modern Approach
1st Prentice Hall
0130851981
2 E. R. Davies 2005 Machine Vision: Theory, Algorithms, Practicalities
3rd Morgan Kaufmann
0122060938
14. Web Linkhttp://baggins.nottingham.edu.my/~kcztm/TeachG53VIS.html
Page 31 of 70
1. Module Code G53SRP
2. Title of Module System and Real Time Programming
3. Number of credits 10
4. Level 3
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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. LecturerTBAContact No: TBARoom No: TBAE-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 questionsProfessional Skills Program in various paradigmsTransferable Skills The ability to solve problems
Page 32 of 70
11. Weekly Programme
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Real time system, reliability, failure, and fault tolerance
techniques; Java, exceptions and threads3 Concurrency and reliability; Concurrency programming with
Java threads4 Concurrency control and communication; Java Concurrency I:
Synchronisation; Java Concurrency II: wait and notify5 Java clocks and time; Case Study 1: Mines drain system6 Introduction to Real Time Scheduling; RTSJ clocks and time7 Real time thread; RTSJ asynchronous events8 RTSJ deadlines and cost; Feasibility analysis9 Resource sharing; Case Study 2: Chemical industry
10 RTSJ memory areas and parameters; Hardware interfacing11 Revision and discussion of past exam papers
12. Assessment detailsWritten Examination 100%
13. Resources
Suggested primary texts
No Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Alan Burns and Andy Wellings
March 2001 Real-Time Systems and Programming Language
3rd Addison Wesley Longman
0201729881
Suggested secondary texts
No
Name of Author(s)
Year of Publicatio
n
Title of Book Edition
Publisher’s Name
ISBN
1Wellings, Andrew J
2004 Concurrent and real-time programming in Java
1st Wiley
14. Web LinkTBA
Page 33 of 70
1. Module Code G53SQM
2. Title of Module Software Quality Management
3. Number of credits 10
4. Level 3
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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. LecturerChew Sze-Ker (Mr)Contact No: 03-89248140Room No: BB72E-mail: [email protected]
9. Summary of Content This module is part of the Software Engineering theme in the School of Computer Science. Computer software is present almost everywhere. The impact of software failure is often quite considerably so reliability and robustness is paramount when developing software. The importance of effective testing methodologies for quality assurance in the software industry has increased substantially in recent years.
This module introduces: Concepts and techniques for testing software and assuring its quality. Methods for software testing and quality assurance are integrated into all phases
of the software development process and it also extends to other aspects such as systems and hardware development.
10. Learning Outcomes Knowledge and Understanding Knowledge and understanding of evaluation and testing of software systems.
Intellectual Skills Ability to use formal methods of software analysis.
Professional Skills Ability to test software in a systematic way and carry out quality assurance
process, experience of using specialised testing software.
Page 34 of 70
Transferable Skills Abstract thinking, systematic approach to problem solving.
11. Weekly Programme
Week
No
LectureTopic
1 Introduction to SQA/Software Quality Factors2 Components of SQA Systems3 Pre-project Software Quality/Integrating quality Activities4 Software Reviews5 Software Testing Strategies/Implementation6 Software Quality Metrics7 The Function Point Method8 Presentation9 Presentation
10 Presentation11 Revision and discussion
12. Assessment details
60% Written examination open questions style40% Courseworks include reports/assignments/presentation
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Malik Kamna
2006 Software Quality: a practitioner’s approach
1st McGraw Hill 0-070-24873-7
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Tian Jeff 2005 Software Quality Engineering: testing, quality assurance and quantifiable improvement
1st Wiley 0-013-06428-2
14. Web Linkhttp://moodle.nottingham.ac.uk
Page 35 of 70
1. Module CodeG53CMP
2. Title of Module Compilers
3. Number of credits 10
4. Level 3
5. Semester in which module is taught and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) G51PRG Programming or similar level of programming experienceG52MAL (Machines and their Languages)
7. Co-requisites for the module (if any) None
8. LecturerTomás Maul (Dr.) Contact No: +60 (0)3 8924 8232Room No: BB64E-mail: [email protected]
9. Summary of Content Aspects of language and compiler design are examined by looking at the techniques and tools that are used to construct compilers for high level programming languages. A particular emphasis is placed on the use of formal techniques for specifying the syntax and semantics of the source language. The course retains a practical focus by exploring the implementation of a working compiler. Functional programming notation is used throughout to minimize the gap between specification and implementation, and to facilitate the presentation of symbolic algorithms.
10. Learning Outcomes Knowledge and Understanding
Knowledge of language and compiler design Understanding of the problems to be faced and the techniques and tools
which may be used in the construction of medium sized programs
Intellectual Skills The ability to define and construct syntax-directed translation schemes and
use software tools for syntax-directed translations The ability to gather information on and analyze the structure of medium
sized computer programs
Professional Skills Enhanced programming skills The ability to comprehend and apply software engineering tools
Transferable Skills
Page 36 of 70
The ability to use mathematics to solve problems and write detailed reports on the solutions adopted
The ability to work effectively within a group
15. Weekly Programme
Lect.No
LectureTopic
1 Administrative Details and Introduction2 Haskell Review & Coursework Support3 Defining Programming Languages4 Syntactic Analysis I (TD)5 Syntactic Analysis II (BU) – A6 Syntactic Analysis II (BU) – B7 Contextual Analysis8 Intermediate Code Generation – A9 Intermediate Code Generation – B10 Code Optimization11 Revision
16. Assessment details25% coursework, 75% examination.
17. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 lfred V. Aho, Ravi Sethi and Jeffrey
D.Ullman, S.
2003 Compilers: Principles,
Techniques & Tools
Prentice Hall
0-201-10194-7
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
David A. Watt and Deryck F.
Brown
1999 Programming Language
Processors in Java
Prentice-Hall
18. Web Link Course website: http://baggins.nottingham.edu.my/~kcztm/TeachG53CMP.html
1. Module Code G54SIM
Page 37 of 70
2. Title of Module Simulation for Computer Scientists
3. Number of credits 10
4. Level 4
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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. LecturerChen Zhi Yuan (Dr)Contact No: 03-89248141Room No: BB59E-mail: [email protected]
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 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
Page 38 of 70
Week
No
LectureTopic
1 Introduction to Modelling and Simulation2 Simulation Studies: An Overview3 Guest Lecture: Case Study14 Guest Lecture: Case Study25 Simulation Methods: System Dynamics Simulation6 Simulation Methods: Discrete Event Simulation7 Simulation Methods: Agent-Based Simulation8 Conceptual Modelling9 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 detailsWritten Examination 60%Course Work 40%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Stewart Robinson
2004 Simulation: The Practice of Model Development and Use
Wiley, Chichester, UK
9780470847725
2 John Sterman
2000 Business Dynamics: Systems Thinking and Modelling for a Complex World
McGraw-Hill Higher Education
0072311355
3 Gilbert N and Troitzsch KG
2005 Simulation for the Social Scientist.
2nd Open University Press
0335216013
Suggested secondary textsNot Available
14. Web LinkTBA
MODULE OUTLINESPRING 2011-2012
1. Module Code G51FUN
2. Title of Module
Page 39 of 70
Functional Programming
3. Number of credits 10
4. Level 1
5. Taught Semester and Assessment Period Semester AssessmentSpring 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. LecturerMichael Chung (Mr)Contact No: 03-89248142Room No: BB58E-mail: [email protected]
y
9. Summary of Content The module covers the following subjects: Hugs system; type information; defining functions; list comprehensions; recursive functions; high-order functions, interactive programs; functional parsers; defining types; lazy evaluation and reasoning about programs.
10. Learning Outcomes Knowledge and Understanding
understanding of the theory and practice of functional programming a sound grasp of the underlying mathematical techniques
Professional Skills the ability to write functional programs
Transferable Skills the ability to solve problems in and using functional programming the ability to utilise mathematics and formal methods
11. Weekly Programme
Week
No
LectureTopic
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
Page 40 of 70
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 detailsCoursework 1 15%; Coursework 2 10%; Written Examination 75%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Graham Hutton
2007 Programming in Haskell
1st CUP 0-521-69269-5
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Richard Bird 1988 Introduction to Functional Programming using Haskell
2nd Prentice Hall
0-134-84346-0
2 Fethi Rabhi & Guy Lapalme
1999 Algorithms: a functional programming approach
2nd Addison-Wesley
0-201-59604-0
3 Simon Thompson
1999 Haskell: The Craft of Functional Programming
2nd Addison-Wesley
0-201-34275-8
Not Available
14. Web Linkhttp://baggins.nottingham.edu.my/~kczmc/Teaching/G51FUN/fun.html
1. Module Code G51DBS
2. Title of Module Database Systems
Page 41 of 70
3. Number of credits 10
4. Level 1
5. Taught Semester and Assessment Period Semester AssessmentSpring 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. LecturerMr KR. SelvarajContact No: 03-8924-8139Room No: BB-60E-mail: [email protected]
9. Summary of Content The module introduces database management systems, the design and use of database systems. The relational database model and the structured database query language (SQL) are covered. Throughout the module students are given instruction in the use of a relational database management system. Topics covered include: the relational model; entity-relationship modelling, SQL data definitions and select, normalisation, efficiency, transactions and database security.
10. Learning Outcomes Knowledge and Understanding Ability to use SQL and an understanding of embedded SQL. Understanding of the
ANSI/SPARC and relational models of database systems. Intellectual Skills Basic knowledge of the mathematics underlying relational database systems.
Ability to design database systems. Professional Skills The use of SQL for database specification and manipulation. Database
administration, including integrity and security control. Transferable Skills: Understanding of the application of database systems.
11. Weekly Programme
Week
No
LectureTopics
1 Introduction to Database Systems, The Relational Model2 Entity Relationship Modelling
Page 42 of 70
3 SQL Data Definition4 SQL SELECT5 More SQL SELECT6 SQL and Java7 Normalization to 3NF and BCNF8 Efficiency Issues9 Transactions and Recovery, Concurrency
10 More Concurrency, Security and Integrity11 Good and Bad ‘Modern’ Databases12 Revision
12. Assessment detailsCoursework 25%; Written Examination 75%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publicatio
n
Title of Book Edition Publisher’s Name
ISBN
1Thomas
Connolly and Carolyn Begg,
2005 Database Systems - A Practical Approach to
Design, Implementation, and Management
3rd or 4th ed.
Addison-Wesley
0321210255
Suggested secondary texts
No
Name of Author(s)
Year of Publicatio
n
Title of Book Edition
Publisher’s Name
ISBN
1
2.
3.
R Elmasri and SB Navathe,
A. Silberschatz, H. F. Korth, and S. Sudarshan,
Peter Rob, Carlos Coronel
2004
2002
2007
Fundamentals of Database
Systems,
Database System
Concepts,
Database System
3rd or 4th ed.
4th ed.
7th ed.
Addison-Wesley,
McGraw-Hill
Course Technology
0321204484
0072283637
1418836508
14. Web LinkTBA
1. Module Code G51FSE
2. Title of Module Foundations of Software Engineering
Page 43 of 70
3. Number of credits 10
4. Level 1
5. Taught Semester and Assessment Period Semester AssessmentSpring 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) TBAContact No: 03-8924-TBARoom No: BB-TBAE-mail: [email protected]
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
Week
No
LectureTopic
1 Introduction to Object-oriented Software Engineering (OOSE) – Part 12 Introduction to Object-oriented Software Engineering (OOSE) – Part 23 Introduction to Object-oriented Software Engineering (OOSE) – Part 3
Page 44 of 70
4 Object-orientation (OO)5 Object-oriented Analysis (OOA)6 Object-oriented Design (OOD) – Part 17 Object-oriented Design (OOD) – Part 28 Formal Specification9 Architectural Design
10 Testing Principles and Managing Software Project – Part 111 Testing Principles and Managing Software Project – Part 2
Revision and review past examination questions
12. Assessment detailsCoursework 30%; Written Examination 70%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Ian Sommerville
2006 Software Engineering
8th Addison Wesley
13: 978-0321313799
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Roger S Pressman
2004 Software Engineering:
A Practitioner's
Approach
6th McGraw-Hill
13: 978-007301933
8
14. Web Linkhttp://sepang.nottingham.edu.my/~?????
1. Module Code G51OOP
2. Title of Module Object-Oriented Programming
3. Number of credits 10
4. Level
Page 45 of 70
1
5. Taught Semester and Assessment Period Semester AssessmentSpring 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. LecturerChew Sze-Ker (Mr)Contact No: 03-89248140Room No: BB72E-mail: [email protected]
9. Summary of Content The basic concepts of object-oriented programming and design including: classes, objects, aggregation, inheritance, class discovery techniques, principles of good design and common design patterns. These will be supported by practical examples using the Java programming language.
10. Learning Outcomes Knowledge and Understanding Understanding of the theory and practice of object-oriented programming Intellectual Skills Understand and logically evaluate program requirements and specifications.
Understand the complex ideas of programming solutions and relate them to particular problems
Professional Skills Ability to design and write object-oriented programs in Java Transferable Skills The ability to solve problems using programming including mathematical
problems, schedule and present their works and to retrieve additional learning materials
11. Weekly Programme
Week
No
LectureTopic
1 Introduction to Objects/Classes 2 Inheritance3 Polymorphism4 Event Handling and Exception5 File Processing6 Interfaces and Inner Classes7 Linked Data Structures
Page 46 of 70
8 Graphical User Interfaces I9 Graphical User Interfaces II
10 Coursework discussions11 Revision and discussion of past exam papers
12. Assessment detailsLab exercises (8*5%) 40%; Multiple choice questions 30%; Lab assessments (3*10%) 30%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition Publisher’s Name
ISBN
1
2 Bishop J.M.
2001
Absolutely Java
Java Gently
4th
3rd Addison Wesley
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book Edition Publisher’s Name
ISBN
1 Deitel, Harvey M.
2003 Java: How to Program 5th Prentice Hall
14. Web LinkTo 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
Page 47 of 70
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. LecturerHo Sooi Hock (Mr)Contact No: 03-89248145Room No: BB71E-mail: [email protected]
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
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Reasons for AI; History of AI3 Problem formulation 4 Uninformed search – BFS, DFS, UCS, DLS, IDS5 Heuristic search techniques – BFS, GFS and A*6 Tutorials on search techniques; Discussion on courseworks7 Game playing techniques8 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 48 of 70
12. Assessment detailsWritten Examination 100%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Stuart J. Russell & Peter Norvig
2010 Artificial Intelligence :A Modern Approach
3rd Prentice Hall
0-13-604259-7
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 George F Luger
2008 Artificial Intelligence:Structures and strategies for Complex Problem Solving
6th Addison Wesley
0-321-54589-3
14. Web Linkhttp://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 AssessmentSpring Assessed by end of Spring Semester
6. Pre-requisites for admission to the module (if any) G51PRG Programming
Page 49 of 70
7. Co-requisites for the module (if any) None
8. LecturerTBAContact No: TBARoom No: TBAE-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
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Networking Basics3 TCP/IP Protocols 4 HTTP and Internet Tools5 HTML and Web Design6 CSS, XML7 Java Scripts8 Java Applets9 Server & Databases
10 PHP Workshop (A guest lecture)11 Revision and discussion of past exam papers
12. Assessment detailsCoursework 25%; Written Examination 75%
Page 50 of 70
13. Resources
Suggested primary textsNot Available
Suggested secondary textsNot Available
14. Web LinkTBA
1. Module Code G52CCN
2. Title of Module Computer Communications and Networks
3. Number of credits 10
4. Level 2
5. Taught Semester and Assessment Period Semester AssessmentAutumn 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
Page 51 of 70
8. LecturerMr KR. SelvarajContact No: 03-8924-8139Room No: BB-60E-mail: [email protected]
9. Summary of Content This module aims to: present a broad overview of computer communications and networks provide an overview of underlying technologies including data transmission
techniques, Local Area Networks, Wide Area Networks, internet working and network applications.
Give students an understanding of the Internet environment and the TCP/IP protocols.
10. Learning Outcomes Knowledge and Understanding
An understanding of the principle technologies within the area. Intellectual Skills
The ability to understand complex ideas and relate them to specific situations.Professional Skills The ability to understand, evaluate and select appropriate network designs and
protocols.
11. Weekly Programme
Week
No
LectureTopics
1 - 3 Part 1: Data Transmission1. Introduction, Transmission media2. Local asynchronous communication and RS-2323. Long distance communication (carriers and modems)
4 - 7 Part 2: Packet Transmission5. Packets, frames and error detection6. Local Area Networks7. Hardware addressing and frame types8. LAN wiring and physical topology9. Extending LANs10.WAN technologies and routing 11. Ownership, service and performance
8 - 10 Part 3: Internetworking12. Protocols and layering13. Internetworking - concepts 14. IP addressing15. IP datagrams16. Future IP 17. Transport Control Protocol (TCP)
Page 52 of 70
11-12 Part 4: Applications 18. Client-Server Interaction 19. The Socket API20. Example applications 21. Revision
12. Assessment detailsWritten Examination 100%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publicatio
n
Title of Book Edition
Publisher’s Name
ISBN
1Douglas E.
Comer
2004 Computer Networks and
Internets
4th Prentice Hall 013123627X
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition Publisher’s Name
ISBN
1
2
Tanenbaum
Stallings
2003
2007
Computer Networks
Data and Computer Communications
4th
8th
Prentice Hall
Prentice Hall
0130661023
0132381958
14. Web Linkhttp://sepang.nottingham.edu.my/~krselvaraj
1. Module Code G52CON
2. Title of Module Concepts of Concurrency
3. Number of credits 10
4. Level 2
5. Taught Semester and Assessment Period Semester AssessmentSpring 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. LecturerChew Sze-Ker (Mr)
Page 53 of 70
Contact No: 03-89248140Room No: BB72E-mail: [email protected]
9. Summary of Content This module introduces the basic principles of concurrent programming and their use in computer programs design. It covers concurrency primitives for shared memory, distributed implementations of concurrency, the correctness of concurrent algorithms and concurrent programming in Java. Building on these basic principles, it explains how concurrency primitives and algorithms can be used to solve some common problems in concurrent programming, e.g., the producer-consumer, the readers and writers, and client server problems. Topics include hardware support for concurrency, mutual exclusion and conditional synchronisation, semaphores, monitors, RPC and rendezvous, safety and liveness properties of concurrent algorithms, proving properties using assertional reasoning and model checking, and the use of Java threads, synchronised methods, and monitors.
10. Learning Outcomes Knowledge and Understanding Understanding of the concepts, problems and techniques of concurrent
programming. Intellectual Skills Ability to understand complex concepts in concurrency and relate them to
specific situations.Professional Skills Ability to write simple concurrent programs in Java, evaluate and select
appropriate algorithms. Transferable Skills The ability to solve problems.
11. Weekly Programme
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Introduction, Thread3 Synchornisation, Atomic Action4 Mutual Exclusion5 Semaphore6 Monitor7 Synchronisation in Java8 Message Passing, Remote Invocation9 Distributed Processing in Java
10 Proving Correctness11 Revision and discussion of past exam papers
12. Assessment detailsWritten Examination 100%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition Publisher’s Name
ISBN
1 Andrews 2000 Foundations of Addison 0201357
Page 54 of 70
2 Lea 1999
Multithreaded, Parallel and Distributed Programming
Concurrent Programming in Java: design principles and patterns
2nd
Wesley
Addison Wesley
526
0201310090
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book Edition Publisher’s Name
ISBN
1
2
Ben-Ari
Andrews
2006
1991
Principles of Concurrent and Distributed Programming
Concurrent Programming: principles and practice
2nd Prentice Hall
Addison Wesley
200018480X
080530864
14. Web LinkTo be provided by the module convenor.
1. Module Code G52MAL
2. Title of Module Machine and their Languages
3. Number of credits 10
4. Level 2
5. Taught Semester and Assessment Period Semester AssessmentSpring 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. LecturerTomas Maul (Dr)Contact No: 03-89248232Room No: BB64E-mail: [email protected]
Page 55 of 70
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
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Preliminaries3 Automata Theory; Deterministic Finite Automata (DFA) 4 Non Deterministic Finite Automata (NFA)5 Subset Construction; Epsilon Transition6 Regular Language and Regular Expressions;
Minimisation of Finite Automata7 Properties of Language, Proving Languages not to be
Regular8 Introduction to Context free Grammar- Chomsky norms
Regular grammar, Derivations9 Parse trees; Case Study - NLP
10 Pushdown Automata (PDA)11 The Language of a PDA; Turing Machines and
Decidability
12. Assessment detailsCoursework 25%; Written Examination 75%
13. Resources
Suggested primary texts
No Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
Page 56 of 70
John Hop Croft, Rajeev Motwani, Jeffrey.D.Ullman
Introduction to Automata Theory, Languages and computation
II Addison Wesley
Suggested secondary texts
No Name of Author(s)
Year of Publicn
Title of Book Ed Publisher ISBN
1 Peter lenz, An introduction to formal languages and Automata
III Jones and Bartlett
2 A.M.Padma Reddy
2003 Finite Automata and Formal Languages
Sri Nandi
14. Web Linkhttp://baggins.nottingham.edu.my/~kcztm/Teaching.html
1. Module Code G52CPP
2. Title of Module C++ Programming
3. Number of credits 10
4. Level 2
5. Taught Semester and Assessment Period Semester AssessmentSpring 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. LecturerMichael Chung (Mr)Contact No: 03-89248142Room No: BB58E-mail: [email protected]
y
9. Summary of Content
Page 57 of 70
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
Week
No
LectureTopic
1 Introduction2 Introduction to Classes and Objects3 Classes4 Classes (cont.)5 Operator overloading6 Inheritance in C++7 Polymorphism in C++8 Templates9 Stream Input/Output, Class String
10 Exception Handling11 File Processing12 STL
12. Assessment detailsOne courseworks (40%) and a two-hour written exam (60%).
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Deitel & Deitel
2008 C++ How to Program
6th Pearson 0-13242701-X
Suggested secondary texts
Page 58 of 70
Not Available
14. Web Linkhttp://baggins.nottingham.edu.my/~kczmc/Teaching/G52CPP
1. Module Code G52HCI
2. Title of Module Human Computer Interaction
3. Number of credits 10
4. Level 2
5. Taught Semester and Assessment Period Semester AssessmentSpring 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. LecturerTBAContact No: TBARoom No: TBAE-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
Page 59 of 70
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
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Understanding users - ethnography3 Understanding users – organizational context 4 Understanding users - the cognitive perspective5 Understanding users – art and design perspective 6 Requirements specifications7 Designing GUIs8 Participatory design and prototyping 9 Evaluating interfaces
10 The future of the interface 11 Revision and discussion of past exam papersl
12. Assessment detailsTwo Courseworks each worth 50%
13. Resources
Suggested primary texts
No
Name of Author(s) Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Alan Dix, Janet Finlay, Gregory Abowd & Russell Beale
2004 Human Computer Interaction
3rd Prentice Hall
0-13-046109-1
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book
Edition Publisher’s Name
ISBN
Page 60 of 70
1Andrew Sears
and Julie A. Jacko
2007 The Human Computer Interaction Handbook
2nd CRC Press 0-8058-5870-9
14. Web LinkTBA
1. Module CodeG53OPS
2. Title of Module Operating Systems
3. Number of credits 10
4. Level 3
5. Taught Semester and Assessment Period Semester AssessmentSpring 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. LecturerMr KR. SelvarajContact No: 03-8924-8139Room No: BB-60E-mail: [email protected]
9. Summary of Content to teach the theoretical background and practical implementation of traditional
operating systems and to consider the history and development of OS
10. Learning Outcomes Knowledge and Understanding knowledge of key issues in the practical implementation of operating systems Intellectual Skills
Page 61 of 70
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
WeekNo
LectureTopics
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 III5 Processes Scheduling Part I 6 Processes Scheduling Part II7 Processes Scheduling Part III8 File Systems Part I9 File Systems Part II 10 Input/output processes Part I11 Input/output processes Part II 12 Summary and Revision
12. Assessment detailsWritten Examination 100%
13. Resources
Suggested primary texts
No
Name of Author(s) Year of Publication
Title of Book Edition Publisher’s Name
ISBN
1 Andrew S. Tanenbaum
2001 Modern Operating Systems
2nd Prentice HallInternational
0-13-031-
358-02 Abraham
Silberschatz and 2003 Operating
System 6th (or)
John Wiley & sons
0-471-26272-2
Page 62 of 70
Peter Galvin and Greg Gagne
Concepts 4th-5th
are OK
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book
Edition Publisher’s Name
ISBN
1Abraham
Silberschatz and Peter Galvin and
Greg Gagne
2003Applied
Operating System
Concepts
1stJohn Wiley &
sons0-471-263-
14-1
2 H. M. Deitel 1990 Operating Systems
2nd Addison Wesley Longman Pubs.
0-20-150939-3
14. Web Linkhttp://sepang.nottingham.edu.my/~krselvaraj
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 AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) G52CCN Computer Communications and Networks, G51DBS Data Systems andG51OOP Object-Oriented Programming (G51PRG 2009/10)
7. Co-requisites for the module (if any) None
8. LecturerDr. Wang WeiContact No: 03-89248721Room No: BB63E-mail: [email protected]
9. Summary of Content This module provides an overview of more advanced Web architectures and technologies. It will cover the development of web services through the use of standards such as XML, SOAP, WSDL and UDDI and consider how web services can be used to implement a Service Oriented Architecture (SOA). The module will also provide an introduction to the Semantic Web. It explains how modern enterprises construct computer applications that are distributed over an intranet. Multi-tiered architectures will be covered in the context of object-oriented design and implementation as distributed components. The module will describe the interface to web technologies and the Internet and cover electronic commerce as an
Page 63 of 70
important application. The Java 2 Enterprise Edition will be used as the basis for the module and compared and contrasted with Microsoft .Net technology. Security and additional materials in the field of networking and communication protocols, tools and good practice will also be described and demonstrated.
10. Learning Outcomes Knowledge and Understanding Design and implementation of multi-tier applications using distributed
component technology. The use of Windows Communication Foundation (WCF) and Windows Presentation Foundation (WPF) and server-side technologies for web page delivery and their security implications on intranets and the Internet.
Intellectual Skills The ability to understand and logically evaluate requirements and specifications
and the ability to understand complex ideas and relate them to specific problem.
Professional Skills The ability to implement server-side applications in an eCommerce application
using a variety or proprietary and open-source approaches and comparisons between Microsoft and the Java 2 enterprise bean approach.
Transferable Skills Enhanced systems analysis, systems architecture design, developmental and
communication skills.
11. Weekly Programme
Week
No
LectureTopic
1 Module Introduction2 Database Conectivity I3 Database Conectivity II4 Server-side Processing and AJAX5 Servlets6 Java Server Pages7 Java Directory and Naming Interface8 Java and XML9 Microsoft .NET Overview
10 Web Services11 Case Study
12. Assessment detailsCoursework 50%; Written Examination 50%
13. Resources
Suggested primary texts
No Name of Author(s) Year of Publicatio
n
Title of Book Edition Publisher’s Name
ISBN
1 Jim Farley, William Crawford
2005 Java Enterprise in a Nutshell
3rd 'Reilly Associates
0-596-00152-5
2 Dave Elliman - The Student Handbook for the Module
- - -
Page 64 of 70
Suggested secondary texts
No
Name of Author(s) Year of Publicatio
n
Title of Book Edition
Publisher’s Name
ISBN
1 - - Designing Enterprise Applications with the J2EE Platform
2nd Sun Java -
2Eric Jendrock, Ian Evans, Devika Gollapudi, Kim Haase, Chinmayee Srivathsa
2010 The Java EE 6 Tutorial
- - -
14. Web Linkhttp://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 AssessmentSpring 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 NetworksOR Equivalent Knowledge of Networks and Computer Systems.
7. Co-requisites for the module (if any) None
8. LecturerTBAContact No: TBARoom No: TBAE-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 OutcomesKnowledge and Understanding
An understanding of security issues associated with networked computers. An appreciation of the strengths and weaknesses of available security
techniques.
Page 65 of 70
Experience of the use of such techniques in a protected networked environment
Intellectual Skills The ability to think independently while giving due weight to the arguments
of others. The ability to understand complex security issues and relate them to specific
situations.Professional Skills
Enhanced systems programming skills. The ability to evaluate and select appropriate security techniques.
Transferable Skills The ability to work as part of a team to solve real security problems. An enhanced ability to produce detailed reports
11. Weekly Programme
Week Lecture Topic1 Introduction & Overview2 Foundations of Computer Security3 Access Control4 Reference Monitors5 Security Models6 Other Security Models7 Cryptography 18 Cryptography 29 Network Security
10 Software Security11 Nature Inspired Comp.12 Student Presentations & Discussions
12. Assessment detailsWritten Examination 60%Coursework 40%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Dieter Gollmann
2006 Computer Security
2nd Wiley 0470862939
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Ross Anderson
2008 Security Engineering
2nd Prentice-Hall
0470068523
14. Web LinkTBA
Page 66 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 AssessmentSpring 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. LecturerDr. Timothy BrailsfordContact No: 03-89248721Room No: BB63E-mail: [email protected]
9. Summary of Content This is a practical course covering the critical elements of the principles of design. Such principles are applied to new media applications, with a particular focus on its use in the context of the web. It also aims to give students a hands on experience with emerging new media technologies. Technical issues such as colour, images, audio, video and animation will be introduced and discussed in addition to usability and interaction. Practical uses of multimedia authoring systems, content management systems, flash and HTML 5 will form part of this module. Such tools will be put into context with emerging paradigms and new media for mobile platforms.
10. Learning Outcomes To be able to design and produce multimedia objects.
Page 67 of 70
11. Weekly Programme
Week
No
LectureTopic
1 Introduction to Multimedia2 Multimedia Authoring Systems; Interaction and Methaphor in
Multimedia Design3 Graphics and Still Images Representation; Colour Science and
Color Models4 Hypertext5
Media Design: Text, Images, and Sound6 Scalable Vector Graphics7 Digital Audio8 Architecture of Multimedia Systems9 Synchronized Multimedia Integration Language
10 Digital Video11 Intellectual Property Rights; Narrative
12. Assessment detailsGroup based development of a multimedia website and group report 75%; Individual Essay 25%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Barfield, L 2004 Design for New Media: Interaction design for multimedia and the web
1st Pearson Addison-Wesley
978-0201596090
2 Li, Z. & Drew,M.
2004 Fundamentals of Multimedia
- Pearson Prentice-Hall
978-0130618726
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book
Edition Publisher’s Name
ISBN
1 Vaughan, T. 2007 Multimedia : Making It Work
7th McGraw-Hill 978-0072264517
Page 68 of 70
14. Web Linkhttp://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 AssessmentSpring 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. LecturerDr. Siang Yew ChongContact No: 03-89248148Room No: BB57E-mail: [email protected]
9. Summary of Content This module aims to: Provide a sound understanding of wide range of concepts, methods and
techniques of Operational Research and Artificial Intelligence that can help in design of intelligent decision support systems.
Present state-of-the-art of both advanced Operational Research and Artificial Intelligence methods including multi-criteria decision making, decision making in the presence of uncertainty, case-based reasoning, etc.
Present a variety of examples from industrial and service sectors.
10. Learning Outcomes Knowledge and Understanding Knowledge of how to model a range of real-world problems suitable for analysis
by Operational Research and Artificial Intelligence methods. Knowledge and understanding of a range of advanced Operational Research and
Artificial Intelligence methods and their applicability to a variety of real-world decision making problems.
Intellectual Skills The ability to understand complex ideas and relate them to specific situations.
Page 69 of 70
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
Week
No
LectureTopic
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 detailsWritten Examination 75%, Coursework 25%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1Efraim Turban, Jay E. Aronson, Ting-Peng Liang, and Ramesh Sharda
2008 Decision Support and Business Intelligence Systems
8th Prentice Hall
978-0-131-98660-2
Suggested secondary texts
No
Name of Author(s)
Year of Publicatio
n
Title of Book Edition
Publisher’s Name
ISBN
1 Zbigniew Michalewicz, Martin Schmidt, Matthew Michalewicz, and Constantin Chiriac
2009 Adaptive Business Intelligence
1st Springer 978-3-642-06948-2
14. Web Linkhttp://baggins.nottingham.edu.my/~khczcsy/G51DSM/G51DSM.html
Page 70 of 70
1. Module CodeG54ACC
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 AssessmentAutumn 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. LecturerHo Sooi Hock (Mr)Contact No: 03-89248145Room No: BB71E-mail: [email protected]
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. 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)
Page 71 of 70
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
Week
No
LectureTopic
1 Introduction, overview and module contents2 Review of TCP and IP functions; IP subnetting and
supernetting3 Problem of IP address exhaustion; Network auto-
configuration4 Transport layer protocol and socket programming5 UDP/TCP comparison; Remote Procedure Call6 Remote Method Invocations7 IP multicast8 Distributed Systems and domain name services9 P2P systems
10 Firewalls11 Revision12 Review Past Year Papers
12. Assessment detailsWritten Examination 100%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Kurose & Ross
2008 Computer Networking: A Top Down Approach Featuring the Internet
4th Addison-Wesley
0-321-49770-8
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Tannenbaum
2003 Computer Networks
4th Prentice Hall
0-13-038488-7
3 Comer 2004 Computer Networks and Internets
4th Prentice Hall
0-13-123627-X
14. Web Linkhttp://sepang.nottingham.edu.my/~hsooihock/G54ACC/index.html
Page 72 of 70