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 revision Previous revision
Next revision
Previous revision
teaching:dmpp [2012/02/15 16:45]
jorge
teaching:dmpp [2014/04/01 13:13] (current)
elisag
Line 1: Line 1:
-===== Distributed and Mobile Programming Paradigms - Lab sessions =====+====== 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 ( replacing the [[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 === 
  
-^ **Course lecturer:** | [[http://soft.vub.ac.be/soft/members/wolfgangdemeuter|Wolfgang De Meuter]] | + 
-^ **Assistants:** | [[http://soft.vub.ac.be/soft/members/elisagonzalezboix|Elisa Gonzalez Boix]], [[http://soft.vub.ac.be/soft/members/jorgevallejos|Jorge Vallejos]] |+ 
 + 
 + 
 +===== Organisation  Spring 2014===== 
 + 
 +^ **Course lecturer:** | [[http://soft.vub.ac.be/soft/members/elisagonzalezboix|Elisa Gonzalez Boix]] | 
 +^ **Assistant:** | [[http://soft.vub.ac.be/soft/members/elisagonzalezboix|Elisa Gonzalez Boix]], [[http://soft.vub.ac.be/soft/members/kennedykambona|Kennedy Kambona]]|
 ^ **Room** | 1E.05 (Mac room) | ^ **Room** | 1E.05 (Mac room) |
-^ **Time slot** | 2st Semester, Tuesday, 14:00 - 16:00 | +^ **Time slot** | 2st Semester, Tuesday, 16:00 - 18:00 | 
-^ **Communication** | Via [[http://pointcarre.vub.ac.be/ | PointCarré]] |+^ **Communication** | Via [[http://pointcarre.vub.ac.be/courses/VUB17635 | PointCarré]] |
  
-=== Material ===+===== Material =====
  
   * [[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 2014 =====
  
 Here comes a temporary schedule for the lab sessions. Assignments and solutions will be published before and after each session, respectively. Here comes a temporary schedule for the lab sessions. Assignments and solutions will be published before and after each session, respectively.
  
-  * **Session 1: First steps in AmbientTalk** +   * **Session 1: First steps in AmbientTalk** 
-    * Date: Week 23 - 21/02/12 +    * Date: Week 22,23 - 11,18/02/14 
-    * Concepts: Functional, imperative and object-oriented programming. +    * Concepts: Functional, imperative and object-oriented programming, java symbiosis. 
-  * **Session 2: First steps in AmbientTalk (Cont'd)** +    * {{:teaching:2014:session1-material.zip|Download material}} {{:teaching:2014:2014-session1-solution.zip |Download solution}} 
-    * Date: Week 24 - 28/02/12 +   
-    * Concepts: Functionalimperative and object-oriented programming.+  * **Session 2: First steps in Android** 
 +    * Date: Week 24 - 25/02/14 
 +    * Concepts: Building first appbuilding a dynamic UI, Activities and intents, working with AsyncTasks, managing the Activity lifecycle  
 +    * {{:teaching:2014:2014-session2-material.zip |Download material}} {{:teaching:2014-session2-solution.zip |Download solution}} 
   * **Session 3: Internet Cafe**   * **Session 3: Internet Cafe**
-    * Date: Week 25 - 06/03/12 +    * Date: Week 25 - 04/03/14 
-    * 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:2014:2014-session3-material.zip |Download material}} {{:teaching:2014:2014-session3-solution.zip |Download material}} 
-    * DateWeek 26 13/03/12 +    
-    * Conceptsdistributed programming, language symbiosis with Java and Android+  * **Session 4: Mobile Music Player** 
-  * **Session 5: Mobile Music Player** +    * Date: Week 26 11/03/14 
-    * Date: Week 27 20/03/12 +    * Concepts: distributed programming, insight in language support for partial failures, conditional synchronization with futures. 
-    * Concepts: insight in language support for partial  +    * {{:teaching:2014:2014-session4-material.zip |Download material}} {{:teaching:2014:2014-session4-solution.zip |Download material}} 
-  * **Session 6: Flikken in TOTAM** +  
-    * Date: Week 28 - 27/03/12+  * **Session 5: Flikken in TOTAM** 
 +    * Date: Week 27 - 18/03/14 
     * Concepts: distributed programming with tuple spaces.     * Concepts: distributed programming with tuple spaces.
-  * **Session 7BeerNet** + 
-    * Date: Week 28 - 30/03/12 (to be confirmed) +  * **Session 6weScribble on Android devices** 
-    * Concepts: Peer-to-peer architecturesdistributed hash tables+    * Date: Week 28 - 25/03/14 
-  * **Session 8goShopping** +    * Concepts: distributed object-oriented programminglanguage symbiosis with Java and Android. 
-    * Date: Week 31 03/04/12 +    * {{:teaching:2014:2014-session6-material.zip |Download material}} 
-    * Concepts: distributed debugging with REME-D. + 
-failuresconditional synchronization with futures+  * **Session 7wePong on Android devices** 
-  * **Session 9PolygotChat on iPhone platform** +    * Date: Week 29 23/04/14 
-    * Date: Week 32 - 10/04/12 +    * Concepts: distributed object-oriented programminglanguage symbiosis with Java and Android     
-    * Concepts: Ambient-oriented programming in iSchemea Scheme implementation for the iPhone platform+    
-  * **Session 10: Omnireferences** +  * **Session 8AddressBook in Beernet** 
-    * Date: Week 34 07/05/12 +    * Date: Week 32 - 22/04/14 
-    * Concepts: Reflective programming in AmbientTalk, group communication abstractions.+    * Concepts: p2p networksstructured overlay networks, distributed hash tables. 
 + 
 +  * **Session 9: Omnireferences** 
 +    * Date: Week 33 29/04/14 
 +    * Concepts: reflective programming, interception, group communication abstractions. 
 +    
 + 
 + 
 +=== Web-based programming part === 
 + 
 +  * **Session 10: JavaScript by Example** 
 +    * Date: Week 34 - 6/5/14 
 +    * Concepts: objects, functions, event loops, DOM 
 +  * **Session 11: Web-based Chat application** 
 +    * Date: Week 35,36: 13,20/5/14 
 +    * Concepts: distributed event-based programming, reactive programming 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +===== Project ===== 
 + 
 +  * **Project assignment**: To be published  
 +  * **Project deadline**: 10 June 2014 
 + 
 + 
 +  * Watch some demos of previous projects [[ http://www.youtube.com/watch?v=YOC-SZMw1ro&feature=share&list=PL71615F77073CD26C | here]] 
 + 
 + 
teaching/dmpp.1329320748.txt.gz · Last modified: 2012/02/15 16:46 (external edit)