{"id":171432,"date":"2015-02-04T16:56:12","date_gmt":"2015-02-04T16:56:12","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/project\/code-hunt\/"},"modified":"2020-03-13T16:57:52","modified_gmt":"2020-03-13T23:57:52","slug":"code-hunt","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/code-hunt\/","title":{"rendered":"Code Hunt"},"content":{"rendered":"<p class=\"asset-content\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-193187\" src=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/codehunt-CodeHunt-sm.png\" alt=\"CodeHunt-sm.png\" width=\"235\" height=\"165\" \/>Code Hunt is a serious gaming platform for coding contests and practicing programming skills. It is based on the symbolic white box execution engine, Pex. Code Hunt is unique as an online coding platform in that each puzzle is presented with test cases only, no specification. Players have to first work out the pattern and then code the answer. Code Hunt has been used by over 350,000 players as of August 2016. Data from the recent contests has been open sourced for analysis in the educational community.<\/p>\n<h2><\/h2>\n<p>&nbsp;<\/p>\n<h2><\/h2>\n<h2>Links<\/h2>\n<ul>\n<li><a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/project\/code-hunt-community\/\">Code Hunt Community<\/a><\/li>\n<li style=\"list-style-type: none;\"><\/li>\n<li><a href=\"https:\/\/www.microsoft.com\/en-us\/research\/project\/code-hunt-contests\">Code Hunt Contests<\/a><\/li>\n<li style=\"list-style-type: none;\"><\/li>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/www.codehunt.com\/docs\/designer.html\" target=\"_blank\" rel=\"noopener noreferrer\">Code Hunt Zone Designer Documentation<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<li style=\"list-style-type: none;\"><\/li>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"https:\/\/mix.office.com\/watch\/q4tnp5au9mbo\" target=\"_blank\" rel=\"noopener noreferrer\">Code Hunt on Office Mix<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<li style=\"list-style-type: none;\"><\/li>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/blogs.msdn.com\/b\/msr_er\/archive\/2015\/07\/10\/young-coders-compete-in-2015-beauty-of-programming.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Beauty of Programming 2015<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/blogs.msdn.com\/b\/msr_er\/archive\/2015\/04\/29\/code-hunt-creating-a-community-with-a-game.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">Creating a community with a game<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/blogs.msdn.com\/b\/msr_er\/archive\/2014\/05\/15\/what-if-coding-were-a-game.aspx\" target=\"_blank\" rel=\"noopener noreferrer\">What if coding were a game?<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<li><a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" href=\"http:\/\/blog.acthompson.net\/2015\/02\/creating-code-hunt-puzzles.html\" target=\"_blank\" rel=\"noopener noreferrer\">Creating Code Hunt Puzzles<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/li>\n<\/ul>\n<h2>Main publication to cite<\/h2>\n<p>Judith Bishop, R. Nigel Horspool, Tao Xie, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"http:\/\/www.informatik.uni-trier.de\/~ley\/pers\/hd\/t\/Tillmann:Nikolai.html\">Nikolai Tillmann<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, Jonathan de Halleux: <a href=\"https:\/\/www.microsoft.com\/en-us\/research\/publication\/code-hunt-experience-with-coding-contests-at-scale\/\">Code Hunt: Experience with Coding Contests at Scale<\/a>: in <i>Proceedings of the 37th International Conference on Software Engineering (ICSE \u2013 JSEET Track)<\/i>, pp398-407, ACM, 2015<\/p>\n<p>Mastering a complex skill like programming takes many hours. In order to encourage students to put in these hours, we built Code Hunt, a game that enables players to program against the computer with clues provided as unit tests. The game has become very popular and we are now running worldwide contests where students have a fixed amount of time to solve a set of puzzles. This paper describes Code Hunt and the contest experience it offers. We then show some early results that demonstrate how Code Hunt can accurately discriminate between good and bad coders. The challenges of creating and selecting puzzles for contests are covered. We end up with a short description of our course experience, and some figures that show that Code Hunt is enjoyed by women and men alike.<\/p>\n<h2>About the Hint Mechanism in Code Hunt<\/h2>\n<ul>\n<li><a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/\/codehunt-hint_mechanism_in_code_hunt.pdf\" target=\"_self\" rel=\"noopener noreferrer\">A Short Paper<\/a><\/li>\n<li><a class=\"invalidLink\" href=\"https:\/\/www.microsoft.com\/en-us\/research\/wp-content\/uploads\/2016\/02\/\/codehuntcommunity-perelman-codehuntws.pdf\" target=\"_self\" rel=\"noopener noreferrer\">Slides<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Code Hunt is a serious gaming platform for coding contests and practicing programming skills. It is based on the symbolic white box execution engine, Pex. Code Hunt is unique as an online coding platform in that each puzzle is presented with test cases only, no specification. Players have to first work out the pattern and [&hellip;]<\/p>\n","protected":false},"featured_media":276204,"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-171432","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":"2015-02-04","related-publications":[238253,168606,168608,168677,238254,166407,161097],"related-downloads":[],"related-videos":[191116,277422],"related-groups":[],"related-events":[],"related-opportunities":[],"related-posts":[3771],"related-articles":[],"tab-content":[],"slides":[],"related-researchers":[{"type":"user_nicename","display_name":"Peli de Halleux","user_id":32253,"people_section":"Group 1","alias":"jhalleux"}],"msr_research_lab":[199565],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171432","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":9,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171432\/revisions"}],"predecessor-version":[{"id":604245,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/171432\/revisions\/604245"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/276204"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=171432"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=171432"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=171432"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=171432"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=171432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}