Microsoft Research Podcast

Microsoft Research Podcast

An ongoing series of conversations bringing you right up to the cutting edge of Microsoft Research.

Code in the Classroom with Dr. Peli de Halleux

February 15, 2018 | By Microsoft blog editor

Dr. Peli de Halleux – Principal RSDE at Microsoft Research. Photo by Maryatt Photography.

Episode 12, February 15th, 2018

If you’ve ever wondered if you could find the perfect combination of computer scientist… and MacGyver, look no further than Dr. Peli de Halleux, Principal Research Software Design Engineer at Microsoft Research. A key member of the MSR RiSE team, Peli is part of the MakeCode initiative that brings physical computing to classrooms around the country and around the world. Today, Peli talks about the Maker Movement in K-12 education, the hard work that goes on behind the scenes to deliver a “seamless” user experience for both kids and teachers, and how to get children excited about coding through hands on experience in early computer science education.

Related:


Transcript

Peli de Halleux: Kids love toys. They hold it in their hand. It’s real, has a purpose. They give it life in their imagination and you can see how physical computing taps on that. Many of our activities—we built something that looks like a toy. Maybe a little pet. Then we use code and we use maybe the lights that we have on the micro-controller to give life to that virtual, that real pet. So, for example if you wiggle it, then your virtual cat starts to meow, right. Or it starts to show a happy face. So it is in a sense, very real for the children.

Host: You’re listening to the Microsoft Research podcast. A show that brings you closer to the cutting edge of technology research and the scientists behind it. I’m your host, Gretchen Huzinga.

Host: If you’ve ever wondered if you could find the perfect combination of computer scientist and MacGyver, look no further than Dr. Peli de Halleux, Principle Research Software Design Engineer at Microsoft Research. A key member of the MSR RiSE, or Research in Software Engineering Group, Peli is part of the MakeCode initiative that brings physical computing to classrooms around the country, and around the world. Today, Peli talks about the Maker Movement in K-12 education, the hard work that goes on behind the scenes to deliver a seamless user experience for both kids and teachers, and how to get children excited about coding through hands-on experience in early computer science education. That and much more on this episode of the Microsoft Research Podcast.

Host: So, you and I share a difficult to pronounce last name.

Peli de Halleux: Oh yeah.

Host: How do you say your name?

Peli de Halleux: My last name is de Halleux.

Host: De Halleux.

Peli de Halleux: De Halleux. Yeah that nasal sound. Pretty hard.

Host: I like it.

Peli de Halleux: I receive every possible pronunciation.

Host: Yeah, and spelling I bet. Listen, several of the researchers we’ve had on this podcast have talked about an a-ha moment in their own lives or they said hey, that’s what I want to do with the rest of my life. Did you have one and if you did what was it?

Peli de Halleux: Well, I’m from the, you know, the 8-bit computer generation, so I had a Commodore computer and played a lot of games on it. I had to type them. So, my first programming experience was just writing a loop there. I think it was saying something like Poop in the Loop. But surprisingly…

Host: Now there’s an emoji…

Peli de Halleux: Surprisingly in high school I learned Word Perfect and I learned how to, like automate, you know, like this whole, you could put names in things and print 500 times on the same page and I really liked the fact that it made stuff; though as programming is really a Word document and I really dig that. But I really got seriously into coding in college. Before that it was mostly small-time hacking of games, yeah.

Host: And so, from there to Microsoft Research, what was your path?

Peli de Halleux: I did a PhD in applied math in a previous life, and then I got in contact with people in Microsoft and I got a job as a tester in the .Net runtime. I was 2 years – I tested for the just-in-time compiler. So that’s the thing that takes .Net byte code and turns to assembly. And then, you know, from meeting other people, I got sucked in into working on a testing tool called Pex in RiSE. Pex was a White Box Test Generation tool that uses something really cool called dynamic symbolic execution and it is still available for Visual Studio. And then finally, my colleagues said ah, you know, it’s hard to demo these things, let’s, let’s put a web frontend to it. My colleague, Nikolai Tillmann is the one who started the project. So, we did that and then collaborator Tao Xie, said, “Oh, you should make it a game.” Like people have to figure out the code, they don’t have to test it. So, we did that too. And then surprisingly people liked the game. They played the game a lot.

