Responsible:
Gerardo M. Sarria M.
Credits: 3
Requirements: Basic knowledge of programming languages, algorithms, data structures and logic.
Time: Saturday, 9:00-12:00 AM
Objectives
-
To appreciate the convenience of programming declaratively.
-
To get familiar with different types of concurrency.
-
To use concurrency to solve distributed constraint satisfaction problems.
Content
-
Declarative Computation Model
-
Declarative Programming Techniques
-
Declarative Concurrency
-
Message Passing Concurrency
-
Share State Concurrency
-
Concurrent Constraint Programming
-
Distributed Programming
Evaluation
-
First project : 30% (grade * defence-factor)
-
Second project : 30% (grade * defence-factor)
-
Quizzes : 20%
-
Homeworks : 20%
Bibliography
-
Peter Van Roy and Seif Haridi. Concepts, Techniques, and Models of Computer Programming
-
Francesca Rossi, Peter van Beek and Toby Walsh. Handbook of Constraint Programming
-
Andrew S. Tanenbaum and Maarten van Steen. Distributed Systems: Principles and Paradigms
Readings on Concurrency
-
Abelson and Sussman. amorphous Computing AbSus-paper
-
Miller, Tribble, Shapiro. E language MiTSha-paper
-
Edwards Coherent Reaction EdW-paper
Software
-
Mozart. http://www.mozart-oz.org/