University of Surrey - Guildford

Registry > Module Catalogue
View Module List by A.O.U. and Level  Alphabetical Module Code List  Alphabetical Module Title List  Alphabetical Old Short Name List  View Menu 
2010/1 Module Catalogue
 Module Code: COM2007 Module Title: MODELLING AND SIMULATION
Module Provider: Computing Short Name: CS266
Level: HE2 Module Co-ordinator: TREHARNE H Dr (Computing)
Number of credits: 10 Number of ECTS credits: 5
Module Availability

Spring Semester

Assessment Pattern

Assessment Pattern


Unit(s) of Assessment


Weighting Towards Module Mark( %)


2 hour examination




















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.





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, (Online book, also available from Prentice Hall, 2003.) (online CSP book)


Communicating Sequential Processes for Java (JCSP) -http://www/



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