1 / 11

CSC 321 Concurrent Programming

CSC 321 Concurrent Programming. Course web site http://www.cs.qub.ac.uk/csc321. Lecturer: Professor N.S. Scott Room 2025, SARC Building Phone: 028 9027 4647 E-mail: ns.scott@qub.ac.uk. Lectures and Practical Classes. Lectures: Monday 10am , Wednesday 11am , Friday 11am .

Download Presentation

CSC 321 Concurrent Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSC 321 Concurrent Programming Course web site http://www.cs.qub.ac.uk/csc321 Lecturer: Professor N.S. Scott Room 2025, SARC Building Phone: 028 9027 4647 E-mail: ns.scott@qub.ac.uk

  2. Lectures and Practical Classes Lectures: Monday 10am, Wednesday 11am, Friday 11am. Lecture Theatre 212, Peter Froggatt Centre, Main Site Approximately 30 lectures and problem classes, starting Monday 26th September 2005 Practical classes: It is essential that each student, in his/her own time, works through the collection of practical exercises located on the course web site at http://www.cs.qub.ac.uk/csc321. Advisory: Weekly 1-hour advisory sessions to help with these exercises and other queries. Monday 12-13 & Thursday 10-11, BCB 1st floor lab.

  3. CSC321 Learning Outcomes Knowledge and understanding An understanding of the problems that are specific to concurrent programs (mutual exclusion, deadlock, starvation and condition synchronisation) and the means by which such problems can be avoided or overcome (bare machine algorithms, semaphores, monitors). A knowledge of Java threads and FSP syntax. Intellectual The ability to reason rigorously, both informally and formally using FSP, about the properties of concurrent programs. Practical The ability to construct, using FSP, and analyse, using LTSA, a formal model of a concurrent system and to implement the model in Java.

  4. CSC321 Teaching and Learning • Knowledge and understanding • Knowledge and understanding is acquired by attending lectures and reading recommended textbooks. Individual learning is supported by a web site containing lecture notes, assessed work, practical exercises and links to supplementary material. • Intellectual • Intellectual skills are developed by: • worked examples in lectures; • problem classes to discuss solutions to set problems; • assessed assignments and practical work; • feedback written on returned assessed work.

  5. CSC321 Teaching and Learning Practical Each concept covered in the course is illustrated by a collection of matching practical exercises. These are available via the course web site (http://www.cs.qub.ac.uk/csc321). The exercises are supplemented by weekly advisory sessions where staff are available to offer guidance and advice.

  6. CSC321 Assessment Knowledge and understanding Assessed directly through the bookwork parts of questions in an unseen examination, also assessed indirectly through the written assignments and practicals where knowledge is required to understand the question being asked.

  7. CSC321 Assessment • Intellectual • Assessed through • written assignments ; and • questions in an unseen examination. The assignments examine the student's ability: • to prove/disprove the safety and liveness properties of simple concurrent programs; • to construct semaphore and monitor solutions to mutual exclusion and synchronization problems; • to construct and analyse, using FSP and LTSA, concurrent models of realistic systems.

  8. CSC321 Assessment • Practical • Assessed through • programming exercises ; and • questions in an unseen examination. • The programming assignments examine the student's ability: • to construct semaphore and monitor solutions to a realistic problem requiring mutual exclusion and condition synchronization; • to model, using FSP and LTSA, a realistic concurent problem, and to implement a solution in Java.

  9. CSC321 Assessment • Written assignments and programming assignments contribute a total of 20% to the final grade. • A three-hour written examination contributing 80% to the final grade.

  10. Course Outline • Concurrent Programming Abstraction & Java Threads • The Mutual Exclusion Problem • Semaphores • Monitors • Modelling Process using FSP • Modelling Concurrency using FSP • Implementing FSP Models in Java • Deadlock • Safety and Liveness Properties

  11. Book List • M. Ben-Ari, Principles of Concurrent and Distributed Programming, Prentice-Hall. • Jeff Magee & Jeff Kramer, Concurrency: state models and Java Programs, Wiley. http://www-dse.doc.ic.ac.uk/concurrency • Java examples and demonstration programs • State models for the examples • Labelled Transition System Analyser (LTSA) for modelling concurrency, model animation and model property checking. • Gregory R. Andrews, Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley.

More Related