Host: Yeah.

Peli de Halleux: Some people like puzzles. This is the ultimate puzzle. You have to reverse-engineer a programming function that might be very complicated. And that’s how I think from one step to the other we ended up in education.

Host: So, you’re in RiSE – Research in Software Engineering – at Microsoft Research. What kind of research do you do?

Peli de Halleux: Currently, I’m working on building code editors for beginners, for kids around physical computing. So, around teaching computer science, around building things and programming physical stuff. But RiSE does a lot of things. I’m just one aspect of the, of the group.

Host: Much of your recent work is in what you call the Maker space.

Peli de Halleux: The Maker space, yes.

Host: What do you mean by that?

Peli de Halleux: It’s kind of a buzzword right now. The Maker Movement, you know, it is a movement and there’s things called Maker Fare and Make Magazine. You know, it’s allowing people to build things. You can build it, and kind of celebrating making things and using any kind of technology, whether it’s old things like forgery or cutting wood or mixing new technologies, mixing 3-D printing and art and painting. I think the Maker Movement doesn’t really care about how you build things. There is certainly a trend where because micro-controllers are easier to program, there’s more of these kind of technology that is being accessible to non-professional developers, right? And that’s one of the aspect of the Maker Movement.

Host: So, how is Microsoft Research involved in that movement?

Peli de Halleux: They physical computing kind of taps straight into the Maker Movement. We enable it. We enable it because we lower the barrier of entry in terms of programming, making things that leverage micro-controllers and coding. So, you don’t need to learn an advanced language like C++. You can use, you know, drag and drop programming just like you do in, you know, in the Hour of Code, for example.

Host: Well, talk about physical computing for a minute. What do you know about it? What do you do with it? How do you…?

Peli de Halleux: Right, it’s a mouthful, physical computing. What is it? We use small micro-controllers so little computers, think about the size of a watch, that you can program and we allow the kids to use code to build things. So, these little computers have sensors. They can detect maybe movements or lights or sound. And they have outputs or they have like lights or they can do sound or they can start activating motors. But you build actually physical things because it’s a real tangible, something you can touch. So that’s why it’s called physical computing.

Host: Okay, so you told me it was important for kids to interact with a physical object in addition to or before they code it to animate it or give it life.

Peli de Halleux: Right. So that, that’s the master plan. Um, kids love toys. They hold it in their hand. It’s real, it has a purpose. They give it life in their imagination and you can see how physical computing taps on that. Many of our activities, we build something that looks like a toy. Maybe a little pet uh, out of cardboard. Then we use , and we use maybe the lights that we have on the micro-controller to give life to that virtual, that real pet. So for example, if you, if you wiggle it, then your virtual cat starts to meow, right or it starts to show a happy face. So, it is in a sense very real for the children.

Host: That’s awesome. So, on your shelves in your lab, I saw electric guitars, I saw light-sensitive robots, monsters, even. I saw soil-sensors. These are all things that happened in a classroom. Talk about your experiences that are happening with physical computing in the classroom.

Peli de Halleux: So, what we’re seeing with physical computing is that it’s easy to um, build projects that are meaningful for students. They are real projects. The range of projects you can address by building physical things is very large because it is reality. You know, the example I like to mention is for example medical devices, where students want to help their grandparents you know, detect when they fall, is a classic one. Uh, that’s the kind of stuff that you can build with micro-controllers. The kids who like sports, you can do sports-oriented things, the kids like fashion you can do lights. There’s a wide range of interests that we know kids have that we can address. The other thing that’s really interesting with physical computing is the infinite level of customization can apply to them, and it’s very important for students to own what they’re building, to feel like that’s theirs. If you’re following too many instructions, you know, you have the same thing as your neighbor on the left and the right, doesn’t feel like you’ve, you’ve learned to build anything.

