Taller TouchDevelop - Create rich mobile cloud apps on your device

Michal Moskal and Judith Bishop, Microsoft Research, USA.
6 Mayo, 2014 - 10:15
Auditorio DCC, tercer piso.
Profesor Sergio Ochoa, académico DCC.


We are experiencing a technology shift: Powerful and easy-to-use mobile devices like smartphones and tablets are becoming more prevalent than traditional PCs and laptops. Mobile devices are going to be the first and possibly the only computing devices which virtually all people will own and carry with them at all times. In this workshop, participants will learn about developing software directly on their mobile devices. The tutorial is based on TouchDevelop, a modern software development environment that embraces this new reality, instead of relying on legacy development models built around PC. TouchDevelop comes with typed, structured programming language that is built around the idea of only using a touchscreen as the input device to author code. Access to the cloud, flexible user interfaces, and access to sensors such as accelerometer and GPS are easily available. TouchDevelop is available as a web app on Windows tablets, iOS, Android, Windows PCs and Macs, and as a native app on Windows Phone.


The work session will cover the following topics

- The idea of programming on a mobile device itself.

- The novel TouchDevelop language.

- An overview over the TouchDevelop environment: the program management, the code editor, The runtime environment, the debugger, the unit testing framework.

- An interactive exercise together with the tutorial participants, developing a series of applications in TouchDevelop, including: games with graphics and sounds, and also a cloud-based chat application for multiple users.

- Opportunities and challenges of teaching and learning in the context of our proposed programming environment and language for mobile devices.


Micha? Moskal works at Microsoft Research in Redmond on software verification, automated theorem proving, and programming languages. While working on his PhD degree at the University of Wroc?aw in Poland he developed Nemerle (a high-level programming language for the .NET platform) and Fx7 (a satisfiability modulo theories (SMT) solver). In 2008 he joined European Microsoft Innovation Center in Aachen, Germany and was instrumental to development of VCC—a state of the art SMT-based verifier for concurrent C programs applied to tens of thousands of lines of industrial C code. Micha? continued work on VCC after his 2009 move to Microsoft Research Redmond. In late 2010, Nikolai Tillmann and Micha? have started TouchDevelop—an effort to create an integrated development environment for writing programs directly on touch-enabled mobile devices (particularly phones and tablets).



Judith Bishop is Director of Computer Science at Microsoft Research, based in Redmond, USA. Her role is to create strong links between Microsoft’s research groups and universities globally, through encouraging projects, supporting conferences and engaging directly in research. Her expertise is in programming languages and distributed systems, with a strong practical bias and an interest in compilers and design patterns. She initiated the Software Innovation Foundation (SEIF) which supports researchers worldwide in engaging with Microsoft Research. She led a team that pioneered a new way of running programs in browsers (especially TryF#). Her main work now is in mobile and touch programming, with TouchDevelop. Judith received her PhD from the University of Southampton and has a distinguished background in academia, having been a professor at the Universities of Witwatersrand and Pretoria, with visiting positions in the UK, Germany, Canada, Italy and the USA. She has over 100 publications including 15 books on programming languages that are available in six languages and read worldwide. She is currently an Honorary Professor at the University of Cape Town. Judith serves frequently on international editorial, program and award committees, and has received numerous awards and distinctions. She serves the community through the ACM and IFIP and is a member of IFIP WG.4.



Comunicaciones DCC