Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
School of Computer Science
MSC COMPUTER SCIENCE MODULES FOR 2011-2012
Autumn SemesterModule Module Code Level
Introduction to Network Communications G64INC 4Database Systems G64DBS 4Introduction to Computer Programming G64ICP 4Introduction to Human Computer Interaction G54IHC 4Operations Research and Modelling G54ORM 4Advanced Computer Communications G54ACC 4Simulation for Computer Scientists G54SIM 4Programming G54PRG 4System and Network Administration G54ADM 4Computer Vision G53VIS 3Software Quality Management G53SQM 3Introduction to Image Processing G52IIP 2Algorithms and Data Structures G52ADS 2Application Programming G52APR 2
Spring SemesterModule Module Code Level
Software Engineering G64SWE 4Object Oriented Systems G64OOS 4Foundations of Artificial Intelligence G64FAI 4Software Project Management G64SPM 4Management of Information Technology G64MIT 4Parallel and Distributed Computing G54PDC 4Methods for Understanding Users in CS G54MET 4New Media Design G53NMD 3Enterprise Level Computing G53ELC 3Computer Security G53SEC 3C++ Programming G52CPP 2
Summer SemesterModule Module Code Level
Computer Science Technology Transfer Project G64PRE 4Project in Information Technology G64PIT 4Project in the Management of Information Tech. G64PMI 4
Page 1 of 2
MODULE OUTLINEAUTUMN 2011-2012
1. Module Code G64INC
2. Title of Module Introduction to Network Communications
3. Number of credits 10
4. Level 4
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) None
7. Co-requisites for the module (if any) None
8. LecturerMr. Ho Sooi Hock Contact No: 03-8924-8145Room No: BB71E-mail: [email protected]
9. Summary of Content This module aims to: present a broad overview of computer communications and networks provide an overview of underlying technologies including data transmission
techniques, Local Area Networks, Wide Area Networks, internetworking 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 in computer networking. Intellectual Skills
The ability to understand complex ideas and relate them to specific situations.Professional Skills The ability to understand, evaluate and select appropriate network designs and
protocols.
11. Weekly Programme
Week
No
LectureTopics
1 - 3 Part 1: Data Transmission
Page 2 of 18
1. Introduction, Transmission media2. Local asynchronous communication and RS-2323. Long distance communication (carriers and modems)
4 - 7 Part 2: Packet Transmission5. Packets, frames and error detection6. Local Area Networks7. Hardware addressing and frame types8. LAN wiring and physical topology9. Extending LANs10.WAN technologies and routing 11. Ownership, service and performance
8 - 10 Part 3: Internetworking12. Protocols and layering13. Internetworking - concepts 14. IP addressing15. IP datagrams16. Future IP 17. Transport Control Protocol (TCP)
11-12 Part 4: Applications 18. Client-Server Interaction 19. The Socket API20. Example applications 21. Revision
12. Assessment detailsWritten Examination 100%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publicatio
n
Title of Book Edition
Publisher’s Name
ISBN
1Douglas E.
Comer
2008 Computer Networks and
Internets
5th Prentice Hall 0136061273
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition Publisher’s Name
ISBN
1
2
Tanenbaum & Wetherall
Forouzan
2011
2007
Computer Networks
Data Communications and Networking
5th
4th
Prentice Hall
McGraw- Hill
0132126958
0072967757
14. Web Linkhttp://sepang.nottingham.edu.my/~hsooihock
Page 3 of 18
1. Module Code G64DBS
2. Title of Module Database Systems
3. Number of credits 10
4. Level 1
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) None
7. Co-requisites for the module (if any) None
8. LecturerTBAContact No: TBARoom No: TBAE-mail: TBA
9. Summary of Content The module introduces database management systems, the design and use of database systems. The relational database model and the structured database query language (SQL) are covered. Throughout the module students are given instruction in the use of a relational database management system. Topics covered include: the relational model; entity-relationship modelling, SQL data definitions and select, normalisation, efficiency, transactions and database security.
10. Learning Outcomes Knowledge and Understanding Ability to use SQL and an understanding of embedded SQL. Understanding of the
ANSI/SPARC and relational models of database systems. Intellectual Skills Basic knowledge of the mathematics underlying relational database systems.
Ability to design database systems. Professional Skills The use of SQL for database specification and manipulation. Database
administration, including integrity and security control. Transferable Skills: Understanding of the application of database systems.
11. Weekly Programme
Week
No
LectureTopics
1 Introduction to Database Systems, The Relational Model2 Entity Relationship Modelling3 SQL Data Definition4 SQL SELECT
Page 4 of 18
5 More SQL SELECT6 SQL and Java7 Normalization to 3NF and BCNF8 Efficiency Issues9 Transactions and Recovery, Concurrency
10 More Concurrency, Security and Integrity11 Good and Bad ‘Modern’ Databases12 Revision
12. Assessment detailsCoursework 25%; Written Examination 75%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publicatio
n
Title of Book Edition Publisher’s Name
ISBN
1Thomas
Connolly and Carolyn Begg,
2005 Database Systems - A Practical Approach to
Design, Implementation, and Management
3rd or 4th ed.
Addison-Wesley
0321210255
Suggested secondary texts
No
Name of Author(s)
Year of Publicatio
n
Title of Book Edition
Publisher’s Name
ISBN
1
2.
3.
R Elmasri and SB Navathe,
A. Silberschatz, H. F. Korth, and S. Sudarshan,
Peter Rob, Carlos Coronel
2004
2002
2007
Fundamentals of Database
Systems,
Database System
Concepts,
Database System
3rd or 4th ed.
4th ed.
7th ed.
Addison-Wesley,
McGraw-Hill
Course Technology
0321204484
0072283637
1418836508
14. Web LinkTBA
Page 5 of 18
1. Module Code G54IHC
2. Title of Module Introduction to Human Computer Interaction
3. Number of credits 10
4. Level 4
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) None
7. Co-requisites for the module (if any) None
8. Lecturer(Ms) Lyn Fiona Kiai Contact No: 03-8924-TBARoom No: TBAE-mail: [email protected]
9. Summary of Content This module provides an introduction to the foundations of human-computer interaction (HCI). The course will address the theoretical foundations of HCI, the relevance of users to the design process, user interface design (input/output technologies, interaction styles/paradigms, user support etc.), prototyping techniques, and user evaluation.
10. Learning Outcomes Knowledge and Understanding The relevance and importance of considering the human in the design and
implementation of IT products/systems. The issues involved and methods needed to design and evaluate technologies
from a user-centred perspective. An awareness of the wider socio-cultural and contextual issues which affect the
design of technology.Intellectual Skills The application of relevant theories and knowledge of human capabilities and
limitations to the design of IT systems.A critical understanding of the key role of the user in systems design.
Professional Skills Knowledge of Lo-fi interface prototyping methods and interface evaluation, as
well as application of user interface standards.Transferable Skills Team work, critical thinking, oral and written communication.
11. Weekly Programme
Week
No
LectureTopic
Page 6 of 18
1 Introduction, overview and module contents 2 Human computer interaction in general3 HCI education 4 User interface development - general5 User interface design – principles and guidelines 6 Requirements specifications7 Designing GUIs8 Participatory design and prototyping 9 Evaluating interfaces
10 Guidelines for specific platforms 11 Revision and discussion of past exam papersl
12. Assessment detailsTwo Courseworks each worth 30%; Written examination 40%
13. Resources
Suggested primary texts
No Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Helen Sharp, Yvonne Rogers & Jenny Preece
2007 Interaction Design: Beyond Human Computer Interaction
2nd Wiley 0470018666
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1Ben
Schneiderman & Catherine
Plaisant
2010 Designing the User Interface : Strategies forEffective Human-Computer Interaction
5th Addison-Wesley
0321537351
14. Web LinkTBA
Page 7 of 18
1. Module Code G54ORM
2. Title of Module Operations Research and Modelling
3. Number of credits 10
4. Level 4
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) Knowledge of algorithm basics, data structures and some computer programming. Knowledge of the basics of: linear algebra and calculus is desirable.
7. Co-requisites for the module (if any) None
8. LecturerDr. Siang Yew ChongContact No: 03-89248148Room No: BB57E-mail: [email protected]
9. Summary of Content This module: Covers a range of operations research techniques (emphasis here is on learning
modelling techniques) in order to tackle a range of real-world problems. Operations research (OR) is a discipline that uses modelling techniques, analytics and computational methods to solve complex problems in industry and business with the aim of helping to make better decisions.
Includes Linear Programming, Modelling and Optimisation Software, Post-optimality Analysis, Integer Programming, Modelling Techniques, Combinatorial Optimisation, Solving Large IP Models and Dynamic Programming.
Provides a sound understanding to interpret and create formal models of optimisation problems and then to develop computer-based solutions by means of spreadsheets and programming style systems. Techniques are explained using numerical examples and their application is illustrated using a number of case studies and software tools.
10. Learning Outcomes Knowledge and Understanding The strengths and weaknesses of computer tools, applications and other
resources. Applied mathematics and formal methods in the computer science context.
Intellectual Skills Apply and deploy mathematical ability, practices and tools. Understand complex ideas and relate them to specific problems or questions
Page 8 of 18
Professional Skills Program in various paradigms. Evaluate available tools, applications, algorithms and data structures, and select
those that are fit for purpose within a given domain.
Transferable Skills Utilise mathematics to volve problems.
11. Weekly Programme
Week
No
LectureTopic
1 Introduction to OR.2 Linear Programming.3 Modelling and Optimisation Software. 4 Post-optimality Analysis.5 Integer Programming.6 Modelling Techniques 1.7 Modelling Techniques 2.8 Combinatorial Optimisation. 9 Solving Large IP Models.
10 Dynamic Programming. 11 Revision and Coursework Discussion.
12. Assessment detailsWritten Examination 60%, Coursework 40%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1Frederick S. Hillier & Gerald J. Lieberman
2009 Introduction to Operations Research
9th McGraw-Hill
978-0-077-29834-0
2 H. P. Williams 1999 Model Building in Mathematical Programming
4th Wiley 978-0-471-99788-7
Suggested secondary texts*None*
14. Web Linkhttp://baggins.nottingham.edu.my/~khczcsy/G54ORM/G54ORM.html
1. Module Code
Page 9 of 18
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 AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) G52CCN or equivalent knowledge of computer networking
7. Co-requisites for the module (if any) None
8. LecturerHo Sooi Hock (Mr)Contact No: 03-89248145Room No: BB71E-mail: [email protected]
9. Summary of Content The course gives a basic understanding of network-related initialization and the operation of the main Internet protocols. It gives an insight into the service definition and protocols of the most important network applications services. It considers basic network architectures such as the client-server model and the more complex distributed systems. Consistent examples from all-IP core telecommunications networks are used to illustrate transmission coding, error control, media access, routing, presentation coding, services and security. Introduction to technologies includes switch and router design, network processors, and encryption.
10. Learning Outcomes Knowledge and Understanding
understanding of distributed systems concepts and issues, including DNS, WWW/HTTP and network security issues.
a grasp of basic client-server system implementation techniques Intellectual Skills
the ability to understand and evaluate requirements of and practical constraints on designing distributed systems and protocols (using RMI and socket-based communication)
Professional Skills the ability to evaluate and choose between possible distribution technologies
(e.g. RMI, TCP sockets) the ability to understand and reason about security weaknesses and
limitations of possible solutions in networked computer systems Transferable Skills
the ability to structure and communicate ideas effectively
11. Weekly Programme
Wee Lecture
Page 10 of 18
kNo
Topic
1 Introduction, overview and module contents2 Review of TCP and IP functions; IP subnetting and
supernetting3 Problem of IP address exhaustion; Network auto-
configuration4 Transport layer protocol and socket programming5 UDP/TCP comparison; Remote Procedure Call6 Remote Method Invocations7 IP multicast8 Distributed Systems and domain name services9 P2P systems
10 Firewalls11 Revision12 Review Past Year Papers
12. Assessment detailsWritten Examination 100%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Kurose & Ross
2008 Computer Networking: A Top Down Approach Featuring the Internet
4th Addison-Wesley
0-321-49770-8
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Tannenbaum
2003 Computer Networks
4th Prentice Hall
0-13-038488-7
3 Comer 2004 Computer Networks and Internets
4th Prentice Hall
0-13-123627-X
14. Web Linkhttp://sepang.nottingham.edu.my/~hsooihock/G54ACC/index.html
1. Module Code G54SIM
Page 11 of 18
2. Title of Module Simulation for Computer Scientists
3. Number of credits 10
4. Level 4
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) None
7. Co-requisites for the module (if any) None
8. LecturerChen Zhi Yuan (Dr)Contact No: 03-89248141Room No: BB59E-mail: [email protected]
y
9. Summary of Content Computational Simulation of systems is becoming increasingly common due to the recent improvements of speed and memory in computer hardware allowing simulation of realistic systems. System simulation can help to understand the processes currently in place and show the consequences of changes to these processes over time. Successful case studies of simulation include manufacturing, financial system, retail and more recently other areas of the service sector. Three broad simulation paradigms exist: System Dynamics, Agent-based and Discrete Event. This module will explain each of them in detail so that students will be competent in choosing and implementing the right method for their particular problem.
10. Learning Outcomes Knowledge and Understanding Understanding the capabilities, strengths and limitations of simulation methods An appreciation of different simulation techniques Intellectual Skills
The ability to understand complex ideas and relate them to specific situations Professional Skills The ability to implement selected simulation methods for real world applications
The ability to evaluate simulation techniques and select those appropriate to a given task Transferable Skills The ability to address real problems and assess the value of their proposed
solutions The ability to retrieve and analyse information from a variety of sources and
produce detailed written reports on the result
11. Weekly Programme
Week
LectureTopic
Page 12 of 18
No1 Introduction to Modelling and Simulation2 Simulation Studies: An Overview3 Guest Lecture: Case Study14 Guest Lecture: Case Study25 Simulation Methods: System Dynamics Simulation6 Simulation Methods: Discrete Event Simulation7 Simulation Methods: Agent-Based Simulation8 Conceptual Modelling9 Input Modelling
10 Model Testing (Verification and Validation) + Experiment Preparation (Part 1)
11 Experiment Preparation (Part 2) + Experimentation + Output Analysis
12 Application of Simulation in the Real World
12. Assessment detailsWritten Examination 60%Course Work 40%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Stewart Robinson
2004 Simulation: The Practice of Model Development and Use
Wiley, Chichester, UK
9780470847725
2 John Sterman
2000 Business Dynamics: Systems Thinking and Modelling for a Complex World
McGraw-Hill Higher Education
0072311355
3 Gilbert N and Troitzsch KG
2005 Simulation for the Social Scientist.
2nd Open University Press
0335216013
Suggested secondary textsNot Available
14. Web LinkTBA
1. Module Code G53VIS
2. Title of Module Computer Vision
Page 13 of 18
3. Number of credits 10
4. Level 3
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any)Compulsory: G51OOP Object-Oriented Programming (G51PRG 2009/10)Recommended: G52IIP - Introduction to Image Processing (G52IVG 2009/10).
Background knowledge of vision and image processing are an advantage.
7. Co-requisites for the module (if any) None
8. LecturerTomas Maul (Dr)Contact No: 03-89248232Room No: BB64E-mail: [email protected]
9. Summary of Content Building on G52IIP this module examines current techniques for the extraction of useful information about a physical situation from individual and sets of images. Particular emphasis is placed on the identification of objects, recovery of three-dimensional shape & motion, and the recognition of events. Topics covered include: advanced segmentation and feature extraction, motion computation and tracking, stereo vision and the use of hidden Markov models in higher level analysis.
10. Learning OutcomesKnowledge and Understanding Experience in implementing image processing and vision algorithms.
Understanding of current techniques in image processing and computer vision and an awareness of their limitations. An appreciation of the underlying mathematical principles of computer vision.
Intellectual Skills Apply knowledge of computer vision techniques to particular tasks. Evaluate
and compare competing approaches to vision tasks.
Professional Skills Develop a working knowledge of image processing algorithms and libraries
and evaluate the applicability of various algorithms and operators to particular tasks.
Transferable Skills Apply knowledge of the methods and approaches presented to problem
domains use the available resources (libraries, internet, etc) to supplement the course material.
11. Weekly Programme
Week Lecture Topic1
Introduction
Page 14 of 18
2 Segmentation as Clustering. Region-based Segmentation.3
Watersheds. The EM Algorithm.4
Binocular Stereo. Camera Calibration.5
Stereo Correspondence. Motion Analysis and Optic Flow.6
Computing Optic Flow. Issues in Optic Flow.7
Evaluation: Optic flow and segmentation. Introduction to Tracking.8
The Kalman Filter. Snakes.9
Particle Filters and Condensation.10
Event Detection and Hidden Markov Models.11 Revision.
12. Assessment detailsCoursework 40%; Written Examination 60%
13. Resources
Suggested primary textsNone.
Suggested secondary texts
No Name of Author(s)
Year of Publicat
ion
Title of Book Edition Publisher’s Name
ISBN
1 David A. Forsyth & Jean Ponce
2002 Computer Vision: A Modern Approach
1st Prentice Hall
0130851981
2 E. R. Davies 2005 Machine Vision: Theory, Algorithms, Practicalities
3rd Morgan Kaufmann
0122060938
14. Web Linkhttp://baggins.nottingham.edu.my/~kcztm/TeachG53VIS.html
Page 15 of 18
1. Module Code G53SQM
2. Title of Module Software Quality Management
3. Number of credits 10
4. Level 3
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) G51FSE Foundations of Software Engineering
7. Co-requisites for the module (if any) None
8. LecturerChew Sze-Ker (Mr)Contact No: 03-89248140Room No: BB72E-mail: [email protected]
9. Summary of Content This module is part of the Software Engineering theme in the School of Computer Science. Computer software is present almost everywhere. The impact of software failure is often quite considerably so reliability and robustness is paramount when developing software. The importance of effective testing methodologies for quality assurance in the software industry has increased substantially in recent years.
This module introduces: Concepts and techniques for testing software and assuring its quality. Methods for software testing and quality assurance are integrated into all phases
of the software development process and it also extends to other aspects such as systems and hardware development.
10. Learning Outcomes Knowledge and Understanding Knowledge and understanding of evaluation and testing of software systems.
Intellectual Skills Ability to use formal methods of software analysis.
Professional Skills Ability to test software in a systematic way and carry out quality assurance
process, experience of using specialised testing software.
Page 16 of 18
Transferable Skills Abstract thinking, systematic approach to problem solving.
11. Weekly Programme
Week
No
LectureTopic
1 Introduction to SQA/Software Quality Factors2 Components of SQA Systems3 Pre-project Software Quality/Integrating quality Activities4 Software Reviews5 Software Testing Strategies/Implementation6 Software Quality Metrics7 The Function Point Method8 Presentation9 Presentation
10 Presentation11 Revision and discussion
12. Assessment details
60% Written examination open questions style40% Courseworks include reports/assignments/presentation
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Malik Kamna
2006 Software Quality: a practitioner’s approach
1st McGraw Hill 0-070-24873-7
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Tian Jeff 2005 Software Quality Engineering: testing, quality assurance and quantifiable improvement
1st Wiley 0-013-06428-2
14. Web Linkhttp://moodle.nottingham.ac.uk
Page 17 of 18
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 AssessmentSpring Assessed by end of Spring Semester
6. Pre-requisites for admission to the module (if any) G51MCS Mathematics for Computer ScientistsG51PRG Programming
7. Co-requisites for the module (if any) None
8. LecturerHo Sooi Hock (Mr)Contact No: 03-89248145Room No: BB71E-mail: [email protected]
9. Summary of Content This module includes the following topics: an overview of image processing and its applications, relations between image
processing and other closely related fields such as computer vision, computer graphics, image analysis and digital photography
fundamentals of digital images, elements of visual perception and human visual system, fundamentals of image formation and digital image acquisition
digital image processing theory and practice, including point processing, spatial filtering, image transforms and frequency domain processing, edge detection, image segmentation, fundamentals of image coding and compression
colour and colour imaging fundamentals, colour models and colour image processing
emerging digital imaging technologies including high dynamic range photography and computational photography
10. Learning Outcomes Knowledge and Understanding Experience implementing programs that manipulate images Awareness of limitations and appreciating the underlying mathematical
principles Intellectual Skills
Page 18 of 18
Apply knowledge of vision and image processing techniques to particular tasks
Professional Skills Develop a working knowledge of image processing algorithms and libraries Evaluate the applicability of various algorithms and operators to different tasks
Transferable Skills Address real problems and assess the value of their proposed solutions Retrieve and analyse information from a variety of sources and produce detailed
written reports on the result
11. Weekly Programme
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Digital image fundamentals3 Point and histogram processing 4 Spatial domain image filtering5 Image sharpening, edge detection and Hough transform6 Image filtering in the frequency domain7 Colour model and colour image processing8 Image segmentation 9 Image coding and image compression
10 3D transformation 11 Revision and discussion of past exam papersl
12. Assessment detailsCoursework 25%; Written Examination 75%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Gonzalez & Woods
2008 Digital Image Processing
3rd Prentice Hall 0-13-168728-X
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book Edition Publisher’s Name
ISBN
1 Efford 2000 Digital Image Processing Using Java
1st Addison-Wesley
0-20-159623-7
14. Web Linkhttp://sepang.nottingham.edu.my/~hsooihock/G52IIP/index.html
Page 19 of 18
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 AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) G51MCS Mathematics for Computer Scientists; G51OOP Object-Oriented Programming (G51PRG 2009/10)
7. Co-requisites for the module (if any) None
8. LecturerChew Sze-Ker (Mr)Contact No: 03-89248140Room No: BB72E-mail: [email protected]
9. Summary of Content This module introduces the basics of specifying abstract data types and using them to design programs. Commonly used data structures and algorithms are studied in depth. The emphasis is made on choosing data structures and algorithms appropriate for solving a given problem. It presents the mathematical analysis of time and space usage of algorithms using the big-Oh notation. Such mathematical analysis is then used to support algorithm design decisions. It presents the usage of pre/post conditions and loop invariants to aid in the design and implementation of algorithms. Specific algorithms and data structures may include, but are not limited to: stacks, queues and lists; trees and tree traversal methods; heaps, search trees; graph problems and graph algorithms such as shortest paths and minimum spanning trees.
10. Learning Outcomes Knowledge and Understanding The theory and practice of implementing algorithms; to know of and understand
the mathematical properties of algorithms. Intellectual Skills
Page 20 of 18
Ability to apply mathematical techniques to algorithms and data structures and understand the their specifications
Professional Skills Implementation of data structures and algorithms; evaluation and selection of
available tools, applications, algorithms and data structures that are suitable for a given domain/scenario.
Transferable Skills The ability to solve problems using a variety of data structures and algorithms;
to utilise mathematical techniques when necessary to achieve the above
11. Weekly Programme
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Algorithms and analysis, data structures/abstract data types;
Sorting methods I: bubble sort, selection sort and insertion sort3 Sorting methods II: merge sort and quick sort; Stacks 4 Queues; Recursion5 Linked list (single and double ended); Graph, DFS and BFS6 Shortest path algorithms, minimum spanning tree7 Topological sort; Hash table8 Heaps, heap sort, priority queue 9 Tree, tree traversal; Binary search tree, balanced binary
search tree part 1 (AVL tree)10 Balanced binary search tree part 2 (Red black tree); Multi-way
tree (2,3) and (2,3,4) trees 11 Revision and discussion of past exam papers
12. Assessment detailsCoursework 1 15%; Coursework 2 10%; Written Examination 75%
13. Resources
Suggested primary texts
No
Name of Author(s) Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Michael T.Goodrich and Roberto Tamassia
Data Structures and Algorithms in Java
3rd
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1
2
3
Shaffer, Clifford A.
Sahni, Sartaj
Introduction to algorithms
A practical introduction to data structures and algorithm analysis
Data structures, algorithms, and applications in Java
2nd MIT Press
Prentice Hall
McGraw-Hill
Page 21 of 18
14. Web LinkTo be provided by the module convenor.
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 AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) G51OOP Object-Oriented Programming; (G51PRG 2009/10)
7. Co-requisites for the module (if any) None
8. LecturerMichael Chung (Mr)Contact No: 03-89248142Room No: BB58E-mail: [email protected]
y
9. Summary of Content Builds on basic programming knowledge by showing how applications can be built through the use of various example Java APIs including: GUI programming, threads, networking, data processing, etc. Where appropriate, the underlying design patterns behind the APIs will be illuminated.
10. Learning Outcomes Knowledge and Understanding
Further understanding of the theory and practice of object-oriented programming.
Intellectual Skills Understand and logically evaluate program requirements and specifictions. Understand the complex ideas of programming solutions and relate them to
particular problems.
Professional Skills The ability to design and write object-oriented programs in Java.
Page 22 of 18
Transferable Skills The ability to solve problems using object-oriented techniques, to schedule and present their work and to retrieve additional learning material
11. Weekly Programme
Week
No
LectureTopic
1 Introduction, overview and module contents 2 GUI Components I3 GUI Components II4 Multithreading 5 Networking6 Coursework Discussion7 Accessing Databases with JDBC8 Web Applications I9 Web Applications II
10 Design Patterns11 Revision and discussion of past exam papers
12. Assessment detailsCoursework 1 25%; Coursework 2 25%; Written Examination 50%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Deitel & Deitel 2007 Java How to Program
7th Pearson 0136132472
Suggested secondary textsNot Available
14. Web Linkhttp://baggins.nottingham.edu.my/~kczmc/Teaching/G52APR/
Page 23 of 18
MODULE OUTLINESPRING 2011-2012
1. Module Code G64SWE
2. Title of Module Software Engineering
3. Number of credits 10
4. Level 4
5. Taught Semester and Assessment Period Semester AssessmentSpring Assessed by end of Spring Semester
6. Pre-requisites for admission to the module (if any) Experience of Computer Programming
7. Co-requisites for the module (if any) None
8. LecturerDr. VP Kallimani & Mr. Chew Sze-KerContact No: 03-89248141 & 03-89248140Room No: BB59 & BB72E-mail: [email protected] & [email protected]
9. Summary of Content This module covers object-oriented methods for requirements engineering and software design and application of these methods during the development of a medium scale software system. Experience of team working to break down a problem into a set of manageable tasks. Instruction in industrial notations to model and reason about software behavior and application of these methods to software development and documentation.
Page 24 of 18
10. Learning Outcomes Knowledge and Understanding * Programming * Instruction in Unified Modelling Language for determining
system requirements * Documentation and help systems * Awareness of various software architectures for use in system and network design.
Intellectual Skills * understanding and evaluating requirements specifications * working in team
on complex software engineering problems.Professional Skills * Programming utilising software engineering methods * Evaluating software
design tools * Identifying usability issues in software design.Transferable Skills * Solving software design problems * Working in team and organizing activities
using formal techniques *Writing software manuals * Retrieving information on software design practices
11. Weekly ProgrammeNot Available
12. Assessment detailsCoursework 100%
13. Resources
Suggested primary textsNot Available
Suggested secondary textsNot Available
14. Web LinkTo be provided by the module convenors
Page 25 of 18
1. Module Code G64FAI
2. Title of Module Foundations of Artificial Intelligence
3. Number of credits 10
4. Level 4
5. Taught Semester and Assessment Period Semester AssessmentSpring Assessed by end of Spring Semester
6. Pre-requisites for admission to the module (if any) None
7. Co-requisites for the module (if any) None
8. LecturerHo Sooi Hock (Mr)Contact No: 03-89248145Room No: BB71E-mail: [email protected]
9. Summary of Content This module aims to: give a broad overview of the fundamental theories and techniques of Artificial
Intelligence provide the student with the necessary knowledge to allow them to implement
common AI search techniques knowledge representation and reasoning and expert systems genetic algorithms and machine learning
10. Learning Outcomes Knowledge and Understanding Knowledge of key AI techniques and their implementation Intellectual Skills
Page 26 of 18
The ability to think independently while giving due weight to the arguments of others. The ability to analyse algorithms
Professional Skills The ability to evaluate available AI techniques and select those appropriate to a
given problem
Transferable Skills The ability to solve problems and communicate effectively in writing
11. Weekly Programme
Week
No
LectureTopic
1 Introduction, overview and module contents 2 Problem states and spaces3 Search methods 4 Genetic algorithms I5 Genetic algorithms II6 Neural networks7 Data mining8 Knowledge representation9 Reasoning
10 Expert systems and game playing 11 Revision and discussion of past exam papers
12. Assessment detailsWritten Examination 100%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Stuart J. Russell & Peter Norvig
2010 Artificial Intelligence :A Modern Approach
3rd Prentice Hall
0-13-604259-7
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 George F Luger
2008 Artificial Intelligence:Structures and strategies for Complex Problem Solving
6th Addison Wesley
0-321-54589-3
14. Web Linkhttp://sepang.nottingham.edu.my/~hsooihock/G64FAI/index.html
Page 27 of 18
1. Module Code G64SPM
2. Title of Module Software Project Management
3. Number of credits 10
4. Level 4
5. Taught Semester and Assessment Period Semester AssessmentSpring Assessed by end of Spring Semester
6. Pre-requisites for admission to the module (if any) G54PRG Programming
7. Co-requisites for the module (if any) None
8. LecturerChew Sze-Ker (Mr)Contact No: 03-89248140Room No: BB72E-mail: [email protected]
9. Summary of Content This module is part of the Software Engineering theme in the School of Computer Science.
This course considers the activities which are required, and the tools which are available, to manage commercial software development projects. Systems analysis is presented as a way of gathering and structuring information such that the required specification corresponds closely to the users' requirements. Systems design is then presented as a technique for transforming the specification to a form in which it can be implemented. Real case studies will be used to illustrate many of the tools and techniques introduced.
10. Learning Outcomes Knowledge and Understanding Knowledge of the practice of constructing large systems and managing the
process of construction.
Page 28 of 18
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
11. Weekly Programme
Week
No
LectureTopic
1 Introduction to SPM2 Business problems and models3 Project planning4 Resource planning5 Project scheduling with uncertain activities durations6 Simulation7 Structured system analysis and design method and data flow
diagrams8 Project investment9 Uncertainty in decisions handling
10 Structure decision problems using decision trees
12. Assessment details
50% Written examination 50% Courseworks
13. Resources
Suggested primary texts
No Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Anderson, David et al
2011 An introduction to management science: quantitative approaches to decision making
13th Cengage Learning
1-439-04327-2
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Tellman, Andrew
2006 Applied software project management
1st O’Reilly 0-596-00948-8
14. Web Link
Page 29 of 18
http://moodle.nottingham.ac.uk
1. Module CodeG54PDC
2. Title of Module Parallel and Distributed Computing
3. Number of credits 10
4. Level 4
5. Semester in which module is taught and Assessment Period Semester AssessmentSpring Assessed by end of Spring Semester
6. Pre-requisites for admission to the module (if any) G51OOP Object-Oriented Programming (G51PRG 2009/10), G52CON Concepts of Concurrency or equivalent knowledge of computer programming and basic principles of concurrency
7. Co-requisites for the module (if any) None
8. LecturerTBA (Mr)Contact No: 03-8924-TBARoom No: TBAE-mail: [email protected]
9. Summary of Content A simple sequential computer program effectively executes one instruction at a time on individual data items. Various strategies are used in CPU design to increase the speed of this basic model, but at the cost of complexity and power consumption. To further increase performance the task must be re-organised to explicity execute on multiple processors and/or on multiple data items simultaneously. This module charts the broad spectrum of approaches that are used to increase the performance of computing tasks by exploiting parallelism and/or distributed computation. It then considers in more detail a number of contrasting examples. The course deals mainly with the principles involved, but there is the chance to experiment with some of these approaches in the supporting labs. Topics covered include: common applications of parallel and distributed computing; parallel and distributed machine architectures including Single Instruction Multiple Data (SIMD) or short-vector processing, multi-core and multi-processor shared memory, custom co-processors including DSPs and GPUs, cluster and grid computing; programming approaches including parallelizing compilers, explicit message-passing (such as MPI), specialized parallel computing abstractions
Page 30 of 18
(such as MapReduce), and specialized co-processor programming (such as for GPUs).
10. Learning Outcomes Knowledge and Understanding The practice of parallel programming for a range of architectures and approaches.
The strengths and weaknesses of various approaches to increasing task performance through parallelism. The synergy of hardware and software in parallel computer systems implementation and the properties of networked and distributed systems as used for parallel computation.
Intellectual Skills Thing independently while giving due weight to the arguments of others in
approaches to parallelism. Understand complex ideas and relate them to specific problems or questions in the area of parallel computation.
Professional/Practical Skills Program in various paradigms relevant to parallel computing. Evaluate available
parallel programming approaches and select those that are fit for purpose within a given domain.
Transferable/Key Skills Solve problems. Communicate effectively in writing. Retrieve information from
appropriate sources (e.g. API, instruction set and compiler documentation).
11. Weekly ProgrammeNot Available
12. Assessment detailsWritten Examination 100%
13. Resources
Suggested primary textsNot Available
Suggested secondary textsNot Available
14. Web LinkTo be given by the module convenor.
Page 31 of 18
1. Module Code G53NMD
2. Title of Module New Media Design
3. Number of credits 10
4. Level 3
5. Taught Semester and Assessment Period Semester AssessmentSpring Assessed by end of Spring Semester
6. Pre-requisites for admission to the module (if any) None
7. Co-requisites for the module (if any) None
8. LecturerDr. Wang WeiContact No: 03-89248721Room No: BB63E-mail: [email protected]
9. Summary of Content This is a practical course covering the critical elements of the principles of design. Such principles are applied to new media applications, with a particular focus on its use in the context of the web. It also aims to give students a hands on experience with emerging new media technologies. Technical issues such as colour, images, audio, video and animation will be introduced and discussed in addition to usability and interaction. Practical uses of multimedia authoring systems, content management systems, flash and HTML 5 will form part of this module. Such tools will be put into context with emerging paradigms and new media for mobile platforms.
10. Learning Outcomes To be able to design and produce multimedia objects.
Page 32 of 18
11. Weekly Programme
Week
No
LectureTopic
1 Introduction to Multimedia2 Multimedia Authoring Systems; Interaction and Methaphor in
Multimedia Design3 Graphics and Still Images Representation; Colour Science and
Color Models4 Hypertext5
Media Design: Text, Images, and Sound6 Scalable Vector Graphics7 Digital Audio8 Architecture of Multimedia Systems9 Synchronized Multimedia Integration Language
10 Digital Video11 Intellectual Property Rights; Narrative
12. Assessment detailsGroup based development of a multimedia website and group report 75%; Individual Essay 25%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Barfield, L 2004 Design for New Media: Interaction design for multimedia and the web
1st Pearson Addison-Wesley
978-0201596090
2 Li, Z. & Drew,M.
2004 Fundamentals of Multimedia
- Pearson Prentice-Hall
978-0130618726
Suggested secondary texts
No Name of Author(s)
Year of Publication
Title of Book
Edition Publisher’s Name
ISBN
1 Vaughan, T. 2007 Multimedia : Making It Work
7th McGraw-Hill 978-0072264517
14. Web Linkhttp://baggins.nottingham.edu.my/~wangwei/teaching/G53NMD.php
Page 33 of 18
1. Module Code G53ELC
2. Title of Module Enterprise Level Computing
3. Number of credits 10
4. Level 3
5. Taught Semester and Assessment Period Semester AssessmentAutumn Assessed by end of Autumn Semester
6. Pre-requisites for admission to the module (if any) G52CCN Computer Communications and Networks, G51DBS Data Systems andG51OOP Object-Oriented Programming (G51PRG 2009/10)
7. Co-requisites for the module (if any) None
8. LecturerDr. Wang WeiContact No: 03-89248721Room No: BB63E-mail: [email protected]
9. Summary of Content This module provides an overview of more advanced Web architectures and technologies. It will cover the development of web services through the use of standards such as XML, SOAP, WSDL and UDDI and consider how web services can be used to implement a Service Oriented Architecture (SOA). The module will also provide an introduction to the Semantic Web. It explains how modern enterprises construct computer applications that are distributed over an intranet. Multi-tiered architectures will be covered in the context of object-oriented design and implementation as distributed components. The module will describe the interface to web technologies and the Internet and cover electronic commerce as an important application. The Java 2 Enterprise Edition will be used as the basis for the module and compared and contrasted with Microsoft .Net technology. Security and additional materials in the field of networking and communication protocols, tools and good practice will also be described and demonstrated.
10. Learning Outcomes Knowledge and Understanding Design and implementation of multi-tier applications using distributed
component technology. The use of Windows Communication Foundation (WCF) and Windows Presentation Foundation (WPF) and server-side technologies for web page delivery and their security implications on intranets and the Internet.
Intellectual Skills The ability to understand and logically evaluate requirements and specifications
and the ability to understand complex ideas and relate them to specific problem.
Page 34 of 18
Professional Skills The ability to implement server-side applications in an eCommerce application
using a variety or proprietary and open-source approaches and comparisons between Microsoft and the Java 2 enterprise bean approach.
Transferable Skills Enhanced systems analysis, systems architecture design, developmental and
communication skills.
11. Weekly Programme
Week
No
LectureTopic
1 Module Introduction2 Database Conectivity I3 Database Conectivity II4 Server-side Processing and AJAX5 Servlets6 Java Server Pages7 Java Directory and Naming Interface8 Java and XML9 Microsoft .NET Overview
10 Web Services11 Case Study
12. Assessment detailsCoursework 50%; Written Examination 50%
13. Resources
Suggested primary texts
No Name of Author(s) Year of Publicatio
n
Title of Book Edition Publisher’s Name
ISBN
1 Jim Farley, William Crawford
2005 Java Enterprise in a Nutshell
3rd 'Reilly Associates
0-596-00152-5
2 Dave Elliman - The Student Handbook for the Module
- - -
Suggested secondary texts
No
Name of Author(s) Year of Publicatio
n
Title of Book Edition
Publisher’s Name
ISBN
1 - - Designing Enterprise Applications with the J2EE Platform
2nd Sun Java -
2Eric Jendrock, Ian Evans, Devika Gollapudi, Kim Haase, Chinmayee
2010 The Java EE 6 Tutorial
- - -
Page 35 of 18
Srivathsa
14. Web Linkhttp://baggins.nottingham.edu.my/~wangwei/teaching/G53ELC.php 1. Module Code
G53SEC
2. Title of Module Computer Security
3. Number of credits 10
4. Level 3
5. Taught Semester and Assessment Period Semester AssessmentSpring Assessed by end of Spring Semester
6. Pre-requisites for admission to the module (if any)G51WPS Web Programming and Scripting
OR G52IWS Internet and the Web Services (200910)OR G52CCN Computer Communications and NetworksOR Equivalent Knowledge of Networks and Computer Systems.
7. Co-requisites for the module (if any) None
8. LecturerTBAContact No: TBARoom No: TBAE-mail: TBA
9. Summary of Content The module covers the following topics: access control, reference monitors, security models, cryptography, cryptanalysis, network security, software security and nature inspired computer security methods.
10. Learning OutcomesKnowledge and Understanding
An understanding of security issues associated with networked computers. An appreciation of the strengths and weaknesses of available security
techniques. Experience of the use of such techniques in a protected networked
environmentIntellectual 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 36 of 18
11. Weekly Programme
Week Lecture Topic1 Introduction & Overview2 Foundations of Computer Security3 Access Control4 Reference Monitors5 Security Models6 Other Security Models7 Cryptography 18 Cryptography 29 Network Security
10 Software Security11 Nature Inspired Comp.12 Student Presentations & Discussions
12. Assessment detailsWritten Examination 60%Coursework 40%
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Dieter Gollmann
2006 Computer Security
2nd Wiley 0470862939
Suggested secondary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Ross Anderson
2008 Security Engineering
2nd Prentice-Hall
0470068523
14. Web LinkTBA
Page 37 of 18
1. Module Code G52CPP
2. Title of Module C++ Programming
3. Number of credits 10
4. Level 2
5. Taught Semester and Assessment Period Semester AssessmentSpring Assessed by end of Spring Semester
6. Pre-requisites for admission to the module (if any) G51OOP Object-Oriented Programming (G51PRG 2009/10)
7. Co-requisites for the module (if any) None
8. LecturerMichael Chung (Mr)Contact No: 03-89248142Room No: BB58E-mail: [email protected]
y
9. Summary of Content The course will cover programming material and concepts necessary to obtain a thorough understanding of the C++ programming language for students with experience with another imperative programming language such as Java or C#.
10. Learning Outcomes Knowledge and Understanding
Understanding of the theory and practice of object-oriented (C++) programming.
Intellectual Skills Understand and logically evaluate program requirements and specifications. Understand the complex ideas of programming solutions and relate them to
particular problems.Professional Skills
The ability to write procedural and object-oriented programs in C++Transferable Skills
The ability to solve problems using programming and communicate the results in writing.
11. Weekly Programme
Page 38 of 18
Week
No
LectureTopic
1 Introduction2 Introduction to Classes and Objects3 Classes4 Classes (cont.)5 Operator overloading6 Inheritance in C++7 Polymorphism in C++8 Templates9 Stream Input/Output, Class String
10 Exception Handling11 File Processing12 STL
12. Assessment detailsOne courseworks (40%) and a two-hour written exam (60%).
13. Resources
Suggested primary texts
No
Name of Author(s)
Year of Publication
Title of Book Edition
Publisher’s Name
ISBN
1 Deitel & Deitel
2008 C++ How to Program
6th Pearson 0-13242701-X
Suggested secondary textsNot Available
14. Web Linkhttp://baggins.nottingham.edu.my/~kczmc/Teaching/G52CPP
1. Module CodeG64PRE
2. Title of Module
Page 39 of 18
Computer Science Technology Transfer Project
3. Number of credits 60
4. Level 4
5. Semester in which module is taught and Assessment Period Semester AssessmentSummer Assessed by end of Summer Vacation
6. Pre-requisites for admission to the module (if any) N14C15, N14G01, N14G02, N14G03
7. Co-requisites for the module (if any) None
8. Lecturer(Mr) TBAContact No: 03-8924TBARoom No: TBAE-mail: [email protected]
9. Summary of Content The purpose is to provide the opportunity for students to undertake independent research into a topic appropriate to Computer Science Technology Transfer. In undertaking the project, you should draw on and extend material presented in the course. Beyond reinforcing information and methodology presented in the taught modules, you will gain experience by: addressing the challenges involved in developing the commercial potential of a
technological advance; develop communication skills relevant to the process of transferring technology to
a commercial environment both by:o making presentations to non technical audienceso developing a report appropriate for a set of potential investorso otherwise communicating ideas to customers through meetings in groups or
as individuals
.
Page 40 of 18
10. Learning Outcomes Knowledge and Understanding Knowledge of business administration and entrepreneurial practices. Elementary
knowledge of business and patent law.
Intellectual Skills Ability to apply assessment and processes to real-life situations.
Professional Skills enhanced programming abilities the ability to comprehend and apply software engineering methodologies
Transferable Skills the ability to plan, organisation and execute project work the ability to communicate their results to others
11. Weekly Programme Supporting lectures to be arranged by the module convenor and weekly meetings to be scheduled with the supervisors
12. Assessment detailsProject report in printed and electronic form (PDF). The source code must also be included in the submission – 80%Presentation – 10%Interim report – 10%
Notes:
Page 41 of 18
1. Module availability in any semester will depend on staff availability and enrollments from sufficient number of students.
2. The descriptions of the offered modules are current as when this document is prepared but they may be subjected to modifications and additions by the module convenors.
3. Descriptions of module not included in this document and other non Computer Science modules can be found at Nottingham’s Module Catalogue web site:
http://modulecatalogue.nottingham.ac.uk/nottingham/asp/main_search.asp
Page 42 of 18