School of Computer Science UNDERGRADUATE COMPUTER SCIENCE MODULES FOR 2012-2013 Full Year Module Software Engineering Group Project Individual Dissertation Single/Joint Honours Module Code G52GRP G53IDS/J/Y Level 2 3 Autumn Semester Module Computer Systems Architecture Mathematics for Computer Science Introduction to Requirements Engineering Introduction to Programming Algorithmic Problem Solving Unix and Software Tools Software Engineering Methodologies Algorithms and Data Structures Introduction to Formal Reasoning Application Programming Graphical User Interfaces Introduction to Image Processing Planning and Search Computer Vision Module Code G51CSA G51MCS G51REQ G51PRG G51APS G51UST G52SEM G52ADS G52IFR G52APR G52GUI G52IIP G52PAS G53VIS Level 1 1 1 1 1 1 2 2 2 2 2 2 2 3 Computers in the World G53CWO 3 Software Quality Management G53SQM 3 Compilers G53CMP 3 Page 1 of 39 Spring Semester Module Introduction to Functional Programming Database Systems Introduction to Software Engineering Introduction to Object-Oriented Programming Introduction to Artificial Intelligence Web Programming and Scripting Computer Communications and Networks Concepts of Concurrency Machines and their Languages C++ Programming Human Computer Interaction AI Programming Techniques Operating Systems Enterprise Level Computing Computer Security New Media Design Advanced Computer Communications Simulation for Computer Scientists Module Code G51FUN G51DBS G51FSE G51OOP G51IAI G51WPS G52CCN G52CON G52MAL G52CPP G52HCI G52APT G53OPS G53ELC G53SEC G53NMD G54ACC G54SIM Level 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 4 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 39 School of Computer Science G52GRP – Software Engineering Group Project (20 Credits) – Full Year 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: None; A: Coursework 100% 2. Lecturer Chen ZhiYuan (Dr) Contact: 03-89248141 (Office Phone); BB59 (Room) E-mail: Zhiyuan.Chen@nottingham.edu.my 3. 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 Lecture Topic Overview: Aims, Organisation, Assessment Team Working and Group meetings Version Cotrol with Sub-version Project Management: How to Deliver? Giving an Effective Presentation Report Writing and Peer Marking Enterprise-level Testing: Breaking Software for a Living No Lecture No Lecture Group Project Open Day No Lecture 5. Resources Reference texts as relevant to the project topics 6. Web Link http://moodle.nottingham.ac.uk/ Page 3 of 39 School of Computer Science G53IDS/J/Y – Individual Disseration (40/20/40 Credits) – Full Year 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: None; A: Dissertation 80%, Demo 10%, Presentation (Autumn) 10% 2. Lecturer KR Selvaraj (Mr) Contact: 03-89248139 (Office Phone); BB60 (Room) E-mail: kr.selvaraj@nottingham.edu.my 3. 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. 4. Web Link http://sepang.nottingham.edu.my/~krselvaraj Page 4 of 39 School of Computer Science G51CSA – Computer Systems Architecture (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: G51PRG; A: Coursework 25%, Written Examination 75% 2. Lecturer KR Selvaraj (Mr) Contact: 03-89248139 (Office Phone); BB60 (Room) E-mail: kr.selvaraj@nottingham.edu.my 3. Summary of Content This module is part of the Operating Systems and Architecture theme in the School of Computer Science: the basic von Neumann architecture for stored-program digital computers. use simple C programs (linked to G51PRG) to introduce assembly language, binary representations of basic data types how C programming concepts such as arrays and procedures are implemented at the machine/assembly level. It also covers principles of the lower level implementation of I/O using polling and interrupts, and the use of exceptions. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 12 5. No 1 2 6. Lecture Topic Introduction & Concepts Bits, bytes and numbers ( Part I) Bits, bytes and numbers (Part II) Current Program Status Register(CPSR), Conditions and Branches. ARM arithmetic, Data Processing, Loads and Stores; Comparisons and Loops. Bitwise operations, Binary Addition and Signed Numbers. Computer Systems Organization; Addresses and Addressing. Binary Arithmetic operations ARM Procedure calling conventions and recursion. CPU and Computer Architecture including Instruction Pipelining. RISC- CISC Architecture Resources Name of Author(s) Petzold, Charles Year of Publication 2000 M. Morris Mano 1993 Title of Book The Hidden language of computer hardware and software Computer Systems Architecture; Computer Edition 3rd Publisher’s Name Microsoft Press ISBN 0-73561131-9 Prentice Hall 0-13175738-5 Web Link http://sepang.nottingham.edu.my/~krselvaraj Page 5 of 39 School of Computer Science G51MCS – Mathematics for Computer Scientists (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer Tomas Maul (Dr) Contact: 03-89248232 (Office Phone); BB64 (Room) E-mail: Tomas.Maul@nottingham.edu.my 3. Summary of Content The module covers mathematical concepts relevant to computer science: Boolean algebra: truth tables, propositional calculus. Simple number theory: inequalities, floor and ceiling function, greatest common divisor, modulo arithmetic. Elementary combinatorics. Sets, functions and relations: union, intersection, complementation of sets. Bijections and surjections. Ordering relations. Hasse diagrams. Quantifiers. Sum and product. Universal and existential quantification (at this stage, understanding of meaning of quantified expressions only). Simple induction on natural numbers (linked to recursion in G51APS). 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 6. Lecture Topic Introduction to the module. Some puzzles and games. Propositional Logic. Double Negation Elimination and Excluded Middle. Introduction to truth tables. Boolean Algebra. Number systems, order, floor, ceiling. Divisibility, quotient and remainder. Recursive Definitions. Euclid's Algorithm, Summations. Induction. Summary of Arithmetics. Sets and Functions 1 Sets and Functions 2 Quantifiers and finite sets. The pigeonhole principle, binomial coefficients. Pascal's Triangle and Hilbert's Hotel. Modular Arithmetic. Revision. Resources Name of Author(s) Norman L. Biggs Year of Publication 2003 Title of Book Edition Discrete Mathematics 2nd Publisher’s Name Oxford University Press ISBN 0-19850717-8 Web Link http://baggins.nottingham.edu.my/~kcztm/TeachG51MCS.html Page 6 of 39 School of Computer Science G51REQ – Requirement Engineering (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: None; A: Coursework 100% 2. Lecturer Behrang Parhizkar (Mr) Contact: 0172951500 (Mobile Phone); BB47 (Room) E-mail: hani.parkhizkar@nottingham.edu.my 3. 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 12 5. No 1 6. Lecture Topic Requirements Engineering Process (process models, actors in RE) Requirements Engineering Process (process support & improvement) Requirements Elicitation (elicitation process & techniques) Requirements Elicitation (ethnography & fieldworks) Requirements Analysis (prototyping, requirement analysis and negotiation) Requirements Validation (req. reviews) Requirements Validation (model validation, requirement testing) Requirements Management (stable & volatile requirements) Requirements Management (change management, traceability) Requirements Management (change Management) Group Assignment Presentation Revision Resources Name of Author(s) Sommerville, Ian Year of Publication 2011 Title of Book Edition Software Engineering 9th. Publisher’s Name Pearson ISBN 0-13705346-0 Web Link http://moodle.nottingham.ac.uk/ Page 7 of 39 School of Computer Science G51PRG – Programming (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: G51CSA; A: Coursework 100% 2. Lecturer Chew Sze-Ker (Mr) Contact: 03.89248140 (Office Phone); BB72 (Room) E-mail: chew.sze-ker@nottingham.edu.my 3. 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. Please note: This is a non-compensatable module. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 5. No 1 6. Lecture Topic Introduction to C compiler/Getting started with GCC Procedures, Parameters, Values and Variables Operators and Precedence Conditionals and Loops Pointers and scanf() Arrays and Strings String Processing File Input/Output Structures Heap arrays and Linked List Resources Name of Author(s) Vine, Michael A Year of Publication 2009 Title of Book Edition C programming for the absolute beginner 2nd Publisher’s Name Cengage Learning ISBN 1-598634801 Web Link http://moodle.nottingham.ac.uk/ Page 8 of 39 School of Computer Science G51APS – Algorithmic Problem Solving (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: G51MCS; A: Written Examination 100% 2. Lecturer Siang Yew Chong (Dr) Contact: 03-89248148 (Office Phone); BB57 (Room) E-mail: Siang-Yew.Chong@nottingham.edu.my 3. 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 2 6. Introduction. Invariants. Crossing a River. Games. Knights and Knaves. Induction. Coursework Discussion. Fake-Coin Detection. Towers of Hanoi. Revision. Coursework Discussion. Lecture Topic Resources Name of Author(s) Roland Backhouse Year of Publication 2008 Paul Zeitz 2007 Title of Book Edition ISBN Algorithmic Problem Solving The Art and Craft of Problem Solving Publisher’s Name 2nd John Wiley and Sons 978-047178901-7 Web Link http://baggins.nottingham.edu.my/~khczcsy/G51APS/G51APS.html Page 9 of 39 School of Computer Science G51UST – UNIX and Software Tools (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer Ben Phear (Mr) Contact: CFFRC Offices; 2nd Floor B Block Email: ben.phear@nottingham.edu.my 3. Summary of Content This module includes the following topics: Basic UNIX usage: windowing systems, file system navigation, text editing, useful commands (eg. man, mozilla, lpr), environment variables. Unix I/0 and file processing: pipes, redirections, grep and regular expressions, sed, awk. Unix shell scripting. Compilers, interpreters, debuggers, documentation systems with particular reference to programming languages used widely inthe 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 Lecture Topic Introduction, overview and module contents The UNIX Filestore and File Processing xEditing Files and EMACS UNIX Processes and UNIX Network Utilities Searching and Regular Expressions (Regex) Shell Programming and The sed Editor The AWK programming Language Version Control Systems Compilers, Interpreters and Debuggers Make Module Summary and Revision 5. Resources The Internet, Google, UNIX / GNU Man-pages, any book that covers module topic content. There is no formal prescribed text for this module. 6. Web Link http://moodle.nottingham.ac.uk/ Page 10 of 39 School of Computer Science G52SEM – Software Engineering Methodologies (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51FSE; C: None; A: Coursework 40%, Written Examination 60% 2. Lecturer KR Selvaraj (Mr) Contact: 03-89248139 (Office Phone); BB60 (Room) E-mail: kr.selvaraj@nottingham.edu.my 3. Summary of Content The module covers three main aspects of the software development process in depth: system analysis and design process: the Unified Modelling Language (UML), Use-Case Analysis (UCA) and Data Flow Diagrams (DFDs). the project management process: essential concepts and techniques in project management, including Gantt charts, critical path analysis and the Program Evaluation and Review Technique (PERT). software documentation: the practice of good software documentation will be demonstrated 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 12 5. Resources No Name of Author(s) Andrew Stellman and Jennifer Greene Cockburn, Alistair 1 2 6. Lecture Topic Introduction and Goals, Software Project Management, Vision and Scope Use Case Analysis Project Definition, Traditional Project Management Agile teams and Interactive approaches Estimating and Scheduling a project. An overview of prince 2 Tools and Infrastructure, Software Development Infrastructure for successful projects Software Testing, TDD and Unit Testing with JUnit Domain Modeling, Project Monitoring Software Design, UML 2.0 as a design specification tool Using design patterns, Achieving loose coupling, Clean code and refactoring Automated build and test, Producing documentation Revision Year of Publication 2006 Title of Book Applied software project management Edition 1st Publisher’s Name O'Reilly Media 2001 Writing effective use cases 1st Addison-Wesley ISBN 0-59600948-8 0-20170225-8 Web Link http://sepang.nottingham.edu.my/~krselvaraj Page 11 of 39 School of Computer Science G52ADS – Algorithms and Data Structures (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51MCS, G51OOP; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer TBA 3. Summary of Content 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 2 6. Lecture Topic Introduction, overview and module contents Algorithms and analysis, data structures/abstract data types; Sorting methods I: bubble sort, selection sort and insertion sort Sorting methods II: merge sort and quick sort; Stacks Queues; Recursion Linked list (single and double ended); Graph, DFS and BFS Shortest path algorithms, minimum spanning tree Topological sort; Hash table Heaps, heap sort, priority queue Tree, tree traversal; Binary search tree, balanced binary search tree part 1 (AVL tree) Balanced binary search tree part 2 (Red black tree); Multi-way tree (2,3) and (2,3,4) trees Revision and discussion of past exam papers Resources Name of Author(s) Michael T.Goodrich and Roberto Tamassia Shaffer, Clifford A. Year of Publication 2011 2001 Title of Book Edition Data Structures and Algorithms in Java 5th Publisher’s Name John Wiley A practical introduction to data structures and algorithm analysis 2nd Prentice Hall ISBN 0-47039880-9 0-13028446-7 Web Link http://moodle.nottingham.ac.uk/ Page 12 of 39 School of Computer Science G52IFR – Introduction to Formal Reasoning (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51FUN, G51MCS; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer Michael Chung (Mr) Contact: 03-89248142 (Office Phone); BB58 (Room) E-mail: michael.chung@nottingham.edu.my 3. Summary of Content The module introduces methods of formal reasoning relevant for Computer Scientists. It continues and develops further the themes of G51MCS and introduces a mathematical rigorous approach to program construction. 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. 4. Weekly Programme Week No Lecture Topic 1 Introduction: Course content, assessment, introduction to Coq 2 Coq Basics, Propositional Logic 3 More Coq, Classical Logic 4 Bool and Predicate Logic 5 General Predicate Logic 6 More Predicate Logic 7 Operations on sets 8 Peano Arithmetic 9 Some Algebra 10 Primitive recursion 11 The omega hotel, diagonalisation 12 Lists 5. No 1 6. Resources Name of Author(s) Bertot, Yves & Castéran, Pierre Year of Publication 2004 Title of Book Edition Interactive Theorem Proving and Program Development: Coq'Art: The Calculus of Inductive Constructions 1st Publisher’s Name Springer ISBN 3540208542 Web Link http://baggins.nottingham.edu.my/~kczmc/Teaching/G52IFR/ Page 13 of 39 School of Computer Science G52APR – Application Programming (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51OOP; C: None; A: Coursework 100% 2. Lecturer Michael Chung (Mr) Contact: 03-89248142 (Office Phone); BB58 (Room) E-mail: michael.chung@nottingham.edu.my 3. 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. 4. Weekly Programme Week No 1 2&3 4&5 6&7 8&9 10 & 11 12 5. No 1 6. Lecture Topic Introduction GUI Components Multithreading Networking Accessing Database with JDBC Web Applications Design Patterns Resources Name of Author(s) Deitel & Deitel Year of Publication 2007 Title of Book Java How to Program Edition 7th Publisher’s Name Pearson ISBN 0-13613247-2 Web Link http://baggins.nottingham.edu.my/~kczmc/Teaching/G52APR/ Page 14 of 39 School of Computer Science G52GUI – Graphical User Interfaces (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51OOP, G52APR; C: None; A: Coursework 100% 2. Lecturer Chen ZhiYuan (Dr) Contact: 03-89248141 (Office Phone); BB59 (Room) E-mail: Zhiyuan.Chen@nottingham.edu.my 3. Summary of Content This module is part of the Human-Computer Interaction theme in the School of Computer Science. The module focuses on how to implement graphical user interfaces. It will introduce key programming concepts and structures by considering in depth the Java Swing packages. The course will explore a wide range of components (from buttons to tables), and the Java 2D API, which allows developers to easily incorporate highquality 2D graphics, text, and images in applications. The use of Integrated Development Environments (IDEs), which simplify the construction of graphical user interfaces, will be introduced and the advantages and disadvantages considered. The module will also discuss design guidelines for graphical interfaces. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 12 Lecture Topic Introduction, overview and module contents Windows & Events Model/View Notification Widgets and Layout Java Swing Layout Management Abstract Model Widgets The JTree Component Multiple View Models Look, Feel and Graphical Design Interactive Design Tools Graphics and the Java 2D API Revision 5. Resources No Name of Author(s) Dan R. Olsen 1 Year of Publication 2010 2 6. Title of Book Edition Building Interactive Systems Swing Tutorial & JAVA 2D Tutorial 1st Publisher’s Name Course Technology ISBN 1-42390248-3 Sun Java Web Link http://moodle.nottingham.ac.uk Page 15 of 39 School of Computer Science G52IIP – Introduction to Image Processing (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51MCS, G51PRG; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer Ho Sooi Hock (Mr) Contact: 03-89248145 (Office Phone); BB71 (Room) E-mail: ho.sooi-hock@nottingham.edu.my 3. Summary of Content This module includes the following topics: overview of image processing and its applications, relations between image processing and other related fields e.g. computer vision, computer graphics, image analysis and digital photography fundamentals of digital images, elements of visual perception and human visual system, digital image formation and acquisition, colour models and processing point processing, spatial filtering, image transforms and frequency domain processing, edge detection, image segmentation, image coding and compression 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 2 6. Lecture Topic Introduction, overview and module contents Digital image fundamentals Point and histogram processing Spatial domain image filtering Image sharpening, edge detection and Hough transform Frequency domain & Fourier transform Image filtering in the frequency domain Image segmentation & representation Object representation Image coding and image compression Revision and discussion of past exam papers Resources Name of Author(s) Gonzalez & Woods Year of Publication 2008 Title of Book Edition Digital Image Processing 3rd Efford 2000 Digital Image Processing Using Java 1st Publisher’s Name Prentice Hall AddisonWesley ISBN 0-13168728X 0-20159623-7 Web Link http://sepang.nottingham.edu.my/~hsooihock/G52IIP/index.html Page 16 of 39 School of Computer Science G52PAS – Planning and Search (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C) ; Assessment Details (A) P: G51IAI; C: None; A: Written Examination 100% 2. Lecturer Siang Yew Chong (Dr) Contact: 03-89248148 (Office Phone); BB57 (Room) E-mail: Siang-Yew.Chong@nottingham.edu.my 3. Summary of Content This module introduces more advanced AI techniques for problem-solving and search, reasoning about actions, representing and reasoning with uncertainty and AI planning. The search techniques are applicable to problems in AI and optimisation and include: heuristic search, hill climbing, genetic algorithms, simulated annealing, tabu search, local beam search and SAT. The planning techniques are applicable to complex task planning and planning for mobile robots. Topics covered include: approaches to reasoning about actions and searching for plans efficiently, planning in static worlds, planning under uncertainty, conditional planning, planning with time and resources, and mobile agent planning. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 6. Lecture Topic Introduction to Search. Local Search and Genetic Algorithms Search and SAT, Search with Non-determinism and Partial Observability. Logical Agents. Situation Calculus. Classical Planning. Classical Planning 2 and Partial Order Planning. Classical Planning: GraphPlan, SatPlan. Classical Planning: Planning with Time and Resources. Classical Planning: Hierarchical Planning and Planning in Non-Deterministic Domains. Revision and Coursework Discussion. Resources Name of Author(s) Stuart J. Russell & Peter Norvig Year of Publication 2010 Title of Book Edition Artificial Intelligence :A Modern Approach 3rd Publisher’s Name Prentice Hall ISBN 0-136042597 Web Link http://baggins.nottingham.edu.my/~khczcsy/G52PAS/G52PAS.html Page 17 of 39 School of Computer Science G53VIS – Computer Vision (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51OOP or G51PRG; C: None; Recommended: G52IIP A: Coursework 25%, Written Examination 75% 2. Lecturer Tomas Maul (Dr) Contact: 03-89248232 (Office Phone); BB64 (Room) E-mail: Tomas.Maul@nottingham.edu.my 3. 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. Lecture Topic Introduction Segmentation as Clustering. Region-based Segmentation. Watersheds. The EM Algorithm. Binocular Stereo. Camera Calibration. Stereo Correspondence. Motion Analysis and Optic Flow. Computing Optic Flow. Issues in Optic Flow. Evaluation: Optic flow and segmentation. Introduction to Tracking. The Kalman Filter. Snakes. Particle Filters and Condensation. Event Detection and Hidden Markov Models. Revision. Resources N o Name of Author(s) 1 David A. Forsyth & Jean Ponce 6. Year of Publicatio n 2002 Title of Book Edition Publisher’s Name ISBN Computer Vision: A Modern Approach 1st Prentice Hall 0-13085198-1 Web Link http://baggins.nottingham.edu.my/~kcztm/TeachG53VIS.html Page 18 of 39 School of Computer Science G53CWO – Computers in the World (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: None; A: Coursework 50%; Written Examination 50% 2. Lecturer Ho Sooi Hock (Mr) [Group Teaching] Contact No: 03-89248145 (Office Phone); BB71 (Room) E-mail: ho.sooi-hock@nottingham.edu.my 3. Summary of Content Scope of applications of computers and computing in the world at large (from scientific supercomputers, PCs, tablets and phones to embedded computers, smart cards and RFID tags). Dependability of computer-based systems and management of risk in relation to such systems. Legal liability, data protection and intellectual property issues in computing. Social and cultural impacts of computing (e.g. social networking), the portrayal of computers and computing in the popular media, fiction and ethical issues in computing. Sustainability and appropriate technology. The nature of professionalism, the role of professional bodies, and continuing professional development. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No Lecture Topic Ubiquity of Computers, New Developments & Rapid Changes Software Safety Computer Crime Privacy Freedom of Speech Intellectual Property Issues Computers in the Workplace Evaluating & Controlling Technologies Professionalism & Ethical Issues Wrap Up & Discussion Revision Resources Name of Author(s) Year of Publication Title of Book Edition Publisher’s Name ISBN 1 Sarah Baase 2008 3rd Prentice Hall 2 K. Bowyer 2001 Ethics & Computing Ethics & Computing 1st Wiley-IEEE Press 6. Web Link http://sepang.nottingham.edu.my/~hsooihock or http://moodle.nottingham.ac.uk 0-13600848-4 0-78036019-2 Page 19 of 39 School of Computer Science G53SQM – Software Quality Management (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G52SEM; C: None; A: Coursework 40%, Written Examination 60% 2. Lecturer Chew Sze-Ker (Mr) Contact: 03.89248140 (Office Phone); BB72 (Room) E-mail: chew.sze-ker@nottingham.edu.my 3. Summary of Content This module is part of the Software Engineering theme in the School of Computer Science. This module introduces concepts and techniques for testing software and assuring its quality The topics covered in this module include: Software quality concepts and principles, Commercial and governmental stan. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 Lecture Topic Introduction to SQA/Software Quality Factors Components of SQA Systems Pre-project Software Quality/Integrating quality Activities Software Reviews Software Testing Strategies/Implementation Software Quality Metrics The Function Point Method Presentation Presentation Presentation Revision and discussion 5. Resources No Name of Author(s) Malik Kamna Year of Publication 2006 Tian Jeff 2005 1 2 6. Title of Book Edition Software Quality: a practitioner’s approach Software Quality Engineering: testing, quality assurance and quantifiable improvement 1st Publisher’s Name McGraw Hill 1st Wiley ISBN 0-070248737 0-013064282 Web Link http://moodle.nottingham.ac.uk/ Page 20 of 39 School of Computer Science G53CMP – Compilers (10 Credits) – Autumn 2012-2013 1. Pre-requisites (P) & Co-requisites (C);Assessment Details (A) P: G51PRG, G52MAL; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer Tomas Maul (Dr) Contact: 03-89248232 (Office Phone); BB64 (Room) E-mail: Tomas.Maul@nottingham.edu.my 3. Summary of Content This module is part of the Programming theme in the School of Computer Science. 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. Topics covered include parsing, parser generators, types and type systems, run-time organisation, memory management, code generation and optimisation. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 6. Lecture Topic Administrative Details and Introduction A Complete (Albeit Small) Compiler Defining Programming Languages; Syntactic Analysis Contextual Analysis: Scope Contextual Analysis: Types and Type Systems Code Generation Run-time organisation Register Allocation Code Optimization Revision Resources Name of Author(s) lfred V. Aho, Ravi Sethi and Jeffrey D.Ullman, S. Year of Publication 2003 Title of Book Edition Compilers: Principles, Techniques & Tools 2nd Publisher’s Name Prentice Hall ISBN 0-201101947 Web Link http://baggins.nottingham.edu.my/~kcztm/TeachG53CMP.html Page 21 of 39 School of Computer Science G51FUN – Intro to Functional Programming (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51MCS, G51PRG; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer Michael Chung (Mr) Contact: 03-89248142 (Office Phone); BB58 (Room) E-mail: michael.chung@nottingham.edu.my 3. Summary of Content Broadly speaking, a functional programming language is one that emphasises the application of functions, rather than the execution of commands. Among other features, functional languages offer a compact notation for writing programs, powerful abstraction methods for structuring programs, and a simple mathematical basis that supports reasoning about programs. 4. Weekly Programme Week No Lecture Topic 1 Introduction: Course content, assessment, introduction to functional language, history 2 The Hug system: Hugs, standard prelude, function application, Haskell scripts, naming requirements, layout rule 3 Type Information: Type errors, basic types, list types, tuple types, function types – curried, polymorphic, overloaded, basic classes 4 Defining functions: Conditional expressions, guarded equations, pattern matching, lamda expressions, sections 5 List comprehension: Introduction, dependent generators, guards, zip functions, string comprehensions 6 Recursive functions: Introduction, recursion on lists, multiple arguments 7 Higher order functions: map, filter, foldr, other library functions 8 Interactive programs: Introduction, primitive actions, sequencing actions, other library actions 9 Functional parsers: Introduction, primitive parsers, sequencing parsers, other library parsers 10 Defining types: Type declarations, data declarations, recursive types, examples 11 Lazy evaluations: Innermost & outermost evaluations, lambda expressions, termination, number of structures, infinite structures 12 Reasoning about programs 5. No 1 2 6. Resources Name of Author(s) Graham Hutton Richard Bird Year of Publication 2007 1988 Title of Book Edition Programming in Haskell Introduction to Functional Programming using Haskell 1st Publisher’s Name CUP 2nd Prentice Hall ISBN 0-52169269-5 0-13484346-0 Web Link http://baggins.nottingham.edu.my/~kczmc/Teaching/G51FUN/fun.html Page 22 of 39 School of Computer Science G51DBS – Database Systems (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51MCS; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer TBA 3. 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 12 Topics Introduction to Database Systems, The Relational Model Database Models & Relational Database Relational Algebra & Entity Relationship Modelling Normalization SQL Data Definition More SQL – Data Definition Language (I) More SQL – Data Definition Language (II) Data Administration and Security Transactions and Recovery, Concurrency Control & Efficiency Issues Object-relational & Object-oriented Databases, XML and databases Good and Bad ‘Modern’ Databases Revision 5. Resources No Name of Author(s) Thomas Connolly and Carolyn Begg, 1 2 6. R Elmasri and SB Navathe, Year of Publication 2005 2004 Title of Book Edition Database Systems - A Practical Approach to Design, Implementation, and Management Fundamentals of Database Systems 3rd or 4th Publisher’s Name AddisonWesley 3rd or 4th AddisonWesley . ISBN 0321210255 0321204484 Web Link TBA Page 23 of 39 School of Computer Science G51FSE – Introduction to Software Engineering (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: None; A: Coursework 30%, Written Examination 70% 2. Lecturer Timothy Brailsford (Dr) Contact: 03-89248147 (Office Phone); BB70 (Room) E-mail: tim.brailsford@nottingham.edu.my 3. 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No Lecture Topic Introduction to Object-oriented Software Engineering (OOSE) – Part 1 Introduction to Object-oriented Software Engineering (OOSE) – Part 2 Introduction to Object-oriented Software Engineering (OOSE) – Part 3 Object-orientation (OO) Object-oriented Analysis (OOA) Object-oriented Design (OOD) – Part 1 Object-oriented Design (OOD) – Part 2 Formal Specification Architectural Design Testing Principles and Managing Software Project – Part 1 Testing Principles and Managing Software Project – Part 2 Revision and review past examination questions Resources Edition Ian Sommerville Year of Publication 2006 Title of Book 1 Name of Author(s) Software Engineering 8th 2 Roger S Pressman 2004 Software Engineering: A Practitioner's Approach 6th 6. Publisher’s Name Addison Wesley McGraw-Hill ISBN 0321313799 0073019338 Web Link http://moodle.nottingham.ac.uk Page 24 of 39 School of Computer Science G51OOP – Object Oriented Programming (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51PRG; C: None; A: Coursework 100% 2. Lecturer Chew Sze-Ker (Mr) Contact: 03.89248140 (Office Phone); BB72 (Room) E-mail: chew.sze-ker@nottingham.edu.my 3. 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. Please note: This is a non-compensatable module. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 Lecture Topic Introduction to Objects/Classes Inheritance Polymorphism Event Handling and Exception File Processing Interfaces and Inner Classes Linked Data Structures Graphical User Interfaces I Graphical User Interfaces II Coursework discussions Revision and discussion of past exam papers 5. Resources No Name of Author(s) Savitch, Walter J Year of Publication 2004 Title of Book Absolute Java Edition Bishop J.M. 2001 Java Gently 3rd Addison Wesley 0-20171050-1 2007 Java: How to Program 7th Pearson 0-13613247-2 1 2 3 6. Deitel, Paul J 4th Publisher’s Name Pearson ISBN 0-32120567-7 Web Link http://moodle.nottingham.ac.uk/ Page 25 of 39 School of Computer Science G51IAI – Introduction to Artificial Intelligence (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: None; A: Written Examination 100% 2. Lecturer Ho Sooi Hock (Mr) Contact No: 03-89248145 (Office Phone); BB71 (Room) E-mail: ho.sooi-hock@nottingham.edu.my 3. Summary of Content This module aims to: give a broad overview of the fundamental theories and techniques of AI a peek into the history of AI and the key milestones, e.g. Turing Test and the Chinese Room, MYCIN etc. provide the student with the necessary knowledge to allow them to implement common AI search techniques introduce game playing and describe some of the techniques that are applicable in this area (e.g. mini-max, alpha-beta pruning) review the principles of neural networks in general and perceptron learning. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 2 6. Lecture Topic Introduction, overview and module contents Reasons for AI; History of AI; Philosophy of AI Problem formulation Uninformed search – BFS, DFS, UCS, DLS, IDS Heuristic search techniques – BFS, GFS and A* Tutorials on search techniques; Discussion on courseworks Game playing techniques Introduction to neural networks Perceptron learning and linear separability Constraint satisfaction problems Revision and discussion of past exam papersl Resources Name of Author(s) S. J. Russell & Peter Norvig Year of Publication 2010 Title of Book Edition AI :A Modern Approach 3rd George F Luger 2008 AI:Structures and strategies for Complex Problem Solving 6th Publisher’s Name Prentice Hall Addison Wesley ISBN 0-13604259 -7 0-321545893 Web Link http://sepang.nottingham.edu.my/~hsooihock or http://moodle.nottingham.ac.uk Page 26 of 39 School of Computer Science G51WPS – Web Programming and Scripting (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51PRG; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer Ben Phear (Mr) Contact: CFFRC Offices; 2nd Floor B Block E-mail: Ben.phear@nottingham.edu.my 3. 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 the client-server paradigm, URLs, MIME types and HTTP. Then client side technologies will be studied (HTML, CSS, Java Script, and XML), followed by an introduction to server side technologies (such as Perl and CGI, JSP, ASP.NET, PHP) with an emphasis on PHP. Guidelines for Web design and usability, and case studies will also be provided. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. Lecture Topic Introduction, overview and module contents Computer Communications and Networks, and TCP/IP Web browsers, servers, and HTTP HTML Cascading Style Sheets (CSS) Javascript Server-side Interaction PHP Web Usability XML Web Application Frameworks and Module Summary and Revision Resources The Internet, Google, UNIX / GNU Man-pages, any book that covers module topic content. There is no formal prescribed text for this module. 6. Web Link http://moodle.nottingham.ac.uk/ Page 27 of 39 School of Computer Science G52CCN – Comp Communications and Networks (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51MCS; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer KR Selvaraj (Mr) Contact: 03-89248139 (Office Phone); BB60 (Room) E-mail: kr.selvaraj@nottingham.edu.my 3. 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. 4. 5. No 1 6. Weekly Programme Week No Topics 1-3 Part 1: Data Transmission 1. Introduction, Transmission media 2. Local asynchronous communication and RS-232 3. Long distance communication (carriers and modems) 4-6 Part 2: Packet Transmission 5. Packets, frames and error detection 6. Local Area Networks 7. Hardware addressing and frame types 8. LAN wiring and physical topology 9. Extending LANs 10.WAN technologies and routing 11. Ownership, service and performance 7-8 Part 3: Internetworking 12. Protocols and layering 13. Internetworking - concepts 14. IP addressing 15. IP datagrams 16. Future IP 17. Transport Control Protocol (TCP) 9 - 10 Part 4 : Introduction to Computer and Network Security 11 - 12 Part 5: Applications 18. Client-Server Interaction 19. The Socket API 20. Example applications 21. Revision Resources Name of Author(s) Douglas E. Comer Year of Publication 2004 Title of Book Edition Computer Networks and Internets 4th Publisher’s Name Prentice Hall ISBN 0-13123627-X Web Link http://sepang.nottingham.edu.my/~krselvaraj Page 28 of 39 School of Computer Science G52CON – Concepts of Concurrency (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51PRG, knowledge of mathematics; C: None; A: Written Examination 100% 2. Lecturer Abdur Rakib (Dr) Contact: 03-89248137 (Office Phone); BB65 (Room) E-mail: abdur.rakib@nottingham.edu.my 3. Summary of Content This module introduces the basic principles of concurrent programming and their use in designing computer programs. It covers concurrency primitives for shared memory and 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 producerconsumer problem, the readers and writers problem, client server problems etc. 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, synchronized methods, and monitors. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 12 5. Resources No Name of Author(s) Andrews 1 6. Lecture Topic Introduction, overview and module contents Operating System Processes Processes & Threads Inter-process Communication and Synchronisation Critical Sections and Atomic Actions Mutual Exclusion Algorithms Semaphores Monitors Monitors in Java Syncronization in Java Message Passing, Remote Invocation Proving Correctness, Model Checking Year of Publication 2000 Title of Book Edition Foundations of Multithreaded, Parallel and Distributed Programming 1st Publisher’s Name AddisonWesley ISBN 0201357526 Web Link http://baggins.nottingham.edu.my/~kefzabr/G52CON/ Page 29 of 39 School of Computer Science G52MAL – Machines and their Languages (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51FUN, G51MCS, G51PRG; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer Tomas Maul (Dr) Contact: 03-89248232 (Office Phone); BB64 (Room) E-mail: Tomas.Maul@nottingham.edu.my 3. 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 6. Lecture Topic Introduction, overview and module contents Preliminaries Automata Theory; Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA) Subset Construction; Epsilon Transition Regular Language and Regular Expressions; Minimisation of Finite Automata Properties of Language, Proving Languages not to be Regular Introduction to Context free Grammar- Chomsky norms Regular grammar, Derivations Parse trees; Case Study - NLP Pushdown Automata (PDA) The Language of a PDA; Turing Machines and Decidability Resources Name of Author(s) John Hop Croft, Rajeev Motwani, Jeffrey.D.Ullman Year of Publication 2007 Title of Book Edition Introduction to Automata Theory, Languages and computation 3rd Publisher’s Name Addison Wesley ISBN 0321476174 Web Link http://baggins.nottingham.edu.my/~kcztm/TeachG52MAL.html Page 30 of 39 School of Computer Science G52CPP – C++ Programming (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51OOP; C: None; A: Coursework 40%, Written Examination 60% 2. Lecturer Michael Chung (Mr) Contact: 03-89248142 (Office Phone); BB58 (Room) E-mail: michael.chung@nottingham.edu.my 3. Summary of Content The course will cover programming material and concepts necessary to obtain a thorough understanding of the C++ programming language for students with experience with another imperative programming language such as Java or C#. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 12 5. No 1 6. Lecture Topic Introduction Introduction to Classes and Objects Classes Classes (cont.) Operator overloading Inheritance in C++ Polymorphism in C++ Templates Stream Input/Output, Class String Exception Handling File Processing STL Resources Name of Author(s) Deitel & Deitel Year of Publication 2008 Title of Book C++ How to Program Edition 6th Publisher’s Name Pearson ISBN 013242701X Web Link http://baggins.nottingham.edu.my/~kczmc/Teaching/G52CPP Page 31 of 39 School of Computer Science G52HCI – Human Computer Interaction (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P:G52GUI; C: None; A: Coursework 100% 2. Lecturer Chen ZhiYuan (Dr) Contact: 03-89248141 (Office Phone); BB59 (Room) E-mail: Zhiyuan.Chen@nottingham.edu.my 3. Summary of Content This module is part of the Human-Computer Interaction theme in the School of Computer Science. The module provides an overview of the field of Human Computer Interaction, which aims to understand people's interaction with technology and to apply this knowledge in the design of usable interactive computer systems. The module will introduce the concept of usability, examine different design approaches and evaluation methods and illustrate the principles through an exploration of a number of case studies. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 2 6. Lecture Topic Introduction, overview and module contents Understanding Users - The Cognitive Perspective Understanding users - Ethnography Understanding users - Organisational Context Understanding Users – Art and Design Perspective Requirements Designing GUIs Participatory design and prototyping Evaluating Interfaces The Future of the Interface Revision Resources Name of Author(s) Helen Sharp, Yvonne Rogers & Jenny Preece Ben Schneiderm an & Catherine Plaisan Year of Publication 2007 2010 Title of Book Edition Interaction Design: Beyond Human Computer Interaction 2nd Designing the User Interface: Strategies for Effective HumanComputer Interaction 5th Publisher’s Name Wiley AddisonWesle ISBN 047001866-6 032153735-1 Web Link http://moodle.nottingham.ac.uk Page 32 of 39 School of Computer Science G52APT – AI Programming Techniques (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G51PRG, G52PAS; C: None; A: Coursework 25%, Written Examination 75% 2. Lecturer Chew Sze-Ker (Mr) (Co teach with Chong Siang Yew (Dr)) Contact: 03.89248140 (Office Phone); BB72 (Room) E-mail: chew.sze-ker@nottingham.edu.my 3. Summary of Content This module introduces basic AI programming techniques and explains how these can be used to solve typical AI problems (e.g., those introduced in G51IAI and G52PAS). The programming techniques are introduced through an AI programming language, however the emphasis is on transferrable AI programming skills rather than language specific details. Topics covered include: introduction to Prolog, Horn clauses, unification, backtracking, lists and other data structures, and AI programming patterns. Key AI problems are used to illustrate practical exercises, e.g., basic search, planning, game playing, etc. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 5. No Lecture Topic Introduction, Prolog syntax Prolog execution, Recursive programs Lists Backtracking, second order programming Depth first search, iterative deepening search Breadth first search, state representation Non-path problems, forward planning Regression planning, further regression Partial order planning Revision Resources Name of Author(s) Bratko, Ivan Year of Publication 2012 2 Sterling & Shapiro 1994 3 Russell & Norvig 2010 1 6. Title of Book Edition Prolog Programming for Artificial Intelligence The Art of Prolog 4th Publisher’s Name Prentice Hall 2nd MIT Press 3rd Pearson Artificial Intelligence: A Modern Approach ISBN 978032 14174 66 026219338-8 013207148-7 Web Link http://moodle.nottingham.ac.uk Page 33 of 39 School of Computer Science G53OPS – Operating Systems (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: 51PRG, G52CON; C: None; A: Written Examination 100% 2. Lecturer KR Selvaraj (Mr) Contact: 03-89248139 (Office Phone); BB60 (Room) E-mail: kr.selvaraj@nottingham.edu.my 3. Summary of Content Operating systems provide a software interface to make the hardware of a computer more readily usable, and to provide cost-effective use of that hardware. This module covers how key aspects of an operating systems can be implemented, including: process scheduling, memory management, file systems, input/output. In addition, the history of operating systems will be discussed and how they have developed in line with advances in hardware. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 12 5. No Lecture Topics Introduction and background Memory Management Part I Memory Management Part II Memory Management Part III Processes Scheduling Part I Processes Scheduling Part II Processes Scheduling Part III File Systems Part I File Systems Part II Input/output processes Part I Input/output processes Part II Summary and Revision Resources Name of Author(s) Andrew S. Tanenbaum Year of Publication 2001 Title of Book Modern Operating Systems Edition 2 Abraham Silberschatz and Peter Galvin and Greg Gagne 2003 Operating System Concepts 6th John Wiley & sons 0-471262722 3 Abraham Silberschatz and Peter Galvin and Greg Gagne 2003 Applied Operating System Concepts 1st John Wiley & sons 0-471263-141 1 6. 2nd Publisher’s Name Prentice Hall ISBN 0-13031358-0 Web Link http://baggins.nottingham.edu.my/~krselvaraj Page 34 of 39 School of Computer Science G53ELC – Enterprise Level Computing (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G52CCN, G51DBS, G51OOP; C: None; A: Written Examination 100% 2. Lecturer Chen ZhiYuan (Dr) Contact: 03-89248141 (Office Phone); BB59 (Room) E-mail: Zhiyuan.Chen@nottingham.edu.my 3. Summary of Content This module is part of the Net-Centric Computing theme in the School of Computer Science. Then module provides an overview of more advanced Web architectures and technologies. In particular 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). This module explains how modern enterprises construct computer applications that are distributed over an intranet using a variety of servers and clients. Multi-tiered architectures using state-of-the-art distributed system technologies will be covered in a context of object-oriented design and implementation as distributed components. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 12 5. No 1 2 6. Lecture Topic Introduction, overview and module contents Why use Object-Oriented Systems? Web Services Software Patterns and Enterprise Architectures Enterprise Authentication Patterns Client Choices Domain and Entity Modelling Dependency Injection Containers Message Brokers Virtualization and Hypervisors Cloud Computing Revision Resources Name of Author(s) Year of Publication 2002 Chu-Carroll, Mark C. 2011 Farley, Jim Title of Book Edition Java enterprise in a nutshell 3rd Code in the cloud 1st Publisher’s Name O’Reilly Pragmatic Bookshelf ISBN 0596101422 978193 43566 30 Web Link http://moodle.nottingham.ac.uk Page 35 of 39 School of Computer Science G53SEC – Computer Security (10 Credits) – Spring 2012-2013 1. Pre-requisites & Co-requisites; Assessment Details P: G51WPS or G52IWS or G52CCN or Equivalent Knowledge of Networks and Computer Systems. C: None. A: Coursework 40%, Written Examination 60% 2. Lecturer TBA 3. Summary of Content The module covers the following topics: access control, reference monitors, security models, cryptography, cryptanalysis, network security and software security. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 2 6. Lecture Topic Introduction & Overview Foundations of Computer Security Access Control Reference Monitors Security Models Other Security Models Cryptography 1 Cryptography 2 Network Security Software Security Student Presentations & Discussions Resources Name of Author(s) Dieter Gollmann Year of Publication 2006 Title of Book Edition Computer Security 2nd Publisher’s Name John Wiley Ross Anderson 2008 Security Engineering 2nd Prentice-Hall ISBN 0470862939 0470068523 Web Link TBA Page 36 of 39 School of Computer Science G53NMD – New Media Design (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: None; A: Coursework 100% 2. Lecturer Timothy Brailsford (Dr) Contact: 03-89248147 (Office Phone); BB70 (Room) E-mail: tim.brailsford@nottingham.edu.my 3. 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 Lecture Topic Introduction to Multimedia Multimedia Authoring Systems; Interaction and Methaphor in Multimedia Design Graphics and Still Images Representation; Colour Science and Color Models Hypertext Media Design: Text, Images, and Sound Scalable Vector Graphics Digital Audio Architecture of Multimedia Systems Synchronized Multimedia Integration Language Digital Video Intellectual Property Rights; Narrative 5. Resources No Name of Author(s) Barfield, L Year of Publication 2004 Li, Z. & Drew,M. 2004 1 2 6. Title of Book Edition Design for New Media: Interaction design for multimedia and the web Fundamentals of Multimedia 1st - Publisher’s Name Pearson AddisonWesley Pearson Prentice-Hall ISBN 9780201596090 9780130618726 Web Link http://moodle.nottingham.ac.uk Page 37 of 39 School of Computer Science G54ACC – Advanced Computer Communications (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: G52CCN or equivalent; C: None; A: Written Examination 100% 2. Lecturer Ho Sooi Hock (Mr) Contact No: 03-89248145 (Office Phone); BB71 (Room) E-mail: ho.sooi-hock@nottingham.edu.my 3. 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. Introduction to technologies includes p2p and wireless networking. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 11 5. No 1 2 6. Lecture Topic Introduction, Overview & Module Contents IP Subnetting & supernetting; IP Address Depletion Network Auto-configuration; Fragmentation Transport layer protocol and socket programming UDP/TCP comparison; Flow & Congestion Control Advanced Congestion Control IP Multicasting Distributed Systems & Middleware P2P systems Wireless Communications Revision Resources Name of Author(s) Kurose & Ross Year of Publication 2013 Tannenbaum 2011 Title of Book Edition Computer Networking: A Top Down Approach Featuring the Internet Computer Networks 6th 5th Publisher’s Name AddisonWesley Prentice Hall ISBN 0-132856204 0-132126953 Web Link http://sepang.nottingham.edu.my/~hsooihock or http://moodle.nottingham.ac.uk Page 38 of 39 School of Computer Science G54SIM – Simulation for Computer Scientists (10 Credits) – Spring 2012-2013 1. Pre-requisites (P) & Co-requisites (C); Assessment Details (A) P: None; C: None; A: Coursework 40%, Written Examination 60% 2. Lecturer Chen ZhiYuan (Dr) Contact: 03-89248141 (Office Phone); BB59 (Room) E-mail: Zhiyuan.Chen@nottingham.edu.my 3. Summary of Content This module is part of the Modelling and Optimisation theme in the School of Computer Science. Computational Simulation of systems is becoming an 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. 4. Weekly Programme Week No 1 2 3 4 5 6 7 8 9 10 5. No 1 2 6. Lecture Topic Introduction to simulation General principles of simulation Modelling paradigms Simulation paradigms Generating random numbers Input modelling Output data analysis Experimental design and sensitivity analysis Case studies Revision Resources Name of Author(s) Year of Publication 2005 Title of Book Edition Simulation for the social scientist 2nd Publisher’s Name Open University Press Robinson, Stewart 2004 Simulation : the practice of model development and use 1st John Wiley Gilbert, G. Nigel ISBN 978033 521600 0 978047 084772 5 Web Link http://moodle.nottingham.ac.uk Page 39 of 39