Distributed systems

1263's picture
Course Level: 
Forth Year
Course Code: 
10681480
Course Outline: 

GENERAL DATA

SUBJECT CODE

10681480

Credit Hours

Theory (3 credits).  Practice(0 credits)

PUBLICATION DATE

15/5/2015

DEGREE IN WHICH IT IS TAUGHT

B.SC. in Computerized Information System (CIS)

CONTEXT OF THE SUBJECT

The department of computerized information system (CIS) at An-Najah National University offers interdisciplinary courses in computerinformation technology, leading to a Bachelor’s degree of 125 credit hours in Computerized Information System (CIS). This course on “Distributed Systems 10681480”is a course at the advanced level and gives 3 credit hours.This course gives an introduction to the fundamental concept of distributed system, including distributed systems architecture, types of distributed systems, distributed algorithms, distributed resource management, accessing distributed resources, etc.

According to the department’s-published advisory plan the course supposed to be taken by the students on their first semester of the fourth year. The course has the following pre-request courses: Computer Network (10681235).

The course with its two parts (theoretical and practical) will be taught in English.

RESPONSIBLE TEACHER

Name

Dr.FadyDraidi (Assistant Professor)

Speciality: Distributed System and IR

Email: draif@najah.edu. Office No: 1280

Office Hours: Updated

COMPETENCES AND LEARNING OUTCOMES

Upon successful completion of this course, students should be able to:

LEARNING OUTCOMES

1.       Know the contrasting features between the distributed view of computing with the centralized system

2.       Know in detail how few exemplar distributed applications work and what requirements they aim to satisfy

3.       Know  in detail how few exemplar distributed applications work and what issues and challenges they must contend with

4.       Know in detail how few exemplar distributed applications work and what architecture they exhibit

5.       Know in detail how few exemplar distributed applications work and what techniques and infrastructures they are built upon.

6.       Know the historical development of distributed and parallel systems

TECHNICAL COMPETENCIES

  1. Being able to compare and contrast a range of distributed and parallel systems.
  2. Being able to discuss hardware and software issues of such systems
  3. Being able to critically evaluate the suitability of a system for a particular use
  4. Being able to design and implement algorithms for distributed and parallel systems
  5. Being able to design and analyse algorithms and problems arising in distributed systems

TRANSVERSAL COMPETENCIES

  1. Cooperate well with other team members
  2. Present the developed distributed application with other team members
  3. Evaluate and critique distributed application productions.

4.       Develop a working business model around a distribute application together with its function

CONTENT

GENERAL DESCRIPTION

This course introduces the basic concepts and principles in distributedsystems.Thisincludesdistributedsystemsarchitecture, types of distributedsystems, distributedalgorithms, distributedresourcemanagement, accessingdistributedresources. thestrengths and requirements of distributed and parallelsystems. It as well provides thecandidatewithanoverview of theavailable hardware and software, alongwith a detailedunderstanding of howto use suchsystems and anunderstanding of theirshortcomings. Thiscoursealsoprovidesanopportunityforstudentstogainhands-onexperiences in buildingdistributedapplications.

Studentswillwork in sixgroups (fivestudents in eachgroup) and eachgroupwill be requiredtodevelop a businessmodel, design and implement complete distributedapplication.  Eachgroupwillworkunderthesupervision of thecourseteacher. Traditionallectureswill be usedforillustration of basicconcepts, essentialtechniques, and programmingtechniqueswithlivedemonstrations of software development and deploymentondistributedtools.

THEORETICAL AND PRACTICAL CONTENTS

Theoretical contents

a.         Introductiontodistributedsystems

b.         SystemModels

c.          DistributedObjects middleware

d.         InterprocessCommunication

e.          Naming

f.          Time and Clocks

g.          FaultTolerance

h.         Consistency and replication

i.           Distributed File Systems

j.           Distributed Web-basedSystems

k.         Physical and Virtual Clusters

l.           ComputationalGrids and Applications

m.       Peer-to-Peer Computing Systems

n.         Internet Cloud Computing Platforms

Practical contents

The practical part of the course consists of a Project:

Student teams will work on completing the development of a distributed project to be selected by students’ team or provided by the course teacher. Teacher will help in giving the right project ideas. He also will help and guide students through all the development phases. At various milestones, A complete distributed application will be produced, including business model, requirements specification, design and architecture documents, and deployment.  

Each group will give final presentation on week 15 of the semester. Teacher will participate in project evaluation and give the final marks.

LEARNING PLAN

TEACHING ACTIVITY

METHODOLOGY

FACE-TO-FACE HOURS

SELF STUDY HOURS

Theory

The teaching approaches and methods of learning used on the course will include traditional lecturing. Seminars, tutorials, and problem solving

15 weeks per semester, 30 hours in total. 2 per week. The last week (No. 16) will be reserved to the final examinations.

Each student will spend 2 self-study hours for each one-hour lecture. 4 self-study hours per week.

Practice with (PC or mobile)

Student teams will work on completing the development of a distributed application.  In addition, students will work on a practical assignment given during the course.

Each team supposed to meet with the teacherEach team will meet with the teacher face-to-face one hourone hour per week.

Each studentsupposed to work practically twoEach student within a team will work two hours per week on their projects.

TOTAL

45 hours

90 hours

Weekly detail

***** (T)for theoretical, (P) for practical

WEEK

Type

UNIT

FACE-TO-FACE

HOURS

SELF STUDY

HOURS

1

T

Introduction to distributed systems

x

2

x

4

1