Host: That it’s yours, yeah.

Peli de Halleux: If you build a cardboard robot and you decide it’s a dragon and your neighbor it’s a cat and the other one it’s a pizza you’ve kind of got your interest. You’re in full learning mode.

Host: Yeah.

Peli de Halleux: When it gets to the, when it gets to the coding part.

Host: So, what I’m hearing is this domain led – which is a more technical way of saying, making it your own – but you, you find the interest level of the maker, the kid, the developer, whatever, and then you bring in the computing and the coding and so on.

Peli de Halleux: We make it so that the computing is friction-free. So, it’s not a pain to be brought in, and in a sense it’s seamless, and you want to bring it in. If any time you’re going to add friction to something, people are going to say it’s, you know, it’s too complicated. I won’t do it next time, and so forth. Giving life to these micro-controllers and these robots has to be so seamless that any teacher is going to say, “I’m going to take a chance and you know, and do it although I’m not an expert here.”

Host: So, talk about the technology that goes on behind that so that it comes into the situation seamlessly.

Peli de Halleux: So, at the hardware level, we have these new boards that are full of sensors so that’s the hardware part. At the software side, we need software that is adapted to today’,s you know, 21st century classroom. So, we have browser-based code editors. These are completely cross-platform. They will work in diverse environments. Schools may have deployments of Windows machines and maybe some iPads and Chromebooks and whatever came in the middle. So, it’s very diverse. So, we do all cross-platform. We work offline in case your Wifi is really not good. And also, we have developed bootloaders and new file system to be able to flash a device via drag and drop. And that starts the reflashing process. So, these boards only run one program. They run the latest program, you flash it up. And this kind of unlocks the K-12 world.

Host: That leads into a really good question about physical computing for everyone…

Peli de Halleux: Yeah, it’s been going on for a while at Microsoft Research. The first project I know of was Gadgeteer, by Steve Hodges, and they had a, you know, a module system and they had the coding experience in C# and Visual Studio. And then we got the opportunity to work with the BBC to help deliver the micro:bit. And we tweaked, TouchDevelop to support the micro:bit but we also built an editor based on Blockly. So, the typical drag and drop blocks you would use, when you’re using um, the Hour of Code, Scratch, they feel the same way. So, there’s been quite a bit of activities in MSR around physical computing for a good while.

[Music plays]

Host: What are you guys doing here in terms of broad thinking on inspiring creativity in computer science?

Peli de Halleux: With physical computing and most of our resource is in MakeCode, we first make something. And we make something because that thing is going to be in a sense custom for every kid. When we do a virtual toy or a pet or an instrument, there is a high level of customization. Duct tape, pencils, whatever they have in their hands.

Host: MacGyvering it…

Peli de Halleux: Right. I mean kids are really good at crafting. They love that. That means they own the device. The device has a life on its own on their eyes. It has a personality. And then it’s much more meaningful for them to start working on programming it. So that’s, in a sense, what you get for free when you’re building physical things is that there’s this whole crafting thing that people typically love to do.

Host: Back to the maker.

Peli de Halleux: Back to the maker, yes.

Host: Yeah, that does seem like a good approach, is to get kids making things and then seeing how—what the possibilities are with computer science.

Peli de Halleux: So, in the making, what’s interesting is you know we call it physical computing, and certainly coding is a big aspect of that. But what you quickly discover is that in the making kind of ecosystem, there’s you know some kids are really interested in coding. Uh, some of them are really designers. They, they love to design the hardware. They’re not so much interested about the rest. They like to design the experience, but they don’t really like to implement it. Or they like that it looks good. Like the colors are going to be very important. And you know it may show them that there’s a space for them as a designer and as a graphic artist in the technology stack. Where it’s not just code monkeys. It’s not just developers. We need designers. We need you know, great graphic artists. You know, UX, you know, user experience designers and things like that. And building real things and you build them in a team as well. Working as a team is inherent when you need four hands to do something, you’re going to work as a team.

