top of page

COEN6731 Winter 2026
Distributed Software Systems

General Information

Course description

Welcome to COEN 6731: Distributed Software Systems! Distributed systems form the backbone of many essential services that we rely on every day, from healthcare and banking to financial services and online platforms. 

 

In this course, we will explore foundational concepts in distributed systems, including concurrency, security, fault tolerance, networking principles, remote procedure calls (RPC), peer-to-peer architectures, coordination and agreement protocols, MapReduce frameworks, distributed transactions, and data replication. By understanding these core principles, students will gain the necessary skills to design and build reliable, scalable, and secure distributed applications.

This year, COEN 6731 will feature a special focus on blockchain technologies, a transformative innovation that is reshaping industries worldwide. We will examine the key building blocks of blockchain systems, with a particular emphasis on consensus mechanisms and fault tolerance. Through this focus, students will gain insights into how blockchain technologies are applied across various domains and understand the challenges of achieving trust and coordination in distributed environments.

When and where

Lectures

  • Time: Wednesday 5:45pm-8:15pm

  • Location: MB S2.285 SGW

Instructor

General information
Course requirements

Course requirements

Marking scheme

  • Presentations and deliverables (30%)

    • In-class presentation

    • Slides

  • Participation and discussion (10%)​

  • Course project (60%)

    • Proposal​ one pager and presentation (10%)

    • Progress report presentation (5%)

    • Final presentation and demo (20%)

    • Final report (25%)

Presentation and deliverables

​TBA (in Week 2)

Course project

The primary objective of the course project is to enable students to demonstrate their ability to research, design, and implement a well-scoped problem in the area of distributed systems. Emphasis is placed on the application of a sound research methodology throughout the entire project lifecycle, including problem formulation, system design, implementation, evaluation, and analysis. Check the detailed description here.

 

Timeline:

  • Proposal presentation: Feb 11th, 11:59pm

  • Midterm presentation: Feb 25th

  • Final presentation: April 8th, lecture time

  • Final report: April 13th, 11:59pm 

Lecture
Schedule

This is a tentative schedule, which will likely change as the course goes on.

Week 1

  • Topics: Introductions, fundamentals, and time in DS.

  • Lecture: [Slides]

Week 2

  • Topics: Coordination, Agreement, and Paxos 

  • Lecture: [Slides]

Week 3

Week 4

  • Topics: Blockchains, Byzantine fault tolerance (Proof-of-Work and PBFT)

  • Lecture:
     

Week 5

  • Topics:  Cabinet and demo [Paper]​​

  • Project proposal presentation

Week 6

  • Topics: MapReduce

    • Google MapReduce [Paper]​
       

Week 7 (Paper Presentations)

  • Topics

    • TBA

Week 8

  • Topics

    • TBA

  • Project midterm progress presentations 

Week 9

  • Topics

    • TBA

​​

Week 10

  • Topics

    • TBA

Week 11

  • Topics

    • TBA

​​

Week 12

  • Final course remarks

  • Final project presentations and demos

Lecture schedule

Course
Policies

Notice of video recording and sharing

At times during this course, some interactions including students’ participation, may be recorded on video. Course videos and materials belong to the instructors, the University, and/or other sources depending on the specific facts of each situation, and are protected by copyright. For questions about recording and use of videos in which you appear please contact your instructor.

Course policies
© 2026 Gengrui (Edward) Zhang
gengrui.zhang@concordia.ca
bottom of page