CSC 408 Distributed Information Systems (Spring 23-24)

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

College of Engineering

Course Syllabus

Information Technology Program


Spring 23-24 Semester

Course Name: Distributed Information Systems


Course Code: CSC 408
Course Pre-requisites: CSC 202, CSC 305
Course Co-requisites: -
Credit hours: 3 (3 hrs. lectures + 1.5 hrs. labs)

Instructor’s Name: Prof. Mourad Elhadef


Telephone: 02-5015733 E-mail: Mourad.elhadef@adu.ac.ae
Class Location: 22/66 (H-GF-08A) Class Time: 10:55AM-12:40PM, Tue/Thu
33/77 (H-2F-11A) 4:55 PM-6:40PM, Tue/Thu
Office Location: U-2F-104 Office Hours: 10:30AM-12:30PM, Mon/Wed

1. Course Description

The study of distributed systems is exciting and interesting! In many respects, distributed systems are
at the forefront of a revolution in the computer science discipline. In this course we will explore the
principles and paradigms that are associated with distributed systems. During our exploration of
principles, we will focus on developing a working understanding of the notions and concepts that are
fundamental to all distributed systems: communication, coordination, fault-tolerance, transparency,
self-organization, and synchronization. During our investigation of paradigms, such as message
passing, remote object invocation, distributed shared memory, or group communication, we will
examine, in great depth, specific technologies for building distributed systems. To this end, we will
focus on the implementation of distributed systems that utilize the Java programming language. Main
topics include: interprocess communication, remote invocation, distributed operating systems,
distributed file systems, coordination and agreement, and concurrency control.

2. Learning Outcomes

Expected Learning Outcomes and Associated Assessment Tools


Assessment Contribution of CLOs to BScIT
Course Learning Outcome PLOs. H (High), M (Medium), and L (Low)
Tool(s)* PLO1 PLO2 PLO3 PLO4 PLO5 PLO6
1. Develop a comprehensive understanding of Midterm, H H M M
the foundational principles of distributed Final Exam
systems, including coordination, fault-
tolerance, transparency, self-organization,
and synchronization.
2. Apply knowledge of interprocess Assignment1, H H M
communication, coordination mechanisms, Labs
and fault-tolerance to create effective and
efficient distributed solutions.

1
3. Demonstrate the ability to implement Assignment2, H H
distributed applications that address practical Labs
challenges and requirements.
4. Examine state-of-the-art distributed systems, Assignment3 H H
such as Google infrastructure and search
engine to find flaws, weaknesses, and
strengths.
*Please note that the assessment tool(s) are to be used in assessing the course learning outcomes.

3. Weekly Outline

Readings
Week Topic
(Textbook)
1 Introduction: What is a Distributed System?
- Distributed versus Decentralized systems Ch.1
- Design goals: Resource sharing, Distribution transparency, Openness,
Dependability, Security, and Scalability
- Classification of distributed systems
2 Overview of Networking and Internetworking: Types of
Networks, Networks Principles, Internet Protocols
(Lab 1)
3 Architectures of Distributed Systems Ch. 2
- Architectural styles: Layered, Service-oriented, Publish-subscribe
- Middleware
- Layered-system architectures: Simple client-server, Multitiered
- Examples: The Network File System, The Web
- Symmetrically distributed system architectures
- Hybrid system architectures
(Assignment 1)
4 Processes Ch.3
- Threads in distributed systems
- Virtualization
- Clients
- Servers
Quiz1: Thursday 14th March
5-6 Interprocess Communication Ch. 4
- Layered Protocols
- Types of Communication
- Remote procedure call
- Message-oriented communication
- Multicast communication
(Lab2)
7-9 Coordination and Agreement Ch. 5
- Clock synchronization
- Mutual exclusion
- Election algorithms
- Gossip-based coordination
- Distributed event matching
- Location systems
- Consensus and related problems
(Assignment 2)
Midterm: Thursday 25th April
10 Naming Ch. 6
- Names, identifiers, and addresses
- Flat naming
- Structured naming
- Attribute-based naming

