Distributed Systems: Course Information

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

What is the primary focus of this course, as stated in the 'Caveat'?

  • Mobile Computing
  • Internet-of-Things
  • Embedded Systems
  • Cloud-based computing (correct)

Which programming languages are listed as prerequisites for the course?

  • C, C++, and Java (correct)
  • C# and .NET
  • Python and Java
  • Assembly and C

Identify a topic covered under the 'Communication and Processing' syllabus.

  • Synchronization
  • Fault Tolerance
  • Messages (correct)
  • Security

From the 'Foundations' syllabus, what concept ensures data consistency across multiple nodes?

<p>Replication (B)</p> Signup and view all the answers

Which of the following falls under the 'Applications' syllabus?

<p>Distributed File systems (D)</p> Signup and view all the answers

Regarding the (Mini-)Projects, what is a key requirement for 'Your own project'?

<p>Must use non-blocking API (C)</p> Signup and view all the answers

According to the course structure, what is the consequence for failing to comply with the rules regarding cheat sheets during exams?

<p>Exam will be nullified (A)</p> Signup and view all the answers

In the context of academic integrity, what specific action is prohibited regarding project code?

<p>Sharing code (C)</p> Signup and view all the answers

When do classes start, relative to the beginning of the hour?

<p>10 minutes after the hour (C)</p> Signup and view all the answers

What is the weighting of class participation(C) in the calculation of the final grade(G) for ordinary students?

<p>0.1C (A)</p> Signup and view all the answers

Which of the following activities related to projects is explicitly permitted?

<p>Discussing project ideas and approaches with other students. (C)</p> Signup and view all the answers

Consider a student who scores below 8 in one of the project assignments. How does this affect the application of the formula for the final grade for ordinary students?

<p>The final grade calculation proceeds as normal, using whatever project grade was obtained. (A)</p> Signup and view all the answers

A student wants to submit materials for the (Mini-)Projects. What format is required?

<p>Via SVN/Redmine. (C)</p> Signup and view all the answers

How often do students have to fill out the form to keep their previous year's project grade?

<p>No later than February 17th (C)</p> Signup and view all the answers

With reference to the academic integrity policy, which of the following actions could lead to a failing grade in the course?

<p>Submitting code that is nearly identical to that of other students. (D)</p> Signup and view all the answers

If a student needs to know the specific topics that will be covered in the 'Security' section of the course, where should they look?

<p>Moodle's course page (C)</p> Signup and view all the answers

In calculating the final grade for 'Special status students', what is the contribution of the project grade P if P is greater than or equal to 8?

<p>$0.5P$ (A)</p> Signup and view all the answers

What type of questions are included in the exam?

<p>True/False, Multiple-Choice, and Open Questions (D)</p> Signup and view all the answers

What penalty may students face if their projects are found to be identical to those from previous years?

<p>A zero on that project, potentially escalating to failing the course (A)</p> Signup and view all the answers

On what day of the week are classes held at 11:10?

<p>Wednesday (D)</p> Signup and view all the answers

Flashcards

Distributed Application

An application with two or more processes executing on different computers and communicating via messages.

Objectives of Distributed Computing

Understanding the foundations of distributed computing and being able to design, implement, and analyze distributed applications.

Prerequisites

Concurrency in Operating Systems, Computer Networks and Programming in C/C++/Java.

Communication Paradigms

Study messages and remote invocation.

Signup and view all the flashcards

Foundations of Distributed Systems

Names and Localization, Security, Synchronization, Replication and Consistency and Fault Tolerance

Signup and view all the flashcards

Applications of Distributed Systems

Examples include distributed filesystems, data intensive computing, web-based applications and peer-to-peer systems.

Signup and view all the flashcards

Distributed Systems: Principles and Paradigms

A textbook for the course.

Signup and view all the flashcards

Academic Integrity

Both projects require a codebase developed by the group members or authorized others with credit, academic honesty is taken seriously.

Signup and view all the flashcards

Study Notes

  • Distributed Systems Class Information for the 3rd MIEIC is being taught by Pedro F. Souto ([email protected]) and the date of the class information is February 13, 2019

Staff

Distributed Applications

  • A distributed application has two or more processes
  • These processes execute on different computers
  • They communicate via messages
  • There is a no negligible delay concerning computation
  • Most, if not all, intellectually interesting applications are distributed nowadays

Course Objectives

  • Understand the foundations of distributed computing
  • Design and implement simple distributed applications
  • Analyze distributed solutions and evaluate their fitness of solutions to the problem
  • The course will focus on cloud-based computing instead of the Internet-of-Things

