Philadelphia University Faculty of –Information technology Department of Applied Computer Science

advertisement
Philadelphia University
Faculty of –Information technology
Department of Applied Computer Science
First Semester, 2010/2011
Course Syllabus
Course Title: Concurrent and Distributed Programming Code: 0721321
Course Level: 3
Prerequisite: 0711232
Lecture Time:
Credit hours: 4
Academic Staff Specifics
Name
Rank
Office
Office Hours
E-mail Address
Course module description:
The course will focus on the major problems specific to Concurrent and Distributed programming
(synchronization, communication, mutual exclusion), and on the means by which such problems can be
avoided or overcome (hardware support, semaphores, monitors…). Language features for Concurrent and
Distributed Programming, and a set of selected Concurrent and Distributed algorithms are also presented.
Students will be given an experience in concurrent and distributed programming.
Course module objectives:
The aim of this course is to introduce and detail the main concepts and practices in concurrent and
distributed programming.
Course/ module components

Books (title , author (s), publisher, year of publication)
Principles of Concurrent and Distributed Programming, M. Ben-Ari, Addisson Wesley,
Second edition, 2006.

Support material (s):
Textbook slides
Teaching methods:
Lectures, tutorials, problem solving, practical works
Page 1 of 3
Learning outcomes:
 Knowledge and understanding
1. Understand and discuss the main concepts of concurrency and distribution
2. Understand and discuss the problems specific to concurrency and distribution and the
means by which these problems are overcome.
3. Understand and discuss some known distributed algorithms.
 Cognitive skills (thinking and analysis).
1. Analyze and Design simple concurrent programs using threads, semaphores and monitors
2. Analyze and Design simple distributed programs using channels, RPC,..
 Communication skills (personal and academic).

Practical and subject specific skills (Transferable Skills).
1. 1.Program concurrent programs with Java Threads
2. Program simple distributed programs suing Linda, RPC..
Assessment instruments



Quizzes.
Home works: Practical projects
Final examination: 50 marks
Allocation of Marks
Assessment Instruments
Mark
First examination
15
Second examination
15
Final examination: 50 marks
50
Quizzes, Home works
20
Total
100
Documentation and academic honesty
 Documentation style (with illustrative examples)
 Protection by copyright
 Avoiding plagiarism.
Page 2 of 3
Course/module academic calendar
Week
(1)
(2)
(3)
(4)
(5)
(6)
First examination
(7)
(8)
(9)
(10)
(11)
Second examination
(12)
(13)
(14)
(15)
Specimen
examination
(Optional)
(16)
Final Examination
Basic and support material to be covered
Homework/reports
and their due dates
Introduction: What is concurrent programming?
The Concurrent Programming Abstraction (1)
The Concurrent Programming Abstraction (2) – Tutorial
The Critical Section Problem
The Advanced Algorithms for the Critical Section
Problem
Semaphores (1)
Semaphores (2) – Tutorial
Critical regions
Monitors (1)
Monitors (2) – Tutorial
Channels (1)
Channels (2) – Tutorial
Spaces
First homework due
Distributed Algorithms (1)
Distributed Algorithms (2) – Tutorial
Global properties
Consensus (1)
Second homework due
Consensus (2) – Tutorial
Expected Workload:
On average students need to spend 2 hours of study and preparation for each 50-minute
lecture/tutorial.
Attendance policy:
Absence from lectures and/or tutorials shall not exceed 15%. Students who exceed the 15% limit
without a medical or emergency excuse acceptable to and approved by the Dean of the relevant
college/faculty shall not be allowed to take the final examination and shall receive a mark of zero
for the course. If the excuse is approved by the Dean, the student shall be considered to have
withdrawn from the course.
Module references
Books
Concurrent Systems: An integrated approach to Operating Systems, Distributed Systems and Data Base,
Jean Bacon, Addison Wesley, 2003
Page 3 of 3
Download