2
- Named-data networking
(Lab 3)
Quiz2: Thursday 16th May
11 Consistency and replication Ch.7
- Reasons for replication
- Data-centric consistency models
- Client-centric consistency models
- Replica management
- Consistency protocols
- Example: Caching and replication in the Web
(Assignment 3)
12 Fault tolerance Ch. 8
- Basic concepts
- Failure models
- Failure masking by redundancy
- Process resilience
- Consensus in faulty systems
- Reliable client-server communication
- Reliable group communication
- Distributed commit
- Recovery
13 Securing distributed systems Ch. 9
- Security threats, policies, and mechanisms
- Design issues
- Symmetric and asymmetric cryptosystems
- Hash functions
- Key management
- Digital signatures
- Authentication
- Trust in distributed systems (in the face of Byzantine failures)
- Authorization
- Monitoring
- Case study: Kerberos

4. Pedagogy – Learning Process

This course consists of 4.5 hours per week split into 3 hours lectures and 1.5 hours practical lab
sessions. The 3 hours lectures per week are delivered by the primary instructor and will consist of
theoretical lecture and problem-solving tutorial sessions. The 1.5 hours practical lab session per week
will be delivered by the teaching assistant and will emphasize hands-on practical knowledge using
various tools. The course contains various programming examples and assign to the students in-class
exercises. The course will require approximately six hours work a week in addition to classes and this
should include laboratory exercises, reading, text-book exercises, and revision.

The instructors will not expect students to be passive recipients of information. They will expect
students to participate actively in their own learning. Learning activities will include lectures,
computer exercises, and laboratory sessions. Both group and individual work will be expected.
Students may also be expected to participate in student-instructor conferences, small group
discussions, audio visual aid presentations, classroom experiments and in other methods of presenting
and analyzing information. Students will also be expected to read the textbooks or other assigned
reading outside of class and to participate in the critical evaluation of the material through small-
group and class discussion and individual writing.

3
5. Textbooks and Learning Material

a. Textbook
• Maarten Van Steen and Andrew S. Tanenbaum. DISTRIBUTED SYSTEMS, 4th Edition,
January 2023, ISBN: 978-90-815406-4-3.
b. References
• Roberto Vitillo. Understanding Distributed Systems, Second Edition: What every developer
should know about large distributed applications; February 23, 2022. ISBN-13: 978-
1838430214.
• Ratan K. Ghosh and Hiranmay Ghosh. Distributed Systems: Theory and Applications, 1st
Edition, ISBN-13: 978-1119825937.

6. Assessment of Student Learning

Assessment Tool Percent Description


Class Discussion 5% Used to encourage students’ participation in class
Practical Labs 15% Given to check if the concepts introduced in each
chapter are understood
Programming 15% Laboratory exercises will be assigned on a regular
Assignments (3 * 5%) basis as the relevant material is covered in lectures
Quizzes (2 * 5%) 10% Used to progressively assess the students’
understanding of the course material
Mid Exam 20% Will examine students’ understanding of all
course material midway through the course
Final Exam 35% Will examine students’ understanding of all
course material on completion of the course

7. Grading Key

Grade Percentage Grade Point


A 90-100 4
B+ 85-89 3.5
B 80-84 3
C+ 75-79 2.5
C 70-74 2
D+ 65-69 1.5
D 60-64 1
F Less than 60 0.0
I N/A 0.0

8. Attendance

For all students, absence is marked at a maximum of 30% of total class time. Final dismissals (WA)
will be posted on the student’s academic record. The calculation of the absence percentage is based on
the total number of class meetings, regardless of the length of the meetings. For example, if a class
meets once a week for 15 weeks, then a student would need 5 absences to reach the 30% threshold.

Students will be considered absent if they do not arrive on time for a lesson. Taking attendance will
start on the first day of classes and will continue until the last day of classes in the semester.

Final Dismissal will not be waived under any circumstances. The Registrar's Office will accept
4
excuses only from students missing an exam/major assignment due to absence. Students will be
permitted to take a make-up exam if its weight is at least 10%ofthe course total mark upon approval
of a legitimate excuse.

Exams/Tests will be repeated when serious reasons similar to the following take place and documented
evidence are submitted to the Office of the Registrar on the day student returns to class.
• Hospitalization,
• Contagious Disease,
• Death, may God forbid, of an immediate family member (father, mother, sibling, husband, son,
daughter, grandparent),
• Car Accident,
• Job Requirement (special assignment), with prior written approval from the Office of the
Registrar
• Al Haj

Al Umra

Al Umra trips are not valid excuses for students to be absent.

