 an IOT empire. Does anybody know what IOT is? What does it stand for? Internet of things. So now you all know what it is, yeah? Oh, yes, it's hard. So we can actually stop now, I think. If you all know what Internet of Things is, I don't need to talk much longer. So I'm actually a computer science professor, so because we do some more theoretical things today before we really do hands-on stuff tomorrow, I want to talk a little bit about why I think IOT is so interesting and especially interesting in learning to use IOT and why I think it might actually take a really important role in teaching and in actually accessing programming on the computer. So and usually when Michael pays attention, we at this point we actually introduce each other. So you know, this is Michael Schlou von Benevitz. So he is a computer scientist and he does, you wouldn't have expected it, a lot of things with IOT and he comes from the mobile technology background and has done a lot of stuff in networking. You want to contact him, this is his home page. So michael.schlow.com is where you can find even more information about Michael. He's from Germany. Actually that's not true. He's actually from Chile, but he's actually living in Germany in Munich and traveling a lot around and giving talks and doing consultants and research talks and research teaching. So that is when you want to talk to Michael. And what do you think about me, Michael? You have the microphone, you have to talk. What is this thing for here? Okay, I can talk about myself. So my name is Ulrich Norbesrad. So as I said, I'm a mobile computing professor. I'm actually on my sabbatical at the moment in Jakarta. I'm actually associated with a mobile computing program in Austria and I'm also doing some consultants and advising of companies of educational institutions. But my main research topics at the moment are in the area of mobile authentication, of course also ubiquitous computing and then Internet of Things and augmented reality and virtual reality. And my trade, I'm a software engineer and I have published a lot of work in the area of requirements engineering. So I'm always interested in how the user and the programmer come together and understand each other. And so go to ulna.net, then you will find lots of more info about me. And so as we now have talked about us, I would like to know something about you. So it's a hacker space here. So some people might actually be able to program. So who speaks at least one programming language? Wow, that's good. That's different than usual when I give the talk. But might take an interesting twist today. So who is kind of sharing the same passion as me? Who teaches also sometimes? Plus Michael. Ah, good. So you might get something today. So who is actually doing all of work with IoT? None? But you. You have the raspberries and the stuff. I do a lot. Okay, Michael and him and me. Yeah, I think for me, IoT is a little bit like cloud computing. So it's a bit of a buzzword. So IoT is covering a lot of different technologies. And so first, I will kind of give you a little bit of an idea about what I understand under Internet of Things. And I expect that Michael will actually always say, no, no, that's wrong. So I have a totally different idea. So then I had some experience in actually teaching, which kind of made me aware of some things. And actually, it's not only introduction to programming. I also taught, it comes later, it also taught home automation very often in last years. So and home automation is kind of a part of Internet of Things. So like in earlier times, we said grid computing, we actually now talk only about cloud computing. Nobody knows what grid computing is. So maybe in the future, when we want to talk about home automation, we also have to talk about Internet of Things because that is the stronger term like cloud computing and grid computing. Our client server. Our client server was something really popular at one point. Nobody says client server not today. It's cloud computing or services or yeah, infrastructure as a service or anything as a service. This is kind of what I would say it today. And we'll lead on in kind of what I learned from this teaching and what kind of came out and then I present kind of an idea which has to do with IoT in the end. And then anytime in between, there's room for questions, but then actually there is in the end, hopefully starting a little discussion and she will confirm or contradict me about what I have to say. So what is Internet of Things? So I like to say, okay, it's some kind of system. So and historically, I think what was Internet of Things was called ubiquitous computing or pervasive computing. So basically the things all around you have some kind of smartness, intelligence and are connected to the network. And Michael, please pay attention. You might supply some more things at this point. Yeah. What also always comes up if you talk about Internet of Things is that there's something embedded. So also what we had an embedded computing is a big thing nowadays in Internet of Things. You see single board computers, you have some kind of actors and so actor and sensor networks was also something which might be replaced now with the term Internet of Things. I think also what is in the area of the mobile and variables has to do with Internet of Things. And I always see and that's an area I really like the maker movement and do it yourself projects are also part from the Internet of Things. But they're kind of a little bit contrary to so then bring another great word, industry to zero. Do you guys know what industry to zero is? It doesn't matter because it will also be called Internet of Things later. No, it's basically also that all the devices in the factory can kind of communicate with the network and report back. So it's kind of the same idea in a more industrial scale. But of course, the people who building this industry don't really want that these devices can talk to other devices. And that's a little bit in which area Michael and me are working together in preventing that actually this happens that there's so many different technologies which just try to push their own brand. But my screen is on. Push their own branch brand and actually don't can talk together. And I think that's also why we kind of go around evangelizing and talking about these things. So we should kind of stay aware that this communication with each other is actually extremely important. These pictures you see, it's kind of a collection of the devices Michael and me usually present. So we met once and wanted to do a talk together as a droid con and said, OK, let's kind of put out what we all have and let's see what we can actually build from this. So that is the pictures you can see. And in the end, you come up to Hello World application of IoT as the smart doorbell. Everybody, if you have already built the smart doorbell. Yeah, OK, so Hello World in IoT is smart doorbell. That's what you see up there. So I will also talk about coding and why it's good to code. And I think especially in the area of Internet of Things, especially if you look from the maker perspective at it, it is good to code. And there's one favorite snippet from code.org. I always like to show here. So I will try that I can do this now. And let me just check that this might go out at the HDMI port. Plugged in. It should be default. So let's see. That is not very loud. I don't have any subtitles, so it's really hard without. Sorry, it's not actually come up with an idea and then see it in your hands and then be able to press a button and have it be in millions of people's hands. I mean, I think we're the first generation in the world that's really ever had that kind of experience. Just to think that you can start something in your college dorm room and you can have a set of people who haven't built a big company before come together. We start so you see something that a billion people use as part of their daily lives. It's just crazy to think about it. It's really, it's humbling and it's amazing. The programmers of tomorrow here for the teachers in you. So the teachers who have to kind of what you had others to code great material. Yeah. Computer programming is incredibly empowering skill to learn. I think if someone had told me that and so you know something about me now. So please pick from this clip I play now the stuff which you like most. Yeah. So just pick one of the sayings what they say and remember that like I like most and also as you know me and Michael maybe think which ones we would like most. So what is kind of the most interesting skill they emphasize here which Michael and me would like most so we can do a little guess game later. Okay. Once more and now I wonder computer program is incredibly empowering skill to learn. I think if someone had told me that software is really about humanity that it's really about helping people by using computer technology. It would have changed my outlook a lot earlier to be able to actually come up with an idea and then see it in your hands and then be able to press a button and have it be in millions of people's hands. I mean, I think we're the first generation in the world that's really ever had that kind of experience. Just to think that you can start something in your college dorm room and you can set up who haven't built a big company together and built something that a billion people use as part of their daily lives. This is just crazy to think about. It's really it's humbling and it's amazing. The progress of tomorrow are the wizards of the future. You know, you're going to look like you have magic powers compared to everybody else. It's amazing. I think it's the closest thing we have to a superpower. Great coders are today's rock stars. That's kind of lots of things ending with that said today. So so I just asked a couple of people what is what you like most. So what do you think is the coolest thing about being able to program? Oh, come to me. You're one here. So I'm just looking in general direction. But if you kind of volunteer here. The wizard part is always good. I mean, that's you think back to what you know, after C Clark said in his sufficient advanced technology seems like magic. Yeah. Everyone wants to be part of that. And then you go guys saying you'll be like a wizard. Sure. Is there anything here on the side? What did you like? Also the wizard? Actually, I attended it because I was quite curious. I wasn't really into programming before. And I decided to actually see what is it about. So I realized that what the female speaker, what she said about programming being able to help change people's lives. Yeah, I think so. Also, you can have really impact nowadays if you program. I like this statement too. So what do you think I like most? Rockstar? No, no, no, actually, other guesses. Super power? No, no, I actually like him. I also am the wizard guy. I am a fan. I'm just a romantic fantasy guy. So sorry. So the wizard stuff is so I don't know, Michael. And I know I tried to let us guess, Mike, I actually have never asked him this. So what what is probably the one Michael likes most? What a nice person is here? Today's rock stars. But he is a rock star. I think he is. He is a musician. Yeah, we can probably look it up. Okay, there's a longer movie, which is actually about all this quote, or kind of, it's the most of you people program already. So I don't have to ever visualize you there. But you can go out and use this material to win more people. Because I think for the Internet of Things that might be a very important power. So I'm a teacher. So and of course, yet always people think we were kind of the big masters and we know totally what we're doing when we teach. That's wrong, especially in computer science, especially in computer science, you experiment as a teacher with your students, because things are changing so fast. And so that the only thing is that you can kind of stay on top as if you have to try if you try new things, because else you get really boring. And so I taught classes in C in Java in Python. And what do you teach first? Hello World. Yes. So the first thing is you do is Hello World. And yeah, you are all programmers here. So yeah, you you love Hello World, don't you? Super exciting when you first time actually get your Hello World on the screen. Yeah. Okay, so that is kind of the classic way of actually getting people excited about programming. So I'm a software engineer. So I'm doing things with actually really visual programming. So I try to visualize object structures and kind of make object oriented the object oriented paradigm, that paradigm which excites people to go. I even wrote a book about this. And so actually, in this world, you don't start with Hello World, but you start with basically the Hello World object. So you actually see Hello World, two objects, they're connected. So that is actually the object oriented, very intuitive and exciting way to programming. I was a little bit more successful with this one than with Hello World, in kind of getting people inspired and actually working longer on program. So does anybody has anybody of you ever worked with scratch or snap? Yeah. Yeah, it's a graphical programming. So what's your experience that that you start also with, yeah, withdrawing a triangle or so that's Hello World there, isn't it? You have the little turtle graphics, and then you kind of do some kind of drawing or line or so that is actually Hello World in the graphical programming languages. Yeah. Okay, I will talk more about this. This is how the modern teachers in Harvard and MIT think we should teach programming so that everybody is excited and will keep programming. What is this program doing? It's very intuitive. It's graphical. You should see this. It should be clear intuitively. It's a quiz. Yeah, so it's actually doing some kind of quizzing test with you. So and I have one student here who I thought so she knows actually what follows. But so I don't like to talk all the time. So I would say, let's do that something five minutes for you for don't fall asleep. I saw already some people yawning. It's late in the evening. I didn't tell you this exercise. You need at least something to write some things down. Yeah. So I would like you to think a little bit about with a neighbor. So it not needs to be coming to computer science. We are social so talk with somebody else and make a little pro and con about the classic languages, the classic Hello World language, what you like about the everybody of you has probably learned one of the classic languages. So you must have enjoyed something there. And you must have hated something about it. And probably not everybody if you has done the visual languages, but also write down two or three points what you think are good and what are bad for the visual languages. And then we will discuss this. And then we will finally move to IOT promise. Okay, two, three minutes. Take something to write. It can be a phone with a thing but or a piece of paper. So it can be very classic. Don't know. Luther, we have some paper here we can share. It's also enough if one of two persons or three person right so make sure you work with somebody. Don't just be there quiet shy. That's boring. Are you taking the picture now? So okay, he's falling back to his own. Are you all in a team? So the two or you three? Are you teaming up and you three and you two back there? Yeah, you're still discussing you. So what is cool about the old languages about the classic ones? You can be very efficient and fast if if you are only if you're an expert. Yeah, so you guys think only if you're an expert there can be. So what is cool about the visual languages? I think I guess because we have more control, like we can read visual or visual language. Yeah, what is what visual? Okay, for first time users, first time coders, it's actually very easy. It's very intuitive. Like we just see Oh, okay. Oh, okay. Okay. Yeah, learn. The visual language is like English. Like when you have blocks. Yeah, because it's not good. I hear this pretty often. So you guys can pick pro con for anything. What do you have? Quick to pick up. You think you can learn the visual stuff quickly. Okay, hard to make errors. Hard to make errors. You are only ever taught this. Have you ever ever taught visual language? I'm not sure if I agree with that. Right. But your blocks, you know, it fits, it fits. It doesn't be the first time users. Yeah. So what we are discussing, we are discussing general stuff. But I think one of the cons for visual language would be like, you can't do a lot of stuff because it's limited by the software that it may be designed to teach people how to get introduced coding. But you can't do like you can't really develop. And I haven't had an opinion from you. So it's kind of hard to be express everything there. So you might get stuck at one point. And if you really want to do things, you might get frustrated that you're limited. Yeah. Okay. So what were kind of your discussion points? You choose. You choose some things. Okay, so a lot of things that visual language does for you. But you couldn't put, of course, argue, yeah, Java or C++ and also do a lot of stuff for you in terms of memory management and stuff. But the even ended adaptation, you don't have to probably. Okay, you still have to fit the blocks. Yeah, I'm I'm hurrying up. The pizza is getting cold. I know. So I had all these arguments you guys had. So and I'm a totally twisted. Do we like the visual languages to an unlike them. And so if you want to know my personal opinion, and you can have another one. So I had a lot of pro actually for the visual language that I have become over time, a very big opponent of the visual languages. Because I think it's a one to one translation of existing languages. So that actually, they're four loops, they're all the constructs you have in the classic languages. So for me, I think it's just colorful, but it's not really something new. And you can make about the same amount of mistakes in both languages. It's just harder to see that you make a mistake in the visual language. So that is why I so I was in that and yeah, I hate these discussions. Oh, I do Python, I do Java, I do C sharp, I do Objective C. And you can burn a lot of time with these discussions, but never ever really get a result. But I had a kind of a really a revelation and or a really nice experience when I taught my home automation classes. And I don't know if you're a teacher, you sometimes can see when the students are really enjoying what they're doing. And that's kind of the nicest classes you can actually have. And I had this experience when they were actually having a breadboard, and kind of getting the stupid Linux running on the Raspberry Pi, and then in this Linux actually managed to switch on their first LED. And I was wondering what was going on there? So why were they also happy just switching on a stupid LED? And, and I think it has to do that this motivation in there is so different. They actually, they all knew Hello World. But the first that was the first time for most is were pure computer science students. So they didn't do any hardware, any electricity before. So there was a first time for them that they actually influenced the real world. So they made something happen in the real world. And that was extremely powerful motivation for programming and for managing something. And I thought maybe we could use this, maybe we could use this to teach programming in a different way. And that is why I, and that comes, so we could do a little bit more. But that is why I kind of think IoT and kind of working on the interface between programming and the real world could be a very, very empowering way in actually making programming interesting for the general people, because you could actually do you gain the power, you gain the real magic power to really move something in your world. And currently, and so in my sabbatical, of course, you do kind of stupid things like designing a class, trying to design a class which teaches programming actually teaches C. And one of these horrible, really hard languages first, to do Arduino and ESP programming, but to beginners. So the ideas are kind of a little bit, and that's a little bit, yeah, the feeling which I want to transport tomorrow too. So we also kind of build, kind of learn how to do our first basic steps in the Raspberry Pi and actually making things work and then branching out to some standard technologies we have actually in the Internet of Things and combine it, but it depends. So I promise everybody a few will manage even if we don't have any programming experience in making some lights on and off. Promise everybody will manage this. I don't know, it seems to be a lot of knowledge here, so I'm pretty sure that most of you will also manage to talk to an MQTT or Mosquito Broker and actually do some network control of these devices you have there. And I think much more we won't manage. Can you give a little outlook about what you will do tomorrow? And we will do something with Bluetooth as well. Yeah. So of course, if you only have the Raspberry then it's all hardwired. You need also to be able to do something with radio and over the air and especially Bluetooth Low Energy is a very exciting protocol for making something work there with small devices. Yeah. So my take from today is before we start with a pizza, but I think I'm pretty good in the time, is motivation is key. If you want to teach somebody programming, don't talk too much about Hello World. Talk about that you can actually solve some problems they have in real life. And maybe then they are more motivated in actually doing programming themselves. Okay, so yeah, let's move to, so I have some ideas what you could do. So maybe while we eat, you could kind of think a little bit about fun projects I could do with the students in the beginning. So one of my ideas is actually kind of doing the impossible machine. You might know this, we kind of press a switch and then there comes a hand out there and switches off the switch again. I think that would be a nice project to do in a couple of hours. There might be some others. So just take this with you into the pizza round now and use the pizza to inspire you to have ideas and maybe we discuss a little bit what IoT and ideas from the IoT could be enabling to make more people program. Good. Thank you for your attention for today and let's move the discussion to the pizza.