Host: Right. You know, that reminds me uh, that we discussed the wide range of interests and occupations where you could find a place in high tech. And you mentioned sports, medicine, fashion, games, toys, hardware… All in the context of software engineering? So, talk about where you could bring in these others interests and still find a place in high tech.

Peli de Halleux: Let’s say I want to pique the interest of some students, and I know they’re high into sports. Then, I’ll make a lesson around using an accelerator meter sensor to detect let’s say how many steps they’ve done or you know, how many Gs they took when they took this sack in football, or you know, how many times you can juggle with the ball before the ball falls, for example. But you tap into their passion. Passion of sports. If, if you’re a natural-born medic, you know, you love to help people uh, and we see that in many students when we do a test, you probably want to build a medical device. And a medical device that we had a girl who tracked the water intake per day because some people forget to drink so they need to be reminded to drink a few times a day. But that was directly, like our instinct was to, to build a, a device that would help uh, other people. Some kids love games so they’re going to build games. There’s always those ones. And then uh, some students… music, you know, sounds was great, so. You know, because technology is going into every aspect of life today we can use that to really excite kids about it by just tapping into their interest.

[Music plays]

Host: Talk a little bit about the beginnings of TouchDevelop. How did that come about as an idea?

Peli de Halleux: Uh, Nikolai Tillmann, which was also in the RiSE group, you know, he got a phone like everybody else when the iPhone came out, and after 2 weeks he rushed into the manager’s office because he had downloaded all the apps and he was bored, and said we need to be able to program this thing. And we were all a generation that learned to code on Commodores and 8-bit computers and like we need to bring back the joy of programming of 8-bit computers to phones. And I think everybody turned their head and said like, “Oh yeah that’s a great idea! We should totally be able to do that!” since the hardware specs are much better than what we had back in those days. In our case, with TouchDevelop, we were like we want to be able to code on a phone for example. And the experience has to be good even if you’re just holding it with one hand and using one finger. So, the better experience was writing texts the way you’ve been writing texts on something that’s designed to have a keyboard with 102 keys is not going to, to work when you don’t have keys, and you just have a touch screen. So, you’re not really leveraging the new specificities of the you know, modern phone hardware.

Host: So that, that just actually sounds exciting.

Peli de Halleux: It was it was an exciting time.

Host: Well, so talk about how TouchDevelop played out then, after the idea came. It got pitched here in Microsoft Research. And everyone said, “Hey, great idea, let’s go.” What happened?

Peli de Halleux: So, uh, we grew and then we used it to develop new ideas around distributed computing. Maybe interfaces on the code. We, you know, we do publish these results uh, as we go. We were uh, an early you know, adopter doing the Hour of Code. The Hour of Code when it came out.

Host: With code.org?

Peli de Halleux: Uh, with code.org. So, we explored how far you could go with a phone-only experience. Then we expanded to all computers. So, there were interesting questions like programming on multiple devices at the same time. So, handling, you know, what happens when you’re programming on these devices that are on and off in the school setting. How do you handle multiple screen size and a unified coding experience around that? Ultimately, TouchDevelop got us into the physical computing, so we had done some experiment with Lego NXT. But then we uh, started working on the BBC micro:bit.

Host: Talk a little bit about the micro:bit for a second. Because that device is packed….

Peli de Halleux: Right, the micro:bit was piloted by the BBC. They have a research department too. And they went through 4 or 5 prototypes I think. So, they prototype hardware, discovered that the screen was very important and buttons were cool and things like that. So, they did user-research. What’s the best age to kind of introduce this kind of tech and things like that. And then uh, when they wanted to go big, because the plan was to give a micro:bit to every student in the UK. Every Year-7 student, so every 11-year-old. So, at that point they did a call for partners. Uh, and anybody who wanted to help could, could join the, join the party.

