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 Room: https://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 page: https://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:
- demonstrate understanding of theoretical foundations of programming
concurrent computing systems,
- compare communication and synchronization aspects in actor-,
process-, and object-oriented concurrent programming languages,
- design and develop computing systems for distributed execution
over Internet-connected run-time environments,
- critique research papers on distributed computing over the
Internet and identify open research problems.
Course Contents
-
Models of Concurrent, Distributed, and Mobile Computing
-
Pi-Calculus
-
Actors
-
Mobile Ambients
-
Join Calculus
-
Programming Languages and Frameworks
-
Research Topics
-
Coordination
-
Mobility
-
Heterogeneity
-
Scalability
-
Security
-
Fault-tolerance
-
Programmability
-
Verification
Tentative Course Syllabus
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