EPOKA UNIVERSITY
FACULTY OF ARCHITECTURE AND ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING
COURSE SYLLABUS
COURSE INFORMATIONCourse Title: DISTRIBUTED SYSTEMS |
Code | Course Type | Regular Semester | Theory | Practice | Lab | Credits | ECTS |
---|---|---|---|---|---|---|---|
CEN 806 | C | 99 | - | - | - | 3 | 7.5 |
Language: | English |
Compulsory/Elective: | Elective |
Classroom and Meeting Time: | |
Course Description: | - |
Course Objectives: | A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal. Distributed applications (distributed apps) are applications or software that runs on multiple computers within a network at the same time and can be stored on servers or with cloud computing. This course provides an in-depth understanding of fundamental principles and models underlying the theory, algorithms, and systems aspects of distributed computing. Few Emerging topics such as Peer-to-Peer computing, Distributed Hash Table, Google File System, HDFS, Spark, Sensor Networks and Security in Distributed Systems will also be covered for significant impact. Upon completing this course, students will have intimate knowledge about how things work in a distributed environment. |
COURSE OUTLINE
|
Week | Topics |
1 | Introduction to DS, Message Passing, Distributed Models |
2 | Leader Election, Causality and Logical Time |
3 | Logical Time, Global State & Snapshot and and Quorum based approaches |
4 | Distributed Mutual Exclusion-Non-Token |
5 | Consensus & Agreement, Checkpointing & Rollback Recovery |
6 | Deadlock Detection, DSM and Distributed MST |
7 | Termination Detection, Message Ordering & Group Communication |
8 | Midterm |
9 | Fault Tolerance and Self-Stabilization |
10 | Distributed Randomized Algorithms |
11 | DHT and P2P Computing |
12 | Case Studies: GFS, HDFS, Map Reduce and Spark |
13 | Case Studies: Sensor Networks, Authentication & Security in DS |
14 | Course overview |
Prerequisite(s): | Datastructure |
Textbook: | Distributed Computing: Principles, Algorithms, and Systems- Ajay D. Kshemkalyani and Mukesh Singhal Distributed Computing: Fundamentals, Simulations and Advanced Topics-Hagit Attiya and Jennifer Welch |
Other References: | |
Laboratory Work: | Yes |
Computer Usage: | Yes |
Others: | No |
COURSE LEARNING OUTCOMES
|
1 | Distributed algorithm for process communication |
2 | Distributed algorithm for process synchronization |
3 | Distributed algorithm for recourse access |
4 | Distributed Mutual Exclusion-Non-Token |
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution) |
No | Program Competencies | Cont. |
Doctorate (PhD) in Computer Engineering Program | ||
1 | Engineering graduates with sufficient theoretical and practical background for a successful profession and with application skills of fundamental scientific knowledge in the engineering practice. | |
2 | Engineering graduates with skills and professional background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations | |
3 | Engineering graduates with the necessary technical, academic and practical knowledge and application confidence in the design and assessment of machines or mechanical systems or industrial processes with considerations of productivity, feasibility and environmental and social aspects. | |
4 | Engineering graduates with the practice of selecting and using appropriate technical and engineering tools in engineering problems, and ability of effective usage of information science technologies. | |
5 | Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions. | |
6 | Ability of identifying the potential resources for information or knowledge regarding a given engineering issue. | |
7 | The abilities and performance to participate multi-disciplinary groups together with the effective oral and official communication skills and personal confidence. | |
8 | Ability for effective oral and official communication skills in foreign language. | |
9 | Engineering graduates with motivation to life-long learning and having known significance of continuous education beyond undergraduate studies for science and technology. | |
10 | Engineering graduates with well-structured responsibilities in profession and ethics. | |
11 | Engineering graduates who are aware of the importance of safety and healthiness in the project management, workshop environment as well as related legal issues. | |
12 | Consciousness for the results and effects of engineering solutions on the society and universe, awareness for the developmental considerations with contemporary problems of humanity. |
COURSE EVALUATION METHOD
|
Method | Quantity | Percentage |
Midterm Exam(s) |
1
|
40
|
Quiz |
2
|
10
|
Final Exam |
1
|
40
|
Total Percent: | 100% |
ECTS (ALLOCATED BASED ON STUDENT WORKLOAD)
|
Activities | Quantity | Duration(Hours) | Total Workload(Hours) |
Course Duration (Including the exam week: 16x Total course hours) | 16 | 5 | 80 |
Hours for off-the-classroom study (Pre-study, practice) | 16 | 5 | 80 |
Mid-terms | 0 | ||
Assignments | 0 | ||
Final examination | 1 | 12 | 12 |
Other | 1 | 15.5 | 15.5 |
Total Work Load:
|
187.5 | ||
Total Work Load/25(h):
|
7.5 | ||
ECTS Credit of the Course:
|
7.5 |