[Music plays]

Host: Talk to me about Make Code a little more. That’s the big that’s happening right now in the school setting. How did that evolve out of other things that you were doing in research and what’s it doing now?

Peli de Halleux: MakeCode is a direct evolution of TouchDevelop and TouchDevelop for micro:bit. We did a full rewrite. Uh, and then we started working with Developer Division here, which is the same division that does Visual Studio. We got a team of engineers and started making it a real product. We are all open-source on GitHub. And we started working with companies to help them bring their micro-controllers to uh, to the market. So, we’re working with the foundation of course.

Host: The micro:bit Foundation?

Peli de Halleux: Yes. But we also work with Adafruit and others.

Host: And so, what do you do with the schools now with MakeCode?

Peli de Halleux: So, a school today, uh, with MakeCode, can do Minecraft programming. So, they can do the Adafruit Circuit Playground. They can do the Chibitronics Chibi Chip, they can also do the Seeed, the Grove Zero Board, and there’s a few others in the pipeline but uh, that’s, those are the ones that are current.

Host: Are you, is your group typically present or is this like, “log-on and go” to the teachers?

Peli de Halleux: Yeah mostly it’s log on and go. We do some user testing where we you know, follow a class for a week. So, we have regular user testing around that. Otherwise it is used worldwide. We see the tweets coming back from the teachers when, uh, they, uh, publish their micro pets. You know, micro pets is our first lesson on the micro:bit course.

Host: Yeah.

Peli de Halleux: And typically, teachers are real impressed by what the kids come up. So, we see some pictures uh, popping up on Twitter.

Host: Your audience has been professional developers, and that you’ve now moved into the end-users who are not programmers and beginning programmers often in school situations, it seems like there’s a push to evangelize the programming world?

Peli de Halleux: This shift happened really when we started doing TouchDevelop. So, traditionally Microsoft would sell Visual Studio – they have Visual Studio Code which are pro-grade IDEs. So even if you understand what IDE means, you’re a pro. Uh, so they are professional code editors. And they are for an audience of professional developers or at least people who are serious about coding. When we started doing TouchDevelop, we basically ended up being an app. And apps are downloaded by regular consumers who may have zero experience around coding. So, obviously you know, children have phones. So, they would be our – at least teens have a phone. We like an interesting audience to, to appeal to. So that’s really how, by saying we’re going to program on the phone, we’re also saying you know, we’re going to actually address a new audience. An audience that doesn’t—has never coded – because an audience already codes let’s say on a keyboard, typically, you’re going to see that and say this doesn’t make sense… Now if you come to the ones who have never known anything else than a phone, it’s very natural, you know? What is this thing with a keyboard?

Host: How much handholding has to happen in these new environments where you, if someone downloads an app, it’s like well, I would say how, “How do I use that?”

Peli de Halleux: Yeah so, we um, content is key. There’s a lot of content. There’s a lot of work around intelligent tutorials. And I think we don’t know precisely you know, what’s the best, and probably there’s no students that are the same, so, things are going to work sometimes or not. We do also a lot of work to please the teachers. We do work to uh, provide curriculum that our standards align, that teachers can use to deliver the class. Those are very important.

Host: So that comes out of your group as well?

Peli de Halleux: We work with educators to design material that a teacher that would like to read, which is not what you want to read. They have their own you know, lingo.

Host: Language.

Peli de Halleux: So, we, we build materials for teachers. So that a teacher can adopt this and say okay, I will reach all the standards I have to teach. And I can do that and this is exactly what I’m looking for. And then we also build material for the random user that’s going to use the app, the random kids… so small projects. Maybe some guided tutorials where we tell them precisely how to drag the blocks here and there. Our latest editors have a kind of like a gallery setting where you would go shopping for—if you go to our Minecraft editor for example you’ll see we have I think 40 projects that are completely crazy and they have like shiny screenshots. And then oh, I want to do a Bat Cave. Okay, I’ll, learn about the Bat Cave. Or I want to do like, Super Digger. So, we tease the interests of the children by doing some really cool mods. Typically, very small. At least to get started. So, we seed the environment with a lot of people will learn just by looking an example then remixing it.

