{"id":427296,"date":"2017-09-23T21:55:47","date_gmt":"2017-09-24T04:55:47","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-project&#038;p=427296"},"modified":"2023-11-28T10:02:33","modified_gmt":"2023-11-28T18:02:33","slug":"microsoft-makecode","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/microsoft-makecode\/","title":{"rendered":"Microsoft MakeCode"},"content":{"rendered":"<p><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/makecode.com\">Microsoft MakeCode <span class=\"sr-only\"> (opens in new tab)<\/span><\/a>is a joint project between Microsoft Research and Visual Studio to bring computer science to life for all students with fun projects, immediate results, and both block and text editors for learners at different levels.<\/p>\n<ul>\n<li>For information about the devices that MakeCode supports, see <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/makecode.com\/blog\">http:\/\/makecode.com\/blog<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>.<\/li>\n<li>We work closely with academia to support research using MakeCode. You can see more about projects using MakeCode at <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/makecode.com\/labs\">http:\/\/makecode.com\/labs<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>.<\/li>\n<li>The MakeCode framework is an open source project, and is available at <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/github.com\/microsoft\/pxt\">http:\/\/github.com\/microsoft\/pxt<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>.<\/li>\n<li>Review the MakeCode documentation at <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/makecode.com\/doc\">http:\/\/makecode.com\/docs<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>.<\/li>\n<\/ul>\n<p>Some other cool things about MakeCode:<\/p>\n<ul>\n<li>MakeCode uses <strong>annotations<\/strong> on <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/typescriptlang.org\">TypeScript<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> to define <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/developers.google.com\/blockly\/\">Blockly<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> blocks. You can experience this at <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/makecode.com\/playground\">https:\/\/makecode.com\/playground<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<li>MakeCode uses identical <strong>annotations<\/strong> on C++ to bridge to TypeScript and Blocky. A good place to see this in action is at <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/github.com\/microsoft\/pxt-common-packages\">http:\/\/github.com\/microsoft\/pxt-common-packages<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, which defines a large set of MakeCode device abstractions in C++.\u00a0 This set of abstractions is used across a wide set of MakeCode devices to provide a common programming experience.\u00a0 For an example, see: <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/makecode.adafruit.com\/\">http:\/\/makecode.adafruit.com\/<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, which is backed by <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/github.com\/microsoft\/pxt-adafruit\">http:\/\/github.com\/microsoft\/pxt-adafruit<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<li>MakeCode <strong>packages<\/strong> can be defined directly via your web browser. See\u00a0<a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/makecode.com\/packages\/getting-started\">https:\/\/makecode.com\/packages\/getting-started<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<\/ul>\n<p>If you are interested in learning more about MakeCode, please contact <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/people\/tball\/\">Tom Ball<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft MakeCode is a joint project between Microsoft Research and Visual Studio to make it simple to program microcontroller-based devices using a modern web app.<\/p>\n","protected":false},"featured_media":707485,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13560],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-427296","msr-project","type-msr-project","status-publish","has-post-thumbnail","hentry","msr-research-area-programming-languages-software-engineering","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"","related-publications":[570141,498287,498272,238011,606792,611871,642384,644103,652632,684834,756349],"related-downloads":[],"related-videos":[264525,590323],"related-groups":[144812,144767,379814],"related-events":[],"related-opportunities":[],"related-posts":[432156,465990,496727],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Peli de Halleux","user_id":32253,"people_section":"Section name 1","alias":"jhalleux"},{"type":"guest","display_name":"Steve Hodges","user_id":987564,"people_section":"Section name 1","alias":""},{"type":"guest","display_name":"James Devine","user_id":581197,"people_section":"Section name 1","alias":""}],"msr_research_lab":[199561],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/427296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":24,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/427296\/revisions"}],"predecessor-version":[{"id":987576,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/427296\/revisions\/987576"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/707485"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=427296"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=427296"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=427296"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=427296"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=427296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}