April 18th, 2018: Microsoft MakeCode: from C++ to TypeScript and Blockly (and Back)

Announcements

We are still looking for 2 more volunteers to help run the club as a couple of the current volunteers are stepping down at the end of this year. If you are interested also please contact Lloyd.

Time and Location

April 18th, 2018 at 7:00 PM
Room 1915 Hopper, Building 99, Map to building 99,
***** Note: THIS IS NOT OUR NORMAL MEETING ROOM *****
Microsoft Campus,
156th Ave NE,
Redmond, WA 98052.

Title

Microsoft MakeCode: from C++ to TypeScript and Blockly (and Back)

Abstract

Across the globe, it is now commonplace for educators to engage in the making (design and development) of embedded systems in the classroom to motivate and excite their students. This new domain brings its own set of unique requirements. Historically, embedded systems development requires knowledge of languages such as C and C++, local installation of compilation toolchains, device drivers and applications. For students and educators, these requirements introduce unnecessary barriers and restrictions.

Over the last two years, Microsoft has invested in a new web-based programming platform for embedded systems in education, called Microsoft MakeCode (www.makecode.com), in partnership with Lancaster University, who created the C++ Component-oriented Device Abstraction Layer (https://github.com/lancaster-university/codal). In this talk, I’ll describe the design principles behind MakeCode and CODAL and our experience with it to date. In particular, I’ll describe how our stack exposes C++ in the browser via TypeScript and Blockly programming APIs, with an in-browser compiler tool chain that produces executable files without the need for a C++ compiler in the core end-user experience. MakeCode is open source at http://github.com/microsoft/pxt

Speaker Bio

Thomas Ball, Principal Researcher, Microsoft Research http://research.microsoft.com/~tball/

Thomas (Tom) Ball is a principal researcher and manager at Microsoft Research. In 1999, He initiated the influential SLAM software model-checking project with Sriram Rajamani, which led to the creation of the Static Driver Verifier tool for finding defects in Windows device drivers. Tom is a 2011 ACM Fellow for ‘contributions to software analysis and defect detection’. As a manager, he has nurtured research areas such as automated theorem proving, program testing/verification and empirical software engineering. His current focus is the Microsoft Makecode platform for programming with physical computers.

A Word From Our Sponsor

Aerotek is one of the largest staffing firms in the US today, and specializes in staffing for contract, contract to direct, and direct hire placements in a variety of industries and skill sets. Our local Technical Recruiting staff specializes in placing entry level to senior manager level individuals in a variety of industries including Aerospace, Medical Device, Industrial, and Consumer products with a focus on embedded engineering skill sets to include Hardware, Firmware, and Embedded Software and Test Engineering professionals from initial concept to final product release. We also staff for placements as Mechanical, Electrical, Manufacturing, Process, Program and Project Management, and Quality Engineering skill sets to work in manufacturing and R&D companies in the greater Seattle area.

Resources

Video | Slides