Prerequisites

  • Requires knowledge of operating systems, specifically concurrency
  • Requires knowledge of computer networks
  • Requires Programming knowledge in C/C++/Java

Syllabus Parts

  • Part 1: Communication and Processing which includes Introduction, Networking (Review), Communication Paradigms (Messages, Remote invocation), and Processing
  • Part 2: Foundations includes Names and Localization, Security, Sinchronization, Replication and Consistency, and Fault Tolerance
  • Part 3: Applications includes Distributed Filesystems, Data Intensive Computing, Web-based Applications and Peer-to-peer Systems

Supporting Material

  • Tanenbaum, A. e van Steen, M.’s “Distributed Systems: Principles and Paradigms, 3rd Ed. (2017)” textbook is available for free upon request
  • "Distributed Systems: for fun and profit" is recommended as a small fun book focused on the data center.
  • Java documentation is also recommended, specifically Java 8.0 API

Mini-Projects

  • Project 1 is a simple distributed storage application
  • Project 1 should be done in groups of 2 students
  • Project 1 is due on April 7 @ 20:00 (Sunday)
  • Project 1 demo is on first lab class after due date (i.e. on April 8)
  • Project 2 is one's own project
  • Project 2 must use non-blocking API
  • Project 2 should be done in groups of 4 students
  • Project's 2 proposal is due April 14 @ 20:00 (Sunday)
  • Project 2 is due on May 26 @ 20:00 (Sunday)
  • Project 2's demo on first lab class after due date (i.e. last week)
  • Both projects must be implemented in Java
  • Both projects and their reports must be submitted via SVN/Redmine
  • Both projects have the same weight

Mini-Projects Grading

  • Grading is individual
  • Each project is graded assuming the expected number of group members (2 and 4 respectively)
  • A contribution factor computed from the contribution using a piecewise linear function is applied to the grade
  • First project "Breaking points": 33%, 50%
  • The factor for the first project is: 0 at 0%,.85 at 33%, 1 at 50% and 1.10 at 100%
  • Second project "Breaking point": 25%
  • The factor for the second project is: 0 at 0%, 1 at 25%, 1.15 at 100%
  • A ceiling based on the complexity will also be applied
  • Students can fill out a form to keep their previous year’s project grade before February 17th

Exam

  • The exam is in Moodle
  • The exam may include True/False, multiple-choice, and open questions
  • The exam is closed books but allows a cheat sheet
  • The cheat sheet must be A4 (both sides) and handwritten
  • Exams that do not comply will be nullified
  • You should study by the book

Class Participation

  • Participation includes discussion in the Moodle's forum

Final Grade

  • The formula to calculate the final grade (G) for ordinary students is: min(min(F, P) + 3, 0.45P + 0.1C + 0.45F)
  • The parameters are:
    • P is the average of the grades in both projects (P ≥ 8)
    • C is class participation
    • F is the final exam grade (F ≥ 8)
  • The final grade cannot exceed in more than 3 points (in 20) the minimum of the grades in the final exam and in the project
  • The formula to calculate the final grade (G) for special status students is: min(min(F, P) + 3, 0.5P + 0.5F)

Academic Integrity

  • Academic integrity is taken very seriously
  • Students should check out the Declaração de Princípios sobre a Integridade Académica na UP
  • Students are allowed to discuss the projects
  • There will be a discussion forum on Moodle for each project
  • The code submitted must be either developed by the group members or authorized, and credit given in both the report and the source file
  • Tools will be used to automatically detect common code and all groups with similar code will be penalized
  • You may still help your colleagues, but code cannot be shared nor can you read someone else’s project
  • Projects that are identical to those of last year is not allowed
  • The penalty for academic dishonesty/integrity ranges from a zero in that project to failing the course

Important Dates:

  • Classes start 10 minutes after the hour
  • Wednesdays at 11:10
  • Fridays at 8:40
  • Labs start next week
  • Course material is available on Moodle’s course page
  • 1st project is on April 7 @ 20:00 (Sunday)
  • Proposal of 2nd project is on April 14 @ 20:00 (Sunday)
  • 2nd project is on May 26 @ 20:00 (Sunday)
  • Demos are in the first lab class after due dates.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Distributed Systems Overview
14 questions
Intro to Cloud Computing
44 questions

Intro to Cloud Computing

TimeHonoredJubilation8017 avatar
TimeHonoredJubilation8017
Use Quizgecko on...
Browser
Browser