CSCI.6500/CSCI.4500 Distributed Computing over the Internet -- Fall 2025

Instructor:  Carlos Varela
Office:  Lally 308, x6912
Office Hours:  Mondays and Thursdays 3pm-3:50pm; or by appointment
WebEx Personal Roomhttps://rensselaer.webex.com/meet/varelc
Meeting Place:  Pitts 5216
Meeting Hours:  Mondays and Thursdays 4pm-5:50pm
TA: Kushal Bhandari
TA's Office: Amos Eaton 127
TA's Office Hours: Tuesdays 3pm-5pm, or by appointment.
Home pagehttps://www.cs.rpi.edu/academics/courses/fall25/csci4500/
Submitty Home Page: https://submitty.cs.rpi.edu/courses/f25/csci4500


Course Description

This course will enable students to understand and apply theoretical foundations of programming concurrent, distributed, and mobile computing systems---namely process calculi, actors, join calculus, and mobile ambients. In the practical part, students will compare communication and synchronization aspects in concurrent programming languages following these theoretical models.  Students will also review current research on distributed computing over the Internet, on topics including but not limited to: coordination, mobility, heterogeneity, security, fault tolerance, scalability, programmability, and verification.

Pre-requisites

CSCI.4430 and CSCI.4210, or equivalent, or permission of instructor.  The student should be familiar with at least one high-level programming language and basic network programming concepts. In particular, this course will assume familiarity with Java and programming with TCP/IP sockets. Knowledge of programming language semantics and lambda calculus would be helpful but is not mandatory.

Course Themes

Theories of concurrent, distributed, and mobile computing.
Programming languages for concurrent, distributed, and mobile systems.
Research topics in distributed computing over the Internet.

Learning Outcomes

When the students have successfully completed this course, they will be able to:


Course Contents

  1. Models of Concurrent, Distributed, and Mobile Computing
  2. Programming Languages and Frameworks
  3. Research Topics

Tentative Course Syllabus

Date Topic Grade
08/28 Course Overview. Introduction to Distributed Computing over the Internet Part I -- Models/Theory.
09/04 Pi-Calculus - Introduction
09/05 Pi-Calculus - Operational Semantics
09/08 Pi-Calculus - Bisimilarity and Congruence
09/11 Actors - Introduction
09/15 Actors - Operational Semantics, Tree Product Example
09/18 Actors - Expression Equivalence, Actor Semantics Examples
09/22 Join Calculus
09/25 Mobile Ambients
09/29 Part I Review
10/02 Partial Exam 30%
10/06 Introduction to Distributed Computing over the Internet Part II -- Programming Languages and Frameworks
10/09 Pict: Concurrency--Programming Assignment 1 Due 10/24 10%
10/16 Pict: Concurrent Functional and Object-Based Programming Techniques--pict-samples.zip---code/pict/
10/20 Nomadic Pict: Distribution and Mobility---Social Networking Example (Ch. 11)
10/23 SALSA: Concurrency---Programming Assignment 2 Due 11/04---salsa-samples.zip--code/salsa/ 10%
10/27 SALSA: Distribution and Mobility---salsa-dist-samples.zip--code/salsa/
10/30 SALSA: Concurrent and Distributed Programming Techniques---Social Networking Example (Ch. 11)
11/03 Objective Caml---Programming Assignment 3 Due 11/14 10%
11/06 JoCaml: Concurrency---code/jocaml/
11/10 JoCaml: Distribution and Mobility---Social Networking Example (Ch. 11)
11/13 Part III -- Research Topics --- Selected Paper Critiques and Presentations by Students -- Papers Selections Due 10/06 10%
11/17
11/20
12/01
12/04
12/08 Final Project/Paper Presentations-- Proposals Due 11/03 30%
12/11
Class Participation Extra Credit 5%

Reading Material  -- Parts I and II


Software Links, Papers, and Tutorials -- Part II

You may also use a pre-built container set up to run any code in all the different programming languages.


Research Papers -- Part III

Students will critique and present selected papers from recent journal and conference publications, including but not limited to: You may also search papers in Google Scholar, or ACM's Digital Library

Academic Integrity

The Rensselaer Handbook of Student Rights and Responsibilities defines several types of academic dishonesty, all of which are applicable to this class.  Students found in violation of academic integrity policies will receive a failing grade for this course. Please contact me if there is any question about academic integrity.


Well-being at RPI

At RPI, we care about you, and we are committed to your well-being, both as a student and as an individual. College is a time of growth, and it's natural to face challenges along the way. Stress, relationship issues, low motivation, or mental health concerns can all affect your experience.
If you're struggling, please know that asking for help is a smart and courageous step. It's a skill that will serve you well far beyond your time here. Rensselaer's Health and Counseling Services offers free, confidential support. Visit http://studenthealth.rpi.edu or call 518-276-8888 anytime. In an emergency, call 988 or Public Safety at 518-276-6611.
If you're facing challenges this semester, I hope you'll feel comfortable reaching out. I care about your success, and I want to work with you to find the support and flexibility you may need.

If you have any questions on disability services or web accessibility of the material for this course, please let me know.


Last modified: Tue Nov 4 11:21:00 EST 2025