Host: Right.

Peli de Halleux: So, we seed the environment with that. We also have tutorials that are guided where it’s a very precise route. These are usually the first ones to teach you how the editor works, like how you drag things and which button to press when you’re ready. In TouchDevelop we have something super advanced around that. This is still a very, very active area of research that can grow.

Host: Yeah, so there’s all kinds of places to go from here.

Peli de Halleux: It’s a very interesting space that has massive potential. How can you maximize, let’s say people want to learn something online, how do you build a system that really maximizes the learning for all the users? If you want to be successful. If you want to truly have a platform that helps people learn.

Host: Yeah.

Peli de Halleux: Otherwise, you, you know. You will drop your students.

Host: Yeah.

Peli de Halleux: They will not come back because they feel like they’re losing their time. You’re fighting against all the distractions that are available on the internet. So, it’s a tall order to keep your, your audience interested.

Host: Well that’s the world your research is living in right now is the distraction world.

Peli de Halleux: Yeah. You have to be interesting. Otherwise uh, they will just go to the other tab and, and go back to their you know, best, favorite activities of the day.

Host: Well it seems like what you’re doing is really interesting.

Peli de Halleux: Very true. We’re very interesting, and have people learn and you know, maybe change some lives along the way, yeah.

Host: Changing lives is good.

[Music plays]

Host: To learn more about Dr. Peli de Halleux’s work with Make Code and other innovative things Microsoft Research is bringing to your kid’s classroom, visit Microsoft.com/research.

[End of recording]

Up Next

Programming languages and software engineering

Functional Programming Languages and the Pursuit of Laziness with Dr. Simon Peyton Jones

Episode 7, January 10, 2018 - When we look at a skyscraper or a suspension bridge, a simple search engine box on a screen looks tiny by comparison. But Dr. Simon Peyton Jones would like to remind us that computer programs, with hundreds of millions of lines of code, are actually among the largest structures human beings have ever built. A principle researcher at the Microsoft Research Lab in Cambridge, England, co-developer of the programming language Haskell, and a Fellow of Britain’s Royal Society, Simon Peyton Jones has dedicated his life to this very particular kind of construction work. Today, Dr. Peyton Jones shares his passion for functional programming research, reveals how a desire to help other researchers write and present better turned him into an unlikely YouTube star, and explains why, at least in the world of programming languages, purity is embarrassing, laziness is cool, and success should be avoided at all costs.

Microsoft blog editor

Jonathan Protzenko standing outside

Programming languages and software engineering

Scaling the Everest of software security with Dr. Jonathan Protzenko

Episode 58, January 9, 2019 - Dr. Protzenko talks about what’s wrong with software (and why it’s vitally important to get it right), explains why there are so many programming languages (and tells us about a few he’s been working on), and finally, acts as our digital Sherpa for Project Everest, an assault on software integrity and confidentiality that aims to build and deploy a verified HTTPS stack.

Microsoft blog editor

Programming languages and software engineering

How Programming Languages Quietly Run the World with Dr. Ben Zorn

Episode 6, January 3, 2018 - In an era of AI breakthroughs and other exciting advances in computer science, Dr. Ben Zorn would like to remind us that behind every great technical revolution is… a programming language. As a Principal Researcher and the Co-director of RiSE – or Research in Software Engineering – group at Microsoft Research, Dr. Zorn has dedicated his life to making sure the software that now touches nearly everything in our lives is easy, accurate, reliable and secure. Today, Dr. Zorn tells us some great stories about bugs and whales, warns us against the dumb side of “smart” objects, shares about his group’s attempt to scale the Everest of software security, and makes a great case that the most important programming language in the world today is… the spreadsheet.

Microsoft blog editor