|
Module Availability |
Spring Semester |
|
|
Assessment Pattern |
Assessment Pattern
Unit(s) of Assessment
|
Weighting Towards Module Mark( %)
|
2 hour examination
|
50
|
Coursework
|
50
|
|
|
|
|
|
|
Qualifying Condition(s)
A weighted aggregate of 40% is required to pass the module.
|
|
|
|
Module Overview |
Module Overview
The course introduces concepts of modelling and simulation by developing abstract models of a system and then coding the models to provide simulations which are visualisations of the systems. It introduces two techniques which will be completely new to the student. It aims to develop the student’s ability to think clearly about using concurrency to solve a problem.
|
|
|
|
Prerequisites/Co-requisites |
Pre-requisite/Co-requisites
CS288 Software Engineering
|
|
|
|
Module Aims |
Module Aims
The course aims to introduce a new modelling language to highlight important issues which need to be identified when dealing with concurrent systems.
We will focus on the techniques that can be used to develop a simplified imitation of a dynamic system as it progresses through time for the purpose of better understanding and/or improving that system. The course will present a number of small case studies in various applications domains in order to illustrate the various aspects of modelling and simulation.
This course will enable you to gain experience in building models in order to be able to construct an example application and carry out some experimentation. Much of the course will focus on the use of JCSP which is a Java library that provides a formal approach to Java multi-threading.
|
|
|
|
Learning Outcomes |
Learning Outcomes
By the end of the course the students will be able to:
1. understand the importance of conceptual modelling;
2. identify and develop the core skills required for the successful application of simulation techniques;
3. develop programs using a process-oriented Java paradigm – JCSP;
4. build simple simulations models using JCSP.
|
|
|
|
Module Content |
Module Content
The course is divided into the following areas:
· how abstract modelling works
· analysis of models
· concepts of input modelling
· introduction to process oriented Java programming
· coding of conceptual models using JCSP
· validation of computer model using specification and tests
Examples will be drawn from puzzles, game of life, algorithm computation and data-link protocols.
|
|
|
|
Methods of Teaching/Learning |
Methods of Teaching/Learning
30 hours in weeks Spring Semester, consisting of:
· 20 one-hour lectures (2 per week)
· 10 hours of lab classes (1 hour per week)
Lectures and lab sessions. Exercises will form part of the lectures and solutions to exercises will be available. There will be two compulsory assignments and they will build on material introduced during the hands on practical sessions. The first assignment will focus on modelling and the second on simulation.
|
|
|
|
Selected Texts/Journals |
Selected Texts/Journals
There is not one core text which can be recommended that will cover the whole course. The following are suggestions for reading.
Recommended Resources :
Bruce Eckel, Thinking in Java, http://www.mindview.net/Books/TIJ. (Online book, also available from Prentice Hall, 2003.)
http://www.usingcsp.com (online CSP book)
Communicating Sequential Processes for Java (JCSP) -http://www/cs.kent.ac.uk/projects/ofa/jcsp/
Background Reading:
Doug Lea, Concurrent Programming in Java, 2nd Edition, Addison Wesley, 2000.
Scott Oaks, Java Threads 2nd Edition, O’Reilly, 1999.
Jeff Magee and Jeff Kramer, Concurrency – State Models and Java Programs, 2nd Edition, Wiley, 2005.
|
|
|
|
Last Updated |
AUG 2010 |
|