Download Research Tools
Well, now it is. Today, we are pleased to announce the launch of Code Hunt, a browser-based game for anyone who is interested in coding. We built Code Hunt to take advantage of the fact that any task can be more effective and sustainable when it’s fun. And Code Hunt is fun! It uses puzzles, which players explore by means of clues presented as test cases. Players iteratively modify their code to match the functional behavior of secret solutions. Once their code matches, lights flash and sounds play, letting players know that they have “captured” the code. Players then get a score, which depends on how elegant their solution is, and are encouraged to move on to the next puzzle or level.
When we demoed Code Hunt a few months ago, we were amazed at the interest it elicited across groups at Microsoft, from those involved with K-12 education to those focused on college recruiting. However, today we want to talk about how Microsoft Research Asia used Code Hunt during their annual Beauty of Programming (BOP) event, a competition that attracts thousands of students in the Greater China Region (GCR).
In the past, the BOP competition gave students specifications for problems and then checked their solutions automatically using a test suite. This is the traditional approach: students pit their wits against each other—and against the clock—to create a solution to a defined problem. While this kind of coding is similar to what they will encounter in courses or later in their careers, it isn’t necessarily fun.
Code Hunt is different. Instead of giving students a problem and comparing their solutions to a set of fixed test cases, Code Hunt does the opposite: it presents an empty slate to the user and a set of constantly changing test cases. It thus teaches coding as a by-product of solving a problem that is presented as pattern matching inputs and outputs. The fun is in finding the pattern. Fun is seen as a vital ingredient in accelerating learning and retaining interest during what might be a long and sometimes boring journey towards obtaining a necessary skill—or in this case, winning a competition. The GCR team recognized that Code Hunt would not only make the BOP competition more fun, but it would also enable them to check the solutions more quickly and accurately.
With considerable optimism, we opened Code Hunt to BOP competitors in April. In three rounds, 2,353 students scored in the game, and the contestants solved an average of 55.7% of the puzzles. Since Code Hunt runs on Microsoft Azure, we have all the statistics. We could see that, on average, it took players 41 tries to capture the code for puzzles. However, we were really interested in the 350 top students who solved all of the puzzles—even the most difficult ones. These students needed only 7.6 tries on average to solve a puzzle, showing that Code Hunt can reliably surface the better coders. From these students, 13 were selected to proceed to the finals, and we wish them luck.
Code Hunt was developed by a team in Microsoft Research led by Principal Development Lead Nikolai Tillmann and Principal Research Software Engineer Peli de Halleux. It is based on Pex, Microsoft Research’s state-of-the-art implementation of dynamic symbolic execution (analyzing a program to determine what inputs cause each part of a program to execute), which is available as a Power Tool in Microsoft Visual Studio.
We look forward to Code Hunt’s further application and would be happy to receive inquiries regarding competitions or courses. But remember, anyone can play Code Hunt—for fun or to hone their coding skills. Just go to www.codehunt.com and start coding!
—Judith Bishop, Director of Computer Science, Microsoft Research, and Guobin Wu, Research Program Manager, Microsoft Research Asia
Once again, you’ve voted with your clicks and we’ve tallied the results. So…drumroll, please…here are the top 10 Microsoft Research Connections blogs of 2012.
Number 10: Try Try F#Who can resist such a redundantly titled post—especially when it offers information on how to get a browser-based tool for learning and exploring the power of F# 3.0? If you missed this one, we encourage you to “try try” it now.
Number 9: Data Visualization Reaches New Heights with LayerscapeTake a page from Jules Verne and journey to the center of the Earth with Layerscape, a free set of tools that gives researchers new ways of looking at lots and lots of data, both above and below the Earth’s surface. The author of this blog, Rob Fatland, was very excited about Layerscape. Apparently, our readers thought it was pretty cool, too.
Number 8: Innovation in Software Research Recognized in 2012 SEIF AwardsThe Academy Awards put on a great show, but they’ve got nothing on the SEIF Awards in terms of impact. Just ask the many followers who avidly read about the SEIF 2012 winners and their groundbreaking applications of software engineering to mobile and cloud computing.
Number 7: New Research Grants Aim at Combating Human TraffickingOne of the greatest tragedies today is the burgeoning trade in human beings: human trafficking is now the fastest growing criminal industry in the world. Small wonder, then, that our readers were eager to learn about research into combatting this form of modern-day slavery.
Number 6: Addressing the Need for More Women in Computer Science ProgramsLast year, women accounted for only 14 percent of computer science college graduates in the United States. This popular post explored the incongruous fact that half the nation’s population is so badly under-represented in computer science studies, especially in light of the bountiful job opportunities in computing.
Number 5: No Language Left BehindCan you appreciate the debilitating effects of being linguistically cast adrift from the Internet? You will, after you join the readers who perused this blog post and learned how the Microsoft Translator Hub helps preserve lesser known ancestral languages and makes it easier for linguistically isolated people to communicate with the rest of the world.
Number 4: Inspiring Computer Science Students in Our BackyardIt gets discouraging to read about the dismal numbers of students who pursue studies in science, technology, engineering, and math (STEM). This post gave readers a refreshing tonic to those gloomy statistics, as it profiles three programs that are taking action to get students excited about career opportunities in these fields.
Number 3: From Smartphone to Smart Home: Automating the Modern HomeThe computer-controlled home is a reality—but until recently, only for the tech-savvy or wealthy. Here’s a blog post for the rest of us, explaining how Microsoft Research’s HomeOS is advancing the development of smartphone apps that put the smart home in reach of the general public.
Number 2: Presenting the History of EverythingYes, it sounds like the title of a Mel Brooks movie, but this incredibly popular blog post offers provocative ideas instead of laughs. What if we had a tool that brought together all the disparate collections of historical information, cutting across temporal, geographic, and discipline boundaries? ChronoZoom promises to do just that. Skeptical? Then read about—and try—it for yourself.
Number 1: TouchDevelop in Your BrowserSo, what tops the wish list for our readers? It's TouchDevelop, a browser-based development environment that not only lets you create apps directly on your smartphone, but now also on your tablet. We were pretty sure that Santa’s elves weren’t working on this, so we were delighted to learn that Microsoft Research’s TouchDevelop Web App fills the bill.
And there you have it, the 10 most widely read Microsoft Research Connections blogs of 2012. We hope you’ll be back to read 2013’s posts, which we hope will be equally, if not more, inspiring! Happy New Year from your friends at Microsoft Research Connections!
—Lisa Clawson, Senior Manager, Microsoft Research Connections
Interest in the Kinect for Windows Software Development Kit (SDK) beta, released on June 16, 2011, has been strong, and we’re delighted to learn that so many developers and innovators who are experimenting with natural user interface (NUI) applications have taken advantage of the SDK to explore the potential of the Kinect sensor.
In support of our commitment to encourage researchers and enthusiasts in their exploration of the exciting possibilities of the Kinect sensor, we have now released a refreshed version of the SDK. The community has provided us with a lot of good feedback, and this release addresses some of the top items you’ve told us about.
Before summarizing the updates, let’s quickly recap the key features of the Kinect for Windows SDK beta. This non-commercial SDK beta enables human motion tracking, voice recognition, and depth sensing on PCs, enabling developers to create innovative natural user interface applications. The SDK includes drivers and rich APIs for raw sensor streams and natural user interfaces, as well as installation documents and resource materials.
So, what’s in the refresh?
The refresh also includes many improvements to the documentation, including clarifications and the deletion of information pertaining to non-functional components. Also, the SDK samples have been enhanced.
If you’re an academic researcher or an enthusiast who wants to take advantage of the latest developments in natural user interface experimentation, we encourage you to learn more about and download the Kinect for Windows SDK beta refresh. We plan on releasing the next refresh of the Kinect for Windows SDK beta later this year (still with a non-commercial license).
Let us know what you think—as this refresh demonstrates, we’re committed to using your feedback to make the best possible SDK!
—Tony Hey, Corporate Vice President, Microsoft Research Connections