In the case of excused absence for a final exam, the student has to apply for an Incomplete (I) grade at
the Office of the Registrar within 48 hours of the exam.

9. Academic Integrity

The mission of ADU includes developing students’ sense of ethics, morality, and social responsibility.
Students at ADU have the fundamental obligation to conduct themselves with utmost integrity. To
ensure an education environment characterized with Academic integrity (AI), ADU has revised its
Academic Integrity Policy (AIP).

The revised Academic Integrity Policy (AIP) – copies available on the intranet under the link of the
Office of Academic Integrity (OAI) – has identified violations of AI punishable by serious penalties,
including “dismissal” from ADU. The types of violations identified in AIP, along with the description
and examples of each violation, are:
1. Cheating
2. Plagiarism
3. Fabrication of data
4. Presenting false credentials
5. Collusion
6. Free Riding

At the beginning of each semester, your instructor will review the essential elements of AIP in class
and will describe the intrinsic values of compliance, and the consequences of non-compliance (i.e.,
penalties) with the Policy. In addition, OAI undertakes a widespread AI Awareness Campaign at the
beginning of each semester to educate students about AI issues and the ways students can avoid
violations.

In view of resources provided by ADU in this regard, all students are expected to strictly comply with
the tenet of AIP and conduct themselves with highest degree of integrity and ethical conduct. Students
in need of additional information or assistance are requested to seek help from OAI. Failure to comply
with the provisions of AIP will have severe consequences, including “dismissal” from ADU.

5
Software plagiarism detection software Measure of Software Similarity (MOSS) will be used on
coding assignments, labs, and projects.

10. Miscellaneous

• Mobile phones: A student whose mobile phone rings during class will be asked to leave the
classroom and will receive a half absence. Should this happen during an exam, the student will
not be allowed to retake the exam at another time, while at the same time receiving a full
absence.
• Eating/Drinking/Smoking: Students will be requested to refrain from engaging in these
activities while in class.
• Only emails from university-provided email accounts will be recognized and used in this
course.
• Students should be aware that for each hour of in-class time, a further two to three hours (on
average) of independent study (out-of-class time) is required.

11. Academic Success Center (ASC)

The Academic Success Center (ASC) is committed to providing you with academic support and
assistance. Free tutoring is available to all students in Mathematics, Sciences, IT, and English. The
ASC tutoring sessions are run by faculty, course assistants, and peer tutors. The Centre is equipped
with smart boards and working spaces for you to drop into, work on your assignments or to study for
a test with additional support available from teachers and tutors.

You may use the link below to book appointments for tutoring sessions, get information about
workshops that cover a variety of topics, learn about competitions to enhance different skills,
communicate your course-related concerns to faculty, course assistants, and peer tutors, and a great
deal more.
https://adugroups.adu.ac.ae/student_community?club_id=300001937&menu=link
Take advantage of the services the ASC provides for your benefit!

12. Technical, Academic Support, and Key Contacts

Department Contact Information


Dean’s office Ms. Dorina Antonio, Executive Assistant
dorina.antonio@adu.ac.ae
02 5015731

Ms. Janette Laconsay, Executive Assistant


Janette.Laconsay@adu.ac.ae
02 5015732
Department Chair Prof. Mourad Elhadef
Mourad.elhadef@adu.ac.ae
02 5015639
Academic Advisors Mr. Nolan Dalapo, Abu Dhabi Campus Advisor
nolan.dalapo@adu.ac.ae
02 5015731

Mr. Hiba Abdirahman Ali, Al Ain Campus Advisor


hiba.ali@adu.ac.ae
02 5015731
Academic Success Center asc@adu.ac.ae
6
Students’ counselors Ms. Nariman S. M. Naji
nariman.naji@adu.ac.ae
02 5015725
Admissions & Registration Admissions@adu.ac.ae
Student Affairs stu.affairs@adu.ac.ae
03-7090917
studentaffairs@adu.ac.ae
Blackboard related Issues Ms. Reciel Battad, Senior Learning Management System
Analyst
reciel.battad@adu.ac.ae
02 5015998
IT Service Desk, MS Teams, ithelpdesk@adu.ac.ae (Abu Dhabi Campus)
password issues, .... itsupportaa@adu.ac.ae (Al Ain Campus)
ithelpdeskdb@adu.ac.ae (Dubai Campus)

You might also like