This session will look at some of the tools new coming out of Microsoft Research which can be of great interest to professors and students.
PexForFun (http://www.pex4fun.com/) can be used to learn software programming at many levels, from high school all the way through graduate courses. With PexForFun, the student edits the code in any browser – with Intellisense - and we execute it and analyze it for you in the cloud. PexForFun supports C#, VisualBasic and F#. PexForFun finds interesting and unexpected input values that help students understand what their code is actually doing. Under the hood, PexForFun uses dynamic symbolic execution to thoroughly explore feasible execution paths. The real fun starts with Coding Duels where the student has to write code that implements a specification. PexForFun finds any discrepancies between the student’s code and the specification. PexForFun connects teachers, curriculum authors and students in a unique social experience, tracking and streaming progress updates in real time.
F# is a powerful new programming language, largely based on the functional programming paradigm, which runs on .NET or Mono across the Windows, Mac and Linux platforms. It also has a very successful professional implementation in Visual Studio 2010. To provide a gentle introduction to F# and show off its capabilities, Microsoft Research is developing a number of helpful resources. The easiest one to use will not require the user to download any software to their computer, it will just require a browser. This talk will demonstrate the TryF# website, showing and solving sample programming problems which are posed on the website. Finall,y we consider how can we execute tasks in parallel if they read and write the same data? The concurrent revisions programming model allows parallel programs to remain simple, race-free and deterministic, by versioning shared state so that each task can work with an independent snapshot.