User Tools

Site Tools


teaching:dmpp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
teaching:dmpp [2012/02/15 16:55] jorgeteaching:dmpp [2012/07/02 16:16] jorge
Line 1: Line 1:
-====== Lab Sessions of Distributed and Mobile Programming Paradigms Course ======+====== Distributed and Mobile Programming Paradigms ====== 
  
 ===== About ===== ===== About =====
  
-This site covers the lab sessions for the Distributed and Mobile Programming Paradigms course.  +This site covers the lab sessions for the **Distributed and Mobile Programming Paradigms** course, previously known as [[http://soft.vub.ac.be/~egonzale/wiki/doku.php?id=sdms | Software Distribution and Mobility Seminar]].  
-In each session, students implement small applications in the AmbientTalk distributed programming language.  +The aim of the lab sessions is twofold. First, students put in practice some of the concepts about distributed programming paradigms seen at the theory class. Second, students get familiar with AmbientTalk, the distributed programming language used for the project.
-The exercises start from the basics of the AmbientTalk language and gradually introduce how to program distributed applications running on mobile devices+
  
-During these exercises, students apply the concepts seen in the seminar part of the course to software development. For example, they get hands-on experience with guards, asynchronous message passing, distributed programming with tuple spaces, and peer-to-peer networks. +In each session, students implement a small application or a subset of an application in AmbientTalk. The idea is to incrementally implement the application starting from a skeleton code.  
-They also deploy some of their application on real devices such as Android phones.+The exercises start from the basics of the AmbientTalk language and gradually introduce how to use concurrent and distributed programing abstractions such guards, asynchronous message passing, distributed programming with tuple spaces, and peer-to-peer networks. 
 +They also deploy some of their applications on real devices such as Android phones and tablets.
  
-See the official course site at [[http://pointcarre.vub.ac.be/ | PointCarré]] for more information on the course itself.+See the official course site at [[http://pointcarre.vub.ac.be/courses/VUB17635 | PointCarré]] for more information on the course itself.
  
 ===== Organisation ===== ===== Organisation =====
Line 18: Line 19:
 ^ **Room** | 1E.05 (Mac room) | ^ **Room** | 1E.05 (Mac room) |
 ^ **Time slot** | 2st Semester, Tuesday, 14:00 - 16:00 | ^ **Time slot** | 2st Semester, Tuesday, 14:00 - 16:00 |
-^ **Communication** | Via [[http://pointcarre.vub.ac.be/ | PointCarré]] |+^ **Communication** | Via [[http://pointcarre.vub.ac.be/courses/VUB17635 | PointCarré]] |
  
 ===== Material ===== ===== Material =====
Line 24: Line 25:
   * [[http://code.google.com/p/ambienttalk/wiki/EclipsePlugin| IdeAT]] Eclipse plugin which already contains the AmbientTalk interpreter   * [[http://code.google.com/p/ambienttalk/wiki/EclipsePlugin| IdeAT]] Eclipse plugin which already contains the AmbientTalk interpreter
   * AmbientTalk [[http://prog.vub.ac.be/amop/at/tutorial/tutorial |tutorial]] and [[ http://prog.vub.ac.be/amop/at/reference/reference|language reference]]    * AmbientTalk [[http://prog.vub.ac.be/amop/at/tutorial/tutorial |tutorial]] and [[ http://prog.vub.ac.be/amop/at/reference/reference|language reference]] 
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
 ===== Schedule ===== ===== Schedule =====
Line 30: Line 40:
  
   * **Session 1: First steps in AmbientTalk**   * **Session 1: First steps in AmbientTalk**
-    * Date: Week 23 - 21/02/12+    * Date: Week 23 and 24 - 21-28/02/12
     * Concepts: Functional, imperative and object-oriented programming.     * Concepts: Functional, imperative and object-oriented programming.
-  **Session 2First steps in AmbientTalk (Cont'd)** +    {{:teaching:session1.zip|Download material}} 
-    * DateWeek 24 - 28/02/12 +    * {{:teaching:session1_sol.at.zip|Download solution}} 
-    * ConceptsFunctional, imperative and object-oriented programming+  * **Session 2: Internet Cafe**
-  * **Session 3: Internet Cafe**+
     * Date: Week 25 - 06/03/12     * Date: Week 25 - 06/03/12
-    * Concepts: concurrent programming with actors, future-typed message passing,guards, unit testing.     +    * Concepts: concurrent programming with actors, future-typed message passing,guards, unit testing.  
-  * **Session 4: weScribble on Android phones**+    * {{:teaching:session2.zip|Download material}}    
 +    * {{:teaching:session2_sol.zip|Download solution}} 
 +  * **Session 3: weScribble on Android phones**
     * Date: Week 26 - 13/03/12     * Date: Week 26 - 13/03/12
     * Concepts: distributed programming, language symbiosis with Java and Android.     * Concepts: distributed programming, language symbiosis with Java and Android.
-  * **Session 5: Mobile Music Player**+    * {{:teaching:session3.zip|Download material}} 
 +    * {{:teaching:session3_sol.zip|Download solution}} 
 +  * **Session 4: Mobile Music Player**
     * Date: Week 27 - 20/03/12     * Date: Week 27 - 20/03/12
     * Concepts: insight in language support for partial failures, conditional synchronization with futures.     * Concepts: insight in language support for partial failures, conditional synchronization with futures.
-  * **Session 6: Flikken in TOTAM**+    * {{:teaching:session4.zip|Download material}} 
 +    * {{:teaching:session4_sol.zip|Download solution}} 
 +  * **Session 5: Flikken in TOTAM**
     * Date: Week 28 - 27/03/12     * Date: Week 28 - 27/03/12
     * Concepts: distributed programming with tuple spaces.     * Concepts: distributed programming with tuple spaces.
-  * **Session 7: BeerNet** +    * {{:teaching:session5.zip|Download material}} 
-    * Date: Week 28 - 30/03/12 (to be confirmed)+    * {{:teaching:session5_sol.zip|Download solution}} 
 +  * **Session 6: BeerNet** 
 +    * Date:  <del>Week 28 - 30/03/12 from 11 am to 1pm</del>***POSTPONED***
     * Concepts: Peer-to-peer architectures, distributed hash tables.     * Concepts: Peer-to-peer architectures, distributed hash tables.
-  * **Session 8: goShopping**+  * **Session 7: goShopping with REME-D**
     * Date: Week 31 - 17/04/12     * Date: Week 31 - 17/04/12
-    * Concepts: distributed debugging with REME-D. +    * Concepts: reflective programming, introspection, distributed debugging with REME-D.       
-  * **Session 9: Omnireferences**+    * {{:teaching:session7.zip|Download material}} 
 +    * {{:teaching:session7_sol.zip|Download solution}} 
 +  * **Session 8: Omnireferences**
     * Date: Week 32 - 24/04/12     * Date: Week 32 - 24/04/12
-    * Concepts: Reflective programming in AmbientTalk, group communication abstractions.+    * Concepts: reflective programming, interception, group communication abstractions. 
 +    * {{:teaching:session8.zip|Download material}} 
 +    * {{:teaching:session8_sol.zip|Download solution}} 
 + 
 + 
 + 
 + 
 + 
 + 
  
 ===== Project ===== ===== Project =====
  
-  * The project will be announced on 27/03/12 +  * **Project assignment**: A urban game for collaborative noise mapping  {{:teaching:project.zip|Download assignment}} 
-  * **Project delivery**: 11/06/12 at 08h00.+=== First session === 
 +  * **Project delivery**: 11/06/12 at 16.00. 
 +  * **Project defenses**: 26/06/2012.  
 + 
 +=== Second session === 
 +  * **Choosing Profile**: 30/07/12 (please also let us know if you will need at device from us). 
 +  * **Project delivery**: 20/08/12 at 9.00. 
 +  * **Project defenses**: 24/08/12. 
 + 
  
teaching/dmpp.txt · Last modified: 2014/04/01 13:13 by elisag