This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
teaching:dmpp [2012/02/15 14:14] jorge created |
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 ===== | ||
+ | |||
+ | This site covers the lab sessions for the **Distributed and Mobile Programming Paradigms** course ( replacing the [[http:// | ||
+ | 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, | ||
+ | |||
+ | 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. | ||
+ | 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:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Organisation | ||
+ | |||
+ | ^ **Course lecturer:** | [[http:// | ||
+ | ^ **Assistant: | ||
+ | ^ **Room** | 1E.05 (Mac room) | | ||
+ | ^ **Time slot** | 2st Semester, Tuesday, 16:00 - 18:00 | | ||
+ | ^ **Communication** | Via [[http:// | ||
+ | |||
+ | ===== Material ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * AmbientTalk [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Schedule 2014 ===== | ||
+ | |||
+ | 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** | ||
+ | * Date: Week 22,23 - 11, | ||
+ | * Concepts: Functional, imperative and object-oriented programming, | ||
+ | * {{: | ||
+ | |||
+ | * **Session 2: First steps in Android** | ||
+ | * Date: Week 24 - 25/02/14 | ||
+ | * Concepts: Building first app, building a dynamic UI, Activities and intents, working with AsyncTasks, managing the Activity lifecycle | ||
+ | * {{: | ||
+ | |||
+ | * **Session 3: Internet Cafe** | ||
+ | * Date: Week 25 - 04/03/14 | ||
+ | * Concepts: concurrent programming with actors, future-typed message passing, | ||
+ | * {{: | ||
+ | |||
+ | * **Session 4: Mobile Music Player** | ||
+ | * Date: Week 26 - 11/03/14 | ||
+ | * Concepts: distributed programming, | ||
+ | * {{: | ||
+ | |||
+ | * **Session 5: Flikken in TOTAM** | ||
+ | * Date: Week 27 - 18/03/14 | ||
+ | * Concepts: distributed programming with tuple spaces. | ||
+ | |||
+ | * **Session 6: weScribble on Android devices** | ||
+ | * Date: Week 28 - 25/03/14 | ||
+ | * Concepts: distributed object-oriented programming, | ||
+ | * {{: | ||
+ | |||
+ | * **Session 7: wePong on Android devices** | ||
+ | * Date: Week 29 - 23/04/14 | ||
+ | * Concepts: distributed object-oriented programming, | ||
+ | |||
+ | * **Session 8: AddressBook in Beernet** | ||
+ | * Date: Week 32 - 22/04/14 | ||
+ | * Concepts: p2p networks, structured overlay networks, distributed hash tables. | ||
+ | |||
+ | * **Session 9: Omnireferences** | ||
+ | * Date: Week 33 - 29/04/14 | ||
+ | * Concepts: reflective programming, | ||
+ | |||
+ | |||
+ | |||
+ | === 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, | ||
+ | * Concepts: distributed event-based programming, | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Project ===== | ||
+ | |||
+ | * **Project assignment**: | ||
+ | * **Project deadline**: 10 June 2014 | ||
+ | |||
+ | |||
+ | * Watch some demos of previous projects [[ http:// | ||
- | This site covers the lab sessions for the Distributed and Mobile Programming Paradigms course. | ||
- | In each session, students implement small applications in the AmbientTalk distributed programming language. | ||
- | 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. | ||
- | They also deploy some of their application on real devices such as Android phones and iPhones. | ||
- | See the official course site at [[http:// |