P

Student teams with teacherwill work on:

-           Distributed API

-           Shared-data Overlay Network

x

1

x

2

2

T

System Models

x

2

x

4

2

P

Guide student work on

Shared-data Overlay Network

x

1

x

2

3

T

Distributed Objects middleware

x

2

x

4

3

P

Project (Phase 1)

-           Introduce the project (project orientation)

-           Discuss App Ideas

-           Team formations

-           (Due Date for Phase 1: End of Week 4)

x

1

x

2

4

T

Interprocess Communication

x

2

x

4

4

p

Problem 1

-           Sketch a design for a home system consisting of a separate mediaserver that will allow for the attachment of a wireless client

x

1

x

2

Due Date for Phase 1: End of Week 4

5

T

Naming

x

2

x

4

5

P

Project (Phase 2)

-           Each  team design a planning and Requirements Gathering for the project

-           Phase 2 deliverable: Project Plan

(Due Date for Phase 2: End of Week 7)

x

1

x

2

6

T

Time and Clocks

x

2

x

4

6

P

Problem 2

-           Feedback on project plan

x

1

x

2

7

T

Fault Tolerance

x

2

x

4

7

P

Problem 2

-           implement a simple system that supports multicast RPC

x

1

x

2

Due Date for Phase 2: End of Week 7

8

T

Consistency and replication

x

2

x

4

8

P

Project (Phase 3)

-           Each  team implement the selected project

-           Phase 3 deliverable: Project prototype

(Due Date for Phase 3: End of Week 14)

x

1

x

2

Midterm exam

9

T

Distributed File Systems

x

2

x

4

9

P

Problem 3

-           Making a UNIX-basedsystem available to a Windows client. By installing and configuring a Samba server.At the same time. the file system should remain accessible through NFS

x

1

x

2

10

T

Distributed Web-based Systems

x

2

x

4

10

P

-           Feedback on project

x

1

x

2

11

T

Physical and Virtual Clusters

x

2

x

4

11

P

-            Feedback on project implementation

x

1

x

2

12

T

Computational Grids and Applications

x

3

x

6

13

T

Peer-to-Peer Computing Systems

x

2

x

4

13

p

Problem 4

-           Using existing software, design and implement a BitTorrent-basedsystem for distributing files to many clients from a single, powerful server

x

1

x

2

14

T

Internet Cloud Computing Platforms

x

3

x

6

15

Final Project

-           Business Idea

-           Prototype

-           Presentation

*** teacherwill assess project quality and team performance according to a pre-designed rubric.

x

1 per group

16

Final Exam

EVALUATION SYSTEM

·         Since this course is project-based and problem, a significant portion of the course grade will go for the project and problem tasks.  The Rubric for PBL assessment is attached.

·         Problems

·         Midterm Exam

·         Final exam

Tools and Criteria for the evaluation

TYPE

CRITERION

DESCRIPTION

WEIGHT

CONTINOUS EVAL.

Term project

Inquiry skill

Knowledge building

Hypothesis Modelling

Organization

Language

Students will be divided into six teams with five students in each one. Each team will work on completing the development of a distributed project to be provided by teacher.  Rubric for Project assessment is attached.

40

CONTINOUS EVAL.

Problem

Define

Identify

Break

develop

Students will be divided into six teams with five students in each one. Each team will work on solving the problems given.  Rubric for problem assessment is attached.

20

CONTINOUS EVAL.

Exam

Midterm written exam for two hours. Given in the class room and covers all the theoretical part of the course until its date.

20

CONTINOUS EVAL.

Exam

Final written exam for two hours. Given in the class room and covers all the theoretical part of the coursehas been taken after midterm exam.

20

TOTAL

100

OFFICIAL EXAMINATION PERIODS

Final Examinations will be scheduled by the Registrar during the official examination periods.  The dates will be announced when they become available.  Students are encouraged to check university web site for the latest information.

BIBLIOGRAPHY

TITLE

DistributedSystems. Concepts and Design(Main Text Book)

AUTHOR(s)

Coulouris, Dollimore, Kindberg

EDITION

4th

ISBN

-

RECOMMENDED BY                               

-

Access to the resource

TITLE

Distributed Systems: Principles and Paradigms(AdditionalResources)

AUTHOR(s)

Andrew S. Tanenbaum, Maarten van Steen

EDITION

2th

ISBN

-

RECOMMENDED BY                             

-

Access to the resource

RUBRICS

PBL Assessment Rubrics

Exceed expectation

meet

Fail short

Not applicable

Student Name:_________________________

Inquiry Skills

Recognizesinadequaciesofexistingknowledge

Identifieslearningneeds&setslearningobjective

Utilizesadvancedsearchstrategies

Evaluatesinquirybyassessingreliability&appropriatenessofsources

Knowledge building

Identifiesprinciplesfor organizingknowledgeasevidence/reasoning

Constructsknowledgebaseinallproblemaspects

Asksprobingquestions

Team work

Routinely present at group/team meetings or work sessions

Contributes a fair share to the project workload.

Shares credit for success with others and accountability for team results

Shares information with others and provides assistance to others.

Comments:

ProblemRubric

Exceed expectation

meet

Fail short

Not applicable

Student Name:_________________________

Problem Solving

Defines/redefinestheproblemandidentifiesproblemgoals

Breaksproblemdownintoappropriateparts

Useswhiteboardtoassistinproblemexplorationorsolving

Identifiesanddefinesappropriatecriteria

Developsmodels,hypothesesorframeworks

Comments: