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