Analyze and critically discuss research papers both in writing and in class
Formulate and evaluate a hypothesis by proposing, implementing and testing a project
Relate one's project to prior research via a review of related literature
Write a coherent, complete paper describing and evaluating a project
Orally present a clear and accessible summary of a research work
Understand the fundamental questions in parallel and distributed computing and analyze different solutions to these questions
Understand different parallel and distributed programming paradigms and algorithms, and gain practice in implementing and testing solutions using these.
Oral presentation and demonstration.
Project presentation.
Principle Sources
Distributed Systems: Principles and Paradigms, 2/E
Andrew S. Tanenbaum, Vrije University, Amsterdam, The Netherlands
Maarten Van Steen
ISBN-10: 0132392275
ISBN-13: 9780132392273
Publisher: Prentice Hall
Copyright: 2007
Other Sources
Recent research papers
Course Schedules
Week
Contents
Learning Methods
1. Week
Course Outline and Introduction
oral presentation
2. Week
Architectures: Hardware and Software Concepts
oral presentation
3. Week
Processes and Code Migration
oral presentation
4. Week
Communication (Remote Procedure Call and Remote Method Invocation)
oral presentation and laboratory
5. Week
Communication (Message-Oriented and Stream-Oriented Communications)
oral presentation and laboratory
6. Week
1st. Midterm
7. Week
Naming Management in Distributed Environments
oral presentation
8. Week
Synchronization in Parallel and Distributed Systems
oral presentation
9. Week
Consistency and Replication (Data-Centric Consistency Models)
oral presentation and laboratory
10. Week
Consistency and Replication (Client-Centric Consistency Models)
oral presentation
11. Week
Fault Tolerance (Process Resilience)
oral presentation and case study
12. Week
2nd. Midterm
13. Week
Fault Tolerance (Reliable Client-Server and Group Communications)
oral presentation and case study
14. Week
Security Management
oral presentation and case study
15. Week
16. Week
17. Week
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
2
40
Homework / Term Projects / Presentations
1
20
Final Exam
1
40
Program Outcomes
PO-1
an ability to apply knowledge from undergraduate and graduate engineering and other disciplines to identify, formulate, and solve novel and complex electrical/computer engineering problems that require advanced knowledge within the field
PO-2
knowledge of advanced topics within at least two subdisciplines of computer engineering
PO-3
the ability to understand and integrate new knowledge within the field;
PO-4
the ability to apply advanced technical knowledge in multiple contexts
PO-5
a recognition of the need for, and an ability to engage in, life-long learning
PO-6
the ability to plan and conduct an organized and systematic study on a significant topic within the field
PO-7
an ability to convey technical material through formal written reports which satisfy accepted standards for writing style
PO-8
the ability to analyze and use existing literature
PO-9
the ability to demonstrate effective oral communication skills
PO-10
the ability to stay abreast of advancements in the area of computer engineering
Learning Outcomes
LO-1
a variety of parallel and distributed architectures, such as bus-based, massively parallel, cluster, vector.
LO-2
a variety of parallel and distributed programming paradigms, synchronisation and parallelisation primitives, message passing, data parallel, tuple space.
LO-3
concurrency, synchronicity and parallelism.
LO-4
the design issues of parallel and distributed systems.
LO-5
designing, developing and debugging parallel and distributed programs using a variety of paradigms.