Daniel Garcia – Transforming High School Computer Science: The Beauty and Joy of Computing (BJC)

so I’m still open I’m a professor teaching in the computer science department here at UBC and it is my delight he is a teacher professor at the University of California Berkeley in the ecs department I had to go get a cookie because I know from previous meetings with Dan that I would be at least you’re cooking maybe one of the Nanaimo bars to actually keep up with him in translators the first time Daniel I hung out I was going to say taught me dance dance revolution but really I didn’t I didn’t necessarily get that far I was better than it was when I started but I was just watching it all up danznewz i have dance dance garcia I didn’t know that make sense chance against Garcia I’ve he’s done an amazing number of things as a teacher but also in service of computing education at Berkeley in California in his community and in the world particularly involved in CSE the ACM sigcomm computer science education and so I think without further ado I’m going to hand it over to Dan and eat my cookie watch that’s great thank you Steve good to see you all it’s wonderful to be here make sure the microphone is good for people it back I guess tapping out right here I’m captain right here it’s supposed to go to it so that’s good alright well we roll with that um so I said Steve say I’m Dan Garcia I’m going to talk about our initiative to transform high school computer science through our course we developed called the beauty and joy of computing so jump right in that medicine behind motivational slides talking about why we need this high school computing this is the number of in 2012 high school ap stands for advanced place when the college board has these courses that you take in high school and you can use them for college credit or placement and this is a number of students who are taking these courses in history in english in science and there in the upper near the Million numbers range and here’s all the way down at the bottom end of the curve you always want look at the right part of the curve it’s a top right or top very small in this case is very small this computer science and even worse is of that box you say well of that box maybe if there’s distributed to look like the people in the country or the world that’s okay but they’re not fifty percent of this tiny box or girls eight percent or african-american Hispanics and we have on the order of you know thirty percent twenty percent thirty percent Hispanics and ten percent african-american not at all forty percent and so eight percent is much less than that and fifty percent of women so actually we’re not doing so well in terms of getting this to the students who could really use it really could make a difference for them so computing as literacy a 21st century but a pcs is only available in five percent of the schools and so really the challenge is how do we get a great computer science everywhere and it isn’t just an intro to java because a Teague AP computer science a is an intro to job it isn’t about a course it isn’t going to that is going to teach how to program certainly the goal isn’t to make everybody a programmer it is to kind of bring perspective of what can you do with computer science give you the power that not just consume things on your mobile device but actually don’t how to build those kind of a thing so it’s giving them empowering students and broadening participation in computing so let’s do you think I love starting sentences less lest you think that I’m the only one in this initiative there’s a whole family of folks who are helping us with this this is the beauty enjoyed computing family Brian Harvey Tiffany Barnes of kind of the P is on the project luc and Colleen are amazing grad students that helped us build this course and these are unbelievably strong high school teachers we’ve worked with throughout the entire process to make sure that as the course developed the University moves to high school it’s still relevant connected and can be done in a high school setting so how do you make a change in the entire country we’re talking about the US at this point but it really the world but how do you make a change in the entire country if only a small fraction or actually to actually have an engaging puter science course well we decided rather than try to fix AP Computer Science a the strawberry sit has so little participation under-represented groups wouldn’t it be amazing if you’ve ended a new course let’s spend a new great course broad you can learn about the things you do the social implications of computing as well as I how to program as well so it’s not about just reading about what computing can do and not do it is both learning about what computing can do and what you can do with it and actually learning how to do it yourself and feeling really empowered with that so the single source of national leverage the US every state gets to make their own decision and if you know a little bit more the details of that whatever texas says it takes is one of our biggest states the Texas Board of Education things get adopted there they also go to top it by many other states so if you convince Texas you can get that but it still it’s about 50 different fights you have to fight at that level and even farther than that sometimes they even pass it on the federalism passes it down to its on the district level so you can recommit the state but they say well it’s not up to us when the district makes the final choice so that’s crazy to have to go to each one of these districts and try to

make that convincing argument why you need CS why you should have a teacher and I teach this course so the way you get it into all the places at once the National leverage point is the College Board the college board offers these courses and if you get it to be a college board course then all the schools will saying we got to make this happen of a sudden just nationally it takes it takes effect so it’s really delightful the goal of this new course called computer science principles replacing the old one computer science a doesn’t really tell you what a means a is a versus a be so it didn’t tell you what that is this is principal saying it’s the fundamentals of that is seven big ideas we’ll talk about that in the next slide or two it is really thinking about what computer science can do for you and what you can do it’s connected to the student as well as creativity it’s engaging accessible inspiring rigorous it’s awesome a lot of computational thinking I’m hearing there’s a new we would have most of the money we talked about the new computational thinking course you’re thinking you’re building it’s delightful to be in on the ground floor that to be able to have some new sense of what should we be doing for the rest of the campus not just our major the rest of the campus this is this with that space for us so what is CS principal CS principles comes from the College Board they hired an amazing group of educators I wasn’t part of that so I can tell them they did great work I can’t but I’m composting amazing group of folks who put together seven big ideas and these are both the university folks had high school folks who thought leaders who said we want to take some leadership to actually build this course so the seven big ideas are summarized in this slide deck with the key idea that kind of the name for the big idea in bold so computer is a creative activity how many folks teach that in their course APCs a I don’t think the word creativity spoken once all right if the drinking game like it says it drink all the glasses are still full nobody’s drinking when because they’re not hearing creativity in the CSA course abstraction we know about the power of reduces information in detail to focus on the relevant deep concepts data and information facilitate the creation of knowledge algorithms a lot of these are coming from the standard courses well programming is important programs are how you embed the algorithms the internet provides model computing this used to be systems but systems is too big as you mean embedded systems big small that’s about the internet let’s change a focus of that and commuting as global impacts this last one big idea 7 is the one that really resonates with me let’s talk about what you can do with it and what it means what’s the digital divide and how does that affect what people are building and what they can build in their space of thats really pretty powerful how can be transformative by the way there’s a website CS principles org if you want to know more about this there are six computational thinking practices there are two pillars one is the kind of big ideas the things the facts seem to learn about it and then what the things that you do at the nouns and the verbs this is what you do the practices what you do in your class so these are the things you do in your class you connect computing to other disciplines and two other things and that are transformative by transformed by computing you develop you build artifacts you develop things so you’re not just learning about them you’re also building yourself you’re doing abstracting you’re analyzing problems or artifacts so it gives you an artifact you want to Poquette and probably say what is it what situations is not working doesn’t work all the time could you build it yourself and doesn’t can use it as its scale the things you’d always you’ve been doing with your students as well communicating and collaborating this is great collaboration is part of the required things a lot of people taking AP CSA and they never once work in a team this is crazy this says no this is a core supposed to live in high school before the apcs a so it kind of like 11th graders which are about 16 year olds and you’re required to collaborate love it that’s how we do it in the industry and so we all do it at the university level let’s make it happen now at the high school levels we love that we all think this is great dynamic dynamic 67 Big Ideas 6ct practices we love it how do you assess it well in the old days you had and this is this is the old school way of doing you have a written exam at the end of the year which has multiple choice and you have some free response questions like write a logarithm do some stuff here it’s a hybrid in which you have these two authentic performance tasks that you do over the course of the year one is called the create performance stats which is coding but here’s once he’s is great about it unlike unlike a field of our of cs education which says let’s find the niftiest programs that we can make people all do so let’s find a tic tac toe or a hangman or a breakout or something that’s really our sound or something visual or graphical that’s nifty and really great but you make everyone do it so that’s easy why do you do that because now it can measure you all by the same stick and your project you all have the same spec but what are you not doing you’re probably not engaging everybody that probably some people that’s not really interesting oh I don’t like graphics I don’t there so you’re not gonna gauge everybody this says every single person picks their own project huh what the thing you do no that’s awesome okay that means everybody gets to find what’s passionate to them do you care about outreach to group so find a project where you find a local group a community group and you may be right an app for them or something that’s perfect I love it how about you

like graphics want to make a game love it too I want to do a simulation of traffic I love it yes to everything are you kidding me we love it in fact there was a small this is like give me some inside baseball there was a small time where we said let’s give them a list of things they can choose from and immediately all of us says no then this list means you’re gonna start picking from that once I put a list you’ll be check them from the list because no one’s say or other Knowles are the others always on the list no no list you pick whatever you want to do how would the thing okay explore performance task you go find an innovation a computing innovation in the world okay that has a societal impact and you research him you go read about it you go to you interview people you go to the web you go to library you find out all you can about it and you answer some prompts what are the positive benefits of this what are some possible negative benefits of this thing how does they use data and transform in a consumer what are some privacy concerns okay so you’re looking outside of innovation your research it and then you write about it delightful okay you also get to make this amazing thing called and called a you’re making some multimedia that is going to support that so you want to be able to some things you can’t describe so you might actually make this a competition Allart of fact that will go along with your research so this kind of a multimedia movie or sound file that will go along with the submission you have which is the answer to props those two things are 20 hours of class time and you’re great at the end of the year is some percentage of that it’s actually forty percent of combined those guys and sixty percent of a two hour exam so it’s kind of nice that it’s not all about a paper pencil exam at the end of the year if you’re a bad exam taker you can get forty percent of an a of a rock star a before you even walk into your exam is that great so it’s not all about your ability to perform on a paper or pencil test at the end of the year so what drives what did that outstanding dynamic group of 40 educators create they didn’t create a course framework that said by the way on our 37 of our five of day 37 you have to do this activity no that’s not how it works in the College Board when they come up with a curriculum framework a framework a general skeleton framework that you have tits like a skeleton you have to hang the meat on that bones in some sense so they’re firmly tells you in general what to do so of the big ideas you have these four subcategories what is big ideas at seven of them within that you have kind of a chapter heading of a thesis okay the subheading might be the enduring understandings which is the students will understand in grand terms okay so it’s a way to kind of break a big idea into smaller pieces then you have these things called learning objectives which our students will do such a verb it’s like what you will be doing in the class if you read all the blue guys that’s like what you’re going to be doing and then the red guys at the end o is essential knowledge statements which say students must know these facts okay so here’s an example set EU which is big idea seven which is global impact okay EU which is the next level down says computing enhances communication interaction and cognition it’s kind of a category you will understand that what will they do student will to explain how it affects it okay and here’s some facts okay so email SMS and chat have foster new ways to communicate and collaborate just one example kind of how it breaks down okay there are more than 300 e KS and you say dinner I want to make a class that is compliant with a pcs principles well you better make in class and you show me where in your class somewhere you handle all of these guys is a check box there’s a pointer from every minute to something in there it doesn’t mean you can do you can do things outside of it but you’ve it at least comply with every single guy you better knock all those things off and your punch list okay by the way I love interactive lecture so any question any stage I know I kind of going and going going feel free to just throw a hand up and stop me will do that so I should have said that the beginning I’m sorry about that so the cs10k project yes go please need ask i’m so glad i did that watch what’s your name tomorrow tomorrow thank you go the exclusion which is here’s the thing you don’t have to yes there are they’re few and far between but they really are there for example there’s some complexity theory and so in the complexity of to understand that some algorithms are reasonable time and some are not reasonable time okay that’s the kind of soft squishy way they have these categories and below it it says knowledge what P and NP is not what nothing not here so some of the language a you say oh I must have must mean I need to teach this but you don’t because of the line below it so whenever there’s a case where you think people maybe run run away and think that they do all this up they don’t buy you kind of limit out what they have to do so that it is there maybe there’s ten of them in the whole dr. out of 300 so got that money but I love it we then we have that tube we added that let that order the last steps i’ll post me up more question i love this is go keep we got make it interactive w tomorrow and machine and antoine go please santwon yes go back going yeah yeah so for instance interesting okay sure

sure should I get it um well I mean okay so you have to have a standard so we have 12 hours and you would work one of the things we learned is that in the early version of that you weren’t allowed to even talk to your teacher about whether the scope of what you want to do is reasonable or not but we’ve changed it so now you can so now it’s nice that’s what you the University you know people propose projects and we say is too hard too easy so if you wanted to do something you find whatever is passionate somehow in the class I taught about sorting you want to like look at more of them and analyze and visualize them whatever you want to do with that you’d say Dan is that’s feel okay you would even half is our requirement that we have an interaction but if you want to do that I say that’s great now if you say Dan I want to do this at its a 50 our project I say well you can still do a 50 but do 12 hours knock it out submit it and then keep working later one of the things that people do in the class is the exam happens with about a month left in the high school year so you have like a month afterwards to do any and all amazing things that are above and beyond the cs principles course because the exam has to kind of be a place where you’re not doing the exam for people in this summer seems to kind of matter have it right at the end the last day and high schools are all all around though on the map in terms of their calendar so that’s a perfect opportunity for you to do 12 hours of your project here and then you know 38 more hours after the exam happened that makes sense so there’s still a possibility for you in the course to do it given where the exam is hope that answers your question terms would be able to have a larger space of that all right so it’s great to come up with a great course and many people who put a lot of effort is that thought that we were done okay thank you very much goodnight pls tip your waitstaff no you got to do a lot more work to follow it up which is you gotta do the teachers doing it I mean the people realize this is a big problem this is a big lift and so what they realize is we got to have this out in every high school in the country there are twenty-five twenty-six thousand high schools in the United States computer science isn’t about two thousand of them so we got to get it into 24 more thousand high schools okay so really this project to get 10,000 teachers in 10,000 high schools all prepared engaged delivering an amazing course it’s almost falling short by a factor of two or three this should have been the 26,000 k project but they decided just 10,000 had a nice number about okay so so I still think that they takes a solo show show we are at the point where about 2,000 we think we have about two thousand teachers running he just course next year okay this guy why does it say 2016 just around the corner from us because the course goes live fall 2016 spring of 2017 exam happens may of 2017 so we’re coming up to I’m give this talk a lot and we’re coming up to the point where it’s actually the last year we’re like I can see the clock on the wall it’s we’re months away from the launch of this course it is so exciting to have to that we can’t wait to see what happens how many students sign up for the exam take it and Rockstar it’s amazing what I didn’t tell you what Stephen tell you there’s a seven-person Development Committee and that developing committee as you’d imagine makes the exam you know they edit the specs for the performance task and they actually make the questions I’m on that committee so I I’ve been looking at all the questions that we’re going to deliver a great exam I can’t wait to see how many will take it how well they do is I’m really just I mean it’s going to be more me more than anybody really want the other people take it and love you will succeed obviously ok so this cs10k effort but but brick going buick there were more there there was National Science Foundation funding to fund initiatives like my own who have a course that adheres to this CS principles requirements of the curriculum framework and want to go out to our country and share that course with them so there are many people like me who have competing products competing courses trying to get the eyeballs of high school teachers across the country so my next slide is saying I’m part of the bjc beauty and joy of computing is my logo big smile bjcc how we do the okay so we try to bring fun bringing engagement but also bring really rigorous CS to the space other people taking different angles other people have distinguished himself by saying I’m going to own the mobile computing space and app inventor is a wonderful tool to be able to make apps on phones with graphical drag-and-drop languages that’s one space another space might be I’m going to connect computer science plus X computer science and law computer science and history computer science and biology and owned the cs plus x space angle to this so our space is the following what differentiates us is we wanted to bring some of the most wonderful and most powerful ideas in computing to students we have a very programming heavy take we’re going to talk about i’ll show you some demos what

we do so we teach things that aren’t even taught in apcs a not even taught in some schools cs1 class for majors recursion is often taught us maybe the second class for majors we teach it at like the class behind that the class minus 2 in high school before you’ve left high school so recursion functions as data and I know this is a this is a group that has scheme as part of the cs1 so you know that the power of functions data from the scheme space we also talk about concurrency distributed computing we use a graphical language many people are evolving to using graphical language because you don’t have the syntax issues and all that and our particular take on global impact is we balance optimism with pessimism like our angle of it is that that technology is neither fundamentally good or fundamentally bad we have an overall optimism the technology will make our lives better but this but each particular technology has issues that may be wonderful ma issues that may be need to be brought up privacy issues or other issues like that okay so this is blown to bits blown to bits is an outstanding book it is a Creative Commons license book so that you can get it for free if you want to one of the things about our courses it’s completely free not a single I’m not doing this to try to make any money am I trying to sell a book all of our stuff is free all of our materials online our videos are materials every single thing is completely free we even use clickers in class I see your iclicker in front we give up we bought we got a grant to buy the clickers we give the clickers away to the students and we collect them at the end of the year so there’s not even a cost for the clickers for the suit you take our course z I ask this dude how much you paying for your biology courses well the book is 250 the labs of 50 like you’re talking about hundreds of dollars for every other course how much made for your CS 10 is our CS 10 in berkeley class it’s wonderful so that’s really nice blown to bits helps thud after that that is available free it’s a PDF so we started with scratch literally the Scratch programming language was the first language you looked at as we looked at the space of who has graphical languages that we want to use as our fundamental starting point but scratch had some issues we like to be like to scratch on to Alice with the App Inventor to all these things and scratch was the best guy we loved scratch we loved how easy young kids could be really engaged and do this in four years they’ve been doing that but the catch was scratch didn’t have functions at the time scratch 1.4 if you looked at scratches repository of student work you’d have these beautiful fractals now look at the dragon fractal and the sierpinski carbon and you look at the code and it was copies one calls copies to happys to cry mean like it was like I can’t because because I had no functions you couldn’t call that you know this was an end and the ending of them so is ugly let’s try to run on six well there’s only five copies so I can’t run in love with workers level six right it was a little bit embarrassing so yen’s Mon egg has gone on and Bella they’ve since added functions they’ve advert they had a command function so you could sort of fractals and so we’re kind of happy with that which and we think by the way we were the ones that people to push the scratch folks we’re all the same family we go to the scratch conference they come to ours where we’re all friends they had had they had made their code open source so Jen’s moaning had taken it was a developer there and he added these things so he added functions he had a generic lists even today in scratch you can’t make a list of return it here’s a list ret right now making on the fly and giving it to you like if I want to make you give me a function that’s going to make a list from one to n I hand you in you give me a list box it has 12 n elements in it they can’t do that now you cannot do that because you can’t return a list let’s their global things that live over the wall and lists are over there you can’t just have lispy first class where you can pass them back and forth we also added lambda so functions can now be did I can take a function make it a thing and pass it into a function I can return it from a function I can put in a list of functions powerful stuff okay we recoded it in JavaScript so now it’s in the browser a lot of high school teachers are telling us they can’t install any software so that was trouble so you have it in the browser experience and most people now have in the browser programming environments as well so here’s an example so I asked people you know who are programming languages fans all right great your particular language doesn’t have four doesn’t have the forum has while has repeat doesn’t have four in it so you want to be able to build the for loop and then use it seamlessly as if it had come prepackaged with the system can use in your language and I look around and almost nobody can say yes that yes they can build a control structure that behaves as if it were primitive control structure so here’s us building the for loop for I equals start equals 1 to end action action takes a thing you do in the inside the curly brackets set i equals start repeat until I is greater than end run the action action is the function of the data that’s the things that you’re going to do inside that loop that’s the stuff that’s inside the curly brackets change i buy one this is what it looks like when you start using it looks like as if it came built with the language for i equals 1 to 10 for Cagle 325 say I and K and this is running it seamlessly so it’s really powerful the people who are in the sub category programs go like that that’s really cool well it’s mostly like I was so boring who’s gonna care about a for loop but doesn’t engage the kids either but for a small slice of many audiences that toss them so it’s

awesome I hats awesome we call this the snap language so if you’ve heard of snap this is where it comes from it’s a beautiful little good logo which looks like the top of the block that snaps together with a little lamb to icon connected there by the way this is the gobo icon this is a kind of our icon for snap also and this is the gobo icon from scratch which we took he had kind of a bart simpson spiky head and we took one of his spikes and kind of made it a lambda see how we kind of see we did that to do that so we do learned all right okay so i want to ask you why you teach functions right we teach functions because of abstraction the power of abstraction i give you three blocks of code and those of you who have seen your student work that have three blocks like this the hair in the back of your neck goes up because like why do you have three copies of exactly the same thing with a small difference right here’s a topping code pen down p for move 25 turn 90 what does it do draws a square of size 25 pen down repeat for move 100 turn 90 what does it do try the square size 100 same thing 395 you say hey student we have a idea called functions the reason we use functions because you shouldn’t have those three copies you now combine them into draw a square of side length pen down repeatedly you take this you drag it onto that and now you have one generic draw a square block and I call it like that okay so that’s that’s it’s how we teach function teach when we introduce functions which we don’t do first day we do like the second week or something okay now look at this okay here is a block which is the draw square guy okay here is a draw dashed line cluster of code here is a draw wiggly line and I say how do you generalize that smarty pants and if you don’t have functions as data in your language you don’t what you do how do you do this in the languages that functions the data what you do is well I have a couple of parameters for the line you know okay how many dashes do you want how Wiggly do you want to you feel like parameterize the line and I say what if you write that and you bake it and you hand it to somebody and then I said you know I have a new idea for our line for like a squirrely squirrely squirrely guy that makes it pretty hard in the corner and Flutie Flutie you know you get letters back in your in middle school and Polly will draw an eye with the heart that’s somebody you could be a creative with your lines right so here is another way to draw a line that you never thought of before does your thing does your solution handle that they go actually no it doesn’t right right so why try two primaries all the cases just take in the line drawer and put it there and call it done look at this line draw our function 100 square repeat for run the line drawer whatever line drawing you happen to use that day today is the wiggly line and guess what wiggly line picture isn’t that beautiful so those of you who aren’t teaching functions that data tell me how you answer a student who has these three pieces of code and wants to generalize it in the same way you did a second ago slide ago I generalize the squares was the size of square now I want to do what do i do that day which it happens to wiggle a line or something else maybe I’m looking for how about this let’s write some code that figures out the smallest element of the list that’s made more data structure here okay list of things smalls emiliĀ“s you’ve got a piece of code smalls elementalist okay the next day you wake up and you know I need the biggest elementalist so you write that code you start to scratch your head and say wait that looks almost the same the next day i want the element that’s closer to six there’s a three copies of the code with like one line change which is a comparator so what do you do you come back to dance like you say hey wait I should pass the comparator and now and now it’s like fine closest to this this is like the best function and your same algorithm now can handle anything it’s the power functions as data that we use throughout this code is a big idea early on the cut in the course the students use this they don’t know how to build this yet but they’re using it they’re using some powerful ideas and only later do we teach them how to build it themselves okay and I have another slide deck if i have time which i can go to talk about that let me talk about recursion give you a demo it’s my favorite demo of the course so so so let me just show you how this is going to work okay so okay get out here live demo so you know what the love demo potential is here all right I’ve learned when I go to the snap i go to presentation mode data fills the whole screen okay good here’s my code i can even make this bigger you can even go over here and make the size of this bigger let me go zoom blocks and i say three and i say this and now it’s only little bit bigger okay so here’s how this works this guy up here is setup code it says clear the screen lift your pen go to our certain place put the pen down point up zero means up and call the V routine and I say what’s the V routine you might ask let’s edit that this is the V routine okay so let’s work this together as a pen hey Vee says remember I’m here point it up this is like my guy and my pens at the tip of my arrow and I say turn left 20 degrees okay now I’m like pointing this way okay move out 20 steps and the

pen by the way is is down so I move out I make a line Zoop 20 steps run item any of functions wait what I know over their shapes look what there that is a list you’ve seen list before we’ve together in class seen lists it’s like a it looks like this here’s you know here’s a here’s a list of a B and C looks like this and you see an A and being a seat that’s you’ve seen that before so now you see this and I’ve never ever showed you that functions can be data we just kind of use it and I say what’s that a list of and you all say it’s a list of three blocks which it is they happen to have a great board around them which is a way to kind of funkified them and lambda phi them but fine three blocks that’s not hard in other languages i say python show me a list of three functions i say a list of plus minus and add or something or mouth plus Madison Square and what I get I say show me what that is and I say for call the food what is foo it’ll go like left angle if you haven’t even left angle bracket pound signs some internal code is and show you what it is no there’s a square hexen star right it’s easy to read okay all right run item any of it so item any says go to this list pick any of them and now run it okay so square and all that means is wiggle around it’s like the pen thing but it’s like to move into square like we’re gonna repeat for move and it’s gonna do this okay it doesn’t do any pen thing cuz your pen is already down it’s just moves hey now move- 25-25 steps so i go back turn to the right 40 which is kind of symmetric so i’m now we’re here pointing this way and i do the same thing again i go out i pick an endo it says star so stars like this little star shape and I come back and I get that let’s try it okay so i go to full screen mode I’ve shown UV I’ve shown you this I’m gonna go here and go here and boy okay so there’s my here’s my shapes just to remind you and I’m gonna run this ready click this click this green guy and go oh look it went left and got a square and a star look okay that’s a look I did I didn’t that’s pretty good it’s like I should go to Vegas okay here we go going up two hexes oh that’s kind of fun but pedantic what’s the point in what if I hit up arrow no oh no you didn’t oh yes i did i just added me itself i need to have like an echo vvv itself it’s effing time to the list of things I could choose so now in class no class draw a picture of what you think will happen okay so everybody pauses and thinks about it and we got make him draw the picture okay and if you ask them what they often say is like what a little pig v it’d be like a double V it’ll be like a square and star of this that got that and that could be it let’s try it this is my favorite part ready and I set up a go pretty go Oh what happened there well it happened not to pick me both of those cases so sometimes it doesn’t pick a purple guy that’s fine try to get look at that that’s kind of neat it went left picked a V and then that meant it was going to slit again and pick two guys and those who tell you those guys weren’t v’s okay so only pick one v out of those three let’s keep going boring boring boring and what happens at that moment the whole class goes oh especially big draws for a long time and that’s a moment that you just pause and you realize computer science is awesome and recursion is awesome and there’s a reason this course is called the beauty enjoyed computing which is not only are the pictures beautiful but the code that generate them and the ideas are beautiful okay and the joy comes from appreciating that stuff so what happened here you just picked a lot of these okay so now you ask yourself might it never stopped might you just continue to pick purple v’s yeah what’s a chance of that it won’t okay you can do some problems you can alisis it won’t ever happen that’ll go forever but you can have a go for a long time I don’t need so this is beautiful and this is wonderful and then you this also side steps and is a really elegant way of handling the base case no you’re saying if I’m in the base case then don’t recurse otherwise recurse this is probabilistically handles it right yours going to sometimes not pick a purple guy and you just stop just beautifully don’t even talk about it but this is how we introduce recursion for the first time and the power of it and why we love it so that’s my that’s my video I love that demo Yoink alright so we’re on time we’re doing great we’re doing great that’s my video okay um you can make a mobile app and I talked about am I going to do I’m even going to do this I’m having such a good time now I’m gonna do this demo which is I can make a mobile app the app inventor team they have like a 30 minute tutorial about how to make a game called whack Amole you’ve seen the whack-a-mole game and they’re arcades we have to get little rubber hammer and you kind of whack the moles that pop up from the gopher holes okay let’s do it together and show you what

happens in the first five minutes of the course okay so five minutes of the course we gather this we’re going to stop this we’re going to make a new project if you keep doing this effect I’d you let get too close to the men you could be trouble give you trouble okay there a new thing replace with new okay so here’s my guy cancel that all right so I have done this in the past where I have 90 seconds and I make the whack Amole demo ok and then and I can usually make the demo in 60 seconds and then share it on my phone which I don’t have turned on to be connected the wireless thing in the other 30 ok so let’s try it maybe I can wait till the six and i’ll see if i can do it here we go ok hey ready and go alright so i want to do something forever because i want to have this thing always loop so i’m gonna grab that forever block and if i what am i doing I’m gonna be forever doing what I’m going to find and a move and be moving this what am i doing I’m moving to a suburban space I’m not moving there i’m actually going to so I’d had the wrong this is gonna be I’ve already messed up my damn ok here we go let’s go back and I type go go to x and y forever go to x and y and i also want probably do a find of weight so i’m going to wait like one second between that all right so am i going to i’m going to a random spot why I’m is it raining because I want to move randomly around the screen so I’m gonna go random here and put this guy right there and he’s gonna be from minus 2 40 minus 2 32 maybe 230 and this guy is also a duplicate of that site crap here duplicate that dragged him here and this is like minus 1 70 but our team is what is 172 17 t ok so what is going to move there any but right right boo Hoover enemy / now we gotta finish you guys have the score here when you gets clicked ok so what happens when it gets clicked when I am clicked when I am clicked then what do i do well I want to change a score so let’s make a new score let’s call it score okay i want to start from the beginning so when i’m fresh i reset and i’m going to reset the score so there’s variables and reset the score so set the score 2-0 set the score 2-0 and then when I’m clicked I also want to go to a new spot because I don’t want to just do that so what I’m clicked I got a new spot there and I think I’m pretty close I now so I need to increase this by one change score by one and I think I’m done okay this is this is that this is what they spend 30 minutes doing that I have now finished okay now why you often do is you kind of can add it you can add some Flair let’s add some Flair just for some Flair of some costumes I can make a fun costume of a big cat ok there’s my cat alright i’m supposed to click on my cat and make it work ok so let’s try this right here we go here we go let’s go and go ready try ok it’s moving moving click it yeah i get a point I didn’t get int I would see click did I get a point did I get a point is my code back working at one I got one see it up to now I need to make a smiler adjustment this is draggable it’s thinking that I’m trying to drag it live ok now tried it there oh that was that was live go back away go back away they’re okay come on get it nobody get it I get it no tell you gotta admit just meant to just up to two as a good game ok it works ok let’s stop let’s see how do I get this game into my mobile device well I do this I say save ok and I can save to the cloud cloud is our kudiyan or saved to the cloud kind of standard thing so I’m gonna save it as you bc a mole you bc whack whack ok you bc wacky okay i’m gonna say save it and now i’ve saved it and i also want to now open it as a shared projects i’m going to go change it to be a shared project so I’ve scripts the bottom half a million guys here ubc is down here ubc is it there waxy’s tau B and my love you Steph they put a space in there ubc whack ubc whack I don’t know where I say just not in that list you can help me a tape ubc wack did I not give me some love you SB not I don’t see it like the thing all right well I can try to save it again maybe I don’t know what happened to say ubc wack it’s saved their look like there’s UBC whack right to the cloud open it’s on the cloud and I’m gonna go here and find it here we go finding you bzy give me some love why isn’t it listed there that’s a fascinating thing I don’t know why that is do we know what did i do differently interesting let me save it as we’re gonna need to save it as something this is it may be a book I put a couple spaces about go public space to the beginning here spaces like that there now you’re in the front ubc bike safety okay now should be the first of the list if I open that give me that give me some BBC wackle of here we go and not listed there that’s good stuff okay what I have is I have another one I’ve saved before this guy I don’t know what’s happening with the same thing why it’s not listed there but I can open this this is the same project all of them differently is I’ve loaded at a picture but it says code is exactly the same this is the

same wack thing I did this kind of some stuff where I am I think this is actually the same i made it i change it so that however big the screen is it does something is like an HD version of this okay the same exact project I just changed him width here if I look here this is a URL okay that URL is this that URL you get copy I can now go to a page called tinyurl.com i can paste in this URL paste it like this i can go over here and type let’s see you b/c whack i just try that and see that URL is available sometimes it is it is so now let’s all of you who have a cell phone with wireless coverage or data plan go to tinyurl com / ubc wack again it’s not exactly what I did but it’s a version I don’t know why the save and load didn’t work today but that’s goes that here we go okay load that up and see if you can show me your phone it working on your phone and we have our students do this on the first five minutes of the class we have them we chop them tick I don’t know how things work yet but they’re following a pattern just like our code they kind of follow the pattern followed by development and then they have this workable runnable game at the end of that day which is pretty awesome so see if you can do Chinese roll calm / ubc whack with a wh see it gets it will take a while to load snap and it’s nice if you hold it kind of sideways in the longitudinal way so it’s horizontal but that is another way to get that working so i’ll keep going and you tell me if you get running while i keep going to my side so don’t delay too much and here’s an example by the way of this running on an ipad so one of the things hey you gotta run in his laptop and look he’s running it on into the play when you did it can you actually play it in playable game he’s playing the game he’s trying to boom okay love this love this so his example that ipad one of the problems i thought with the mobile computing space is that it only works on android devices so all of the photometer apple guy all the people who have apple devices you have no access there so what are you doing already on your emulator the whole time but this runs on any device it’s JavaScript you just work so it’s beautiful it’s kind of solves the problem of lock into a particular server okay so how is it going so that’s my course I think has a lot more details to that but how the course doing well I these are two students who took my course and walked out of the final and said dan I need to tell you how much is course meant to me and as I started to tell me I said do you mind if I record this is like a long times like four years ago I said sure you record me so I probably self one Apple just received desperate just had a iphone that had a movie camera so I making a movie my first little movie of a student and he’d say like Dan this course is amazing it changed my life and then seek next semester 16 other students I never told anybody about that 16 other students the next semester pulled Amish mike hotels and say Dan I gotta tell you bout this and I had a luckily this is a nearby classroom there was a neighboring classroom that was empty so one by one I was taking students over and they would just record us a testimonial and I wasn’t giving him credit for that it wasn’t telling me hey everybody if you like to tell me no I just quietly was taking the exams and they one by one we save dad I tell you something I say why are you okay no I tell how much this course was amazing I record all these guys saying that that’s now on our website so that’s great for students they’re really engaged this is the percentage of women in our courses for major a B and C our course one two and three and it Wiggles around you know 10 15 to up to 30 Wiggles around or maybe about 20 okay over oh this is longitudinally since 93 I believe this is the non majors course which was a scheme based course in which we taught recursion how to function at all scheme and no social vacations of computing no global impact no collaboration just you do my project end of the year all of the scheme and they were happy you know thirty-five percent women then we introduce bjc and we saw the highest number percentage of women ever including a semester twice now it’s happened which we eclipsed the fifty percent line of women so there are more women than men in this class and as a result the people want to join my class as lab assistants as readers and TAS we’re now more diverse and now i have half half tas women half half TAF have readers and every diverse all across the board and all roles students can have for me amazing so this is the course wouldn’t brian i taught it together so this is in high school so we handed to high school teachers as a nathan Maddux one of our early adopters from our local school Piedmont school he says BGC rocks the students love it this may be the best course I rented he says we have five times more girls than last year we smash our enrollment record we retain everybody girls they had like an intro course that used to have that was replaced by bjc the bjc replaced I mean and and they used to take that intro course but never go on to other courses in that school and now that everyone every single one at X pjs it goes on every single one at that high school goes on to the next course without any change in rules or anything we have received funding from the National Science Foundation funds activities and

research to go out and give PD professional development to high school teachers across the country how do you do that so we applied for a grant we got it so our model as petals around the flowers so we work with kind of a university anchor because universities have kind of free access to a meeting room so teachers can meet so it’s easy so it people we’re doing that and we engage another university we train we work with teachers face to face then they take a four-week online course and then we come back at the end so it’s going to 14 model 141 face-to-face for weeks online one week face to face and now our high school teachers run the PD so I’m kind of on the back coordinating and the high school teachers who really know how it works are the ones in front of the stage in front of the other high school teachers telling them how it works so it’s great we have now reached 240 teachers across the country including Puerto Rico and the first year of our grant we went to them we’d say hey does anybody want us to come bring our pd to you and small local CST a computer science teachers association chapters that had a lot of people and AJ said how about come to our chapter so we went to them but after that first year we lost the early adopters and it was more like to hear and 10 there and there so the next year we had to bring them to us just a small difference in model that but it we’ve done that heals is a program part of something about that which partners an engineer with the high school teacher who may not be experienced in CS and they teach the course together and teals offers two courses intro to AP intro and APCs a so intro is our course so we got the teals contract and that they taught our course with their engineer and that so that was great we brought in 44 more teachers that way and this is the teals program on the New York Times page we support our teachers with the Piazza group if you don’t know what Piazza you shoot it’s amazing and so we work with our teachers which is now more than 300 strong of people who are on our group please feel free to be drawn up your absolute this is how we talk about everything it does a new update to snap it goes here and there’s a update to the performance task it goes here everything is about that we need to say that not everybody going through our pd teaches the whole course it’s a lot less than half of that but many of them have it influenced them many of them use that and then you snap with these blown to bits that use some part of what we do they don’t all teach all of it but some of them teach exactly all of it and we offer monthly webinars to support them the future is to support our family we now have so many teachers that so much of my cycles is now making sure the people have gone through our pd are happy and supported and and connected so that’s a challenge for us to continue to grow and support the folks behind us so this is us in our local chapter we decided to go global we decided to take our course and put it on edx so we up we were the first computer science principles on any MOOC space EDX decided to come and give a grant for high school courses that would be given out the ghost scale so we got one of those early grants we had a limited beta of 12 teachers within a global launch of our MOOC which is to everybody it’s like many to one and a Spock and if Spock of your nose stands for a small private online course and the idea of a Spock is that a high school teacher can use the MOOC as like an e-book and they kind of use it the students in their local class are still a normal class but they’re using the MOOC to like log in and get the stuff Auto graded and all that stuff gives them a free dashboard they can see how the students are doing they can brand the course in a certain way and what’s nice about their Spock’s technology is it’s still one course from my point of view so there’s an error I make the fix once and it affects all the teachers who are grabbing it in the early days they actually had to make copies of it so that’s ridiculous i make its like the fractal thing right i have to change it all those different places now the spock technology allows me to make one fix and all the teachers see the fix so it’s like a layer of mylar in front of the actual core class the MOOC had 16,000 students but like any MOOC you have a lot the first day of just click the button and then fewer as they actually engage with the class but incredible enthusiasm of students who really want to learn this stuff it’s awesome here’s more details about the Spock which is that the student center for a class that the teacher gets to pick the parts they want the teacher can mute parts of it so if they I have like five units they can mute unit two and the students don’t see it doesn’t show up in their gradebook it’s kind of like customization of the e-book right you’re like you know just like you know do all the odd problems in the back of the book same idea with the MOOC with all the content they can boot stuff they don’t like it they could put their logo up there go Wildcats you’re going to go your logo mascot whatever teacher feels in control we launched this Labor Day and here’s a link to that I should say that recently we got a huge grant over 7 million dollars to take our course to New York City school system the largest school system in the country i think maybe in the world actually but the number of total students they have in total teachers and total high schools we are going to work with a hundred new york city teachers and work with a group called EDC who is a curriculum development group to look at our stuff and sit like saying yeah this is great but you’re making a huge conceptually peer or we needs more work on this material they’re basically making a refinement pass and they are amazing it’s like amazing group of developers who are working with us to having done that for many years for mathematics working with us with with CS this is the demographics of New York again almost seventy percent people of color so we’re really excited by getting to New York and showing some early success we made a little picture it’s like I Love New York BGC Love New York summary BGC has been transformational in many folks lives students lives my life

teachers lives we stand I didn’t mention this but I did say this a couple times we stand on the shoulders of giants okay it’s not just raw raw go me it’s raw other things that we wrap together in the bjc tin foil which is the cs principles framework that i didn’t develop is dynamite it’s really good seven big ideas 6ct practices that’s great and all these great courses are coming out of that so that’s awesome so I can point to that say that’s great without bragging scratch he’s great I didn’t build that either so that’s amazing if you haven’t seen scratch for your middle school kids or your grade school kids point them to that scratch is amazing and blown to bits again none of these things I wrote but they’re amazing and we brought those together and wrap some interesting exercise is called a bj see so that’s what we’ve done so year-long CSP MOOC if you want the URL for that we have we just recently had a summer PD 63 bringing our all-time total to actually over 250 and the future is so bright that you gotta wear shades so folks thank you very much this is bj see and it’s been a pleasure giving you a lecture wonderful so now I don’t know why yes please I have a question Tron part of your talk that really interests me it’s the enrollment by female by girls and I think I can speak for everyone here practically that that’s something everyone is striving to improve yeah what would you attribute specifically do you have anything specific that that is causing that increasing role not sure my girls sure do you feel like it’s snap or do you think it’s your curriculum or you think it’s your enthusiasm I think thank you for that question it’s wonderful and I’ve gotten I’ve got asked that question by reporters so I kind of have an answer which I haven’t baked it in my slides but if nothing comes up in question I had 10 answers so I’m 10 answers for you 10 things that we did that we think make a difference and I can’t tell you what the percentage of what those things are but I’ll tell you some of the times i can remember off the top my head number one branding this course is not like a programming course this course will teach your global impact this close will teach you about what you can do with computers this course will talk about the digital divide and other things so it’s about it’s a shifting it from programming only course which don’t succeed to being a course that lets you engage with computing at different levels that’s 12 the name of the course talks about beauty and joy like I’m drawn to that just even if I didn’t know I want to find what that’s about 3 because of the early success of you know even before this we had thirty eight percent women I really shook the trees and found strong students who would necessary put themselves out there to be lab assistants and readers and TAS I said you’d be great you’d be great how many diverse groups of students I said come on be part of my family really know what ever asked me but yes once you ask them they say yes to that and by doing that now I’ve got half of my tias at women and I didn’t have that the first year but I had that after doing that kind of shaking the trees some more so by encouraging more leadership roles harder in high school cuz you really have TAS and stuff but but but trying to like bring some of that there every single lab session is pair program so there’s never once where our students feel isolated and they feel like they’re dumb because they can’t get the particular challenge no you’re always with the partner and you’re always working together and you’re switching and I compare programming you’re always engaging together I think the curriculum is really fun as really powerful I mean these ideas are hard this isn’t like I mean this is like some of the heart we teach computability we teach Turing completeness we teach parallel programming this the race conditions we teach recursion higher functions there some stuff that’s like whoa this is from all across the four years of an undergraduate program into the non majors course are you kidding me and yet look at our results so it’s unbelievable how it can be done we really think that it can’t be done in terms of getting engaging all the students so having really rigorous stuff that’s hard but all fun and it’s fun because it’s hard right if it was just a trivial class we learned about loops and drawing pictures and do that it’s not as engaging as like wow my brain hurts that’s awesome I’m going to talk to my friends about that tell their friends ok we have encouraged so part of this came from CS principles which is that all the projects are of their own choice so giving students choice again so like the Nifty model which is you find a great thing and hope that works for but it never works for everybody so I put it X through nifty and say no it’s not about nifty it’s about independent choice for everything so that’s important it’s about having people tell their I so much to tell their friends so as much as I can I say look if you if this were engaging to you every time I made a video of somebody saying this at the end of it I said please tell everybody you know because I want more people like you to kind of bring that bring that enthusiasm there so as a lot of love I’ve given to the students in my support staff so that they really want to be part of my family and my team I take pictures of nut on the website I can show you pictures of all the folks who are just helping it’s unbelievable for a class of 240 students

I have a TAS eight readers who tease you know help teach lab a section and teach discussion I have eight readers who grade the homework and projects I had 70 lab assistants 70 for 240 students okay so this is like one for every three or four kids and that means when you’re in lab we have four hours of lab a week where you’re doing activities you’re doing long line activities it says write a block that does this what do you think that does run this way what are you never hear how about try this add this feature it’s asking you to do interesting things and whenever you’re stuck there’s a person two doors away two shares over who’s the person walking around and asking can I help you kind of help you like waiting around to see people like that so it’s not like this one ta and it’s under staff overstaffed my course like crazy I’ve changed the grading policy from being a b-minus centered course to being a B+ centered course because if you are from another discipline you’re in from chemistry and you want to try computer science you shouldn’t have your GPA at four point of stewed you show your GPA you’ll be competing with majors who need more background before this first course for majors you should be able to try a course be in the middle the curve and do well and not have to have your GPA be hit so by kind of pushing the GPA a little bit up we don’t care about it we care about your grade inflation but not on the non majors course come on care about it overall in your program but not one course you have a kind of graded high and the students if they do well they’re going to get a bay or be basically you don’t get to see in my course if you tried you’re getting to a or b and so we have students alike dan I barely got a bad project working you’re still gonna get to be in this course maybe b-minus but you still do well you won’t really get hit for that we have ah let’s see try to think there were like ten things that I said its graphical the language itself is graphical right so the fact that it’s kind of pretty like this V picture it’s almost pretty having the colors in this there’s no syntax we used to teach a scheme course right this scheme course that we taught I had probably a week or two that I lost over the whole course of the year of just how people understand parentheses I mean you guys teach scheme right it’s like there’s something about people can’t get that one left means the function call to left means this guy returns a fungi like it was just too much and I don’t have any of it here’s why and snap and this is from scratch to this is a block that’s called a command block it doesn’t return a value okay if i drag it over a reporter block it doesn’t highlight white because i can’t drop it cuz semantic that doesn’t make sense to drop something’s going to do something into a block the needs of value so i cant i drop in just sit on top it doesn’t actually fall into the hole this guy is a variable so this will fall into these holes so you have no tax errors in this language and scratch and App Inventor because it doesn’t submit that make sense to drop it so you can’t drop it so that block based programming I honestly since I taught 10 years of scheme and then five years of this I think this saves me one or two solid weeks of students just being frustrated with syntax and so I’m a huge fan of block programming for the intro space what are the things we do it I haven’t showed you I’ll show you this one this I love this demo students believe that if you’re programming in blocks you’re not programming so they say when do I start programming dan wait you wrote this this isn’t programming no no it was how’s it up well so they don’t ok so let me show you a great a great demo that we have here this comes built up the system ok go two examples and I go to codification okay check this guy up I have to click this again codification yank you like okay so Google on its interview cycle asks students to write the fizzbuzz a project you seem fizzbuzz it’s a drinking drinking water for the students in the freaking water game where you’re in a circle and you go around singing them number but larger than 1 2 3 cut off okay you keep going around and around around and then if your number is Rosa but by three you safe is visible by 5’s a buzz there’s about 15 you say fizzbuzz okay and Google asks people to write that algorithm in any language on there and they say that it’s unbelievable how people can’t even just do fizzbuzz okay so here’s fizzbuzz okay for i equals 1 to 100 if I mod 5 is 0 and I mod three dudes about both 5 and 3 8 15 safe is buzz otherwise if it’s was my three say Faisal s5 say buzz otherwise say I okay if I just click this watch my sprite he’s going to say 12 phys for buzz okay he’s from the fizz buzz game okay so I say you wrote this you’ve got this working mr. google interviewee but they said they needed in Python well we have a mapping because functions can be data I can drive this block of code into this gray border and now that’s the input to that and now I say set script to that boink script is now set to that block of code I scroll to the bottom and I say now do a mapping and all this is is for the internal if I know what JavaScript if looks like I know what Python it looks like so i click map to JavaScript and this is JavaScript so they say I want to learn JavaScript you did you learn it because you learn how to preside whadja which can be translated easily won 2-1 with

JavaScript so I go over here and I say export okay this my friends is the code that you were writing all along okay they do is encoded or corridor glazed the hour of code then they put your button should show the code that show the JavaScript okay so I copy this I here I go over here too is it view or is it window I forget divisions which is the history view developer k JavaScript console and I get the console and I click paste and ladies and gentleman fizzbuzz okay in JavaScript and I have this mapping for all these languages I have to up I just like before all these languages let me get out of this let me get out of this and go back to this window there okay close that so i can map to small talk or Python or see or 20 other language all that just get mapping of like this if block looks like this in C looks like this in Python it’s trivial but my point is the students get it start I show this and now they kind of get like wow I was learning computer science all along which is just a syntax translation between the other language you wanted to learn so that’s kind of a neat little example I can just show you in 10 0 the language is kind of fun so the fact is that this is more fun to program in than any other guys when you’re learning and you have any type of guy I can drag a block the bed of the benefit of blocks place is very simple one I don’t have to memorize anything for the functions like UNIX you memorize it commands no I just see them I try to find it and it’s even better I can I have a fine command so I go over here and say Apple command F and I say actions before I say move as mod that’s mod so there’s my mod block boom okay I type mo and then it just shows up I can drag it okay that’s cool then you say well Dan the other brother that’s one benefit the second benefit of having blocks playing with programs just programming is there’s no typos I talked about that before so and the third is I could think that I’m actually faster at control laughs grab the command that I am typing a long thing the fourth is there’s nothing just like command completion there’s nothing stopping from having really expressive functions that have spaces notice by the way that if I look at some of this code not every not every block has and this is just the general stuff here let me guess scape out of this and get out of here not every one of these have added in a while tempers giving me some trouble okay cuz I hid that they had they hid the program they hit the thing over here um notice has fib this as text the point is some of this code has the argument in the front you can write sentences rather than having you know python is long complicated name open for an argument argument argument no make a sentence out of what you want to do so it’s easier to sew blocks this language to let you do that very easily you can have spaces when you make a new block so all that stuff this s text this would be like as text open paren know this as text that kind of example so block Slammers have a couple of these benefits that for beginners is really powerful people have said Dan I can now as they get better by the end of the course they get frustrated because they it takes them longer to go click and drag then it could be if they wanted to type I say well then I’ll show you the fine thing were you much faster is what I’m faster than that then we added this this is the cool part right because I’m really really cool we just added this this is our recent project let me get out of this window thing let me say new and show you this guy here if I can get this right atmos if i can get this demo right there was a question of accessibility you know does this work for folks who who might need a screen reader we’re working on that part working on that but watch this i can click on this and shoes keyboard editing okay so watch me i’m going to click shift click I’m now in keyboard entry mode watch me ready let’s do it let’s do a squid draw square sure pen down PE down arrow enter okay what’s next i do i’ll probably repeat for right re no down arrow enter left arrow left arrow enter for escape right arrow now i’m inside this guy okay i’m typing i once you get good at this you are unbelievably fast okay so what about you i do now I’m probably do a move so mo ve bam hope I have to move homie from a bigger number than 10 so we enter 100 enter right arrow up down down down down right right right up left down there you remember how to get back to the slide get better as I do this and then does it probably turn their it serves it enter and then I turn or yep turn right by there how much is it enter 90 enter done ready click my square so there are people I have a friend who’s who isn’t has some visual issues and he’s unbelievably fast now like used to be hard to find it you also from other way I showed you you can change the size these blocks not all the elements of the UI changes your scale obviously it’s a web page I can like do apple plus I feel like get out of this mob I have to get out of keepo editing to be able do that but watch i do this i can go apple plus i maybe its view you can make view in zoom in right i can zoom make this bigger but i don’t like because it makes

a blurrier so you can make these blocks as a larger scale which is called zoom blocks to do that which is really nice you could also grab this and make this bigger if you need to kind of see that but not all the elements of the UIC these guys you out is still small so not everybody scales like that but we’re working to make it easier to kind of engage so the students who say Dan I want to switch to a text language to be able to do this faster they they once they have these keep our entry is better i also want to show you one more demo while we’re doing demos here and while no questions are pending let me just show you this one here which is and you can pedal you can do this this next one yourself i’m going to go to Chrome and make a new window and type um tinyurl you can feel free to tripped up on this right here / bjc jeopardy is the URL bjc jeopardy okay by the way one of the great things about having a URL is how you pass things over i’m making some code and coding in front of value right okay then i can save the RL you can load the URL and you’re all let machines laptops computers displays and now you all have my copy could I was working on then I go and add a feature and I say go grab that all you do is go back to the URL and it reloads what I had if I save mine it saves in the cloud then you reload so it’s a way to kind of keep students up in a workshop or in a class as you’re quoting with them it’s a great demo so bjc jeopardy slowed adem to see what happens so this will load snap will do this an enter presentation mode and do the other thing here okay this is one of my favorite projects because it talks it it uses the idea of open data and it channel’s the internet in that you’re using a block called the HTTP block I don’t know what’s happening with my cloud but the ATP block is a block where you can actually go to a website grab data and pull it back and then use it in in look in your type of sound I haven’t even tried it okay so i’m gonna click this button what is rock the boat okay and somehow my computer has a German accent I don’t know how it got that way and I would love it and it can help me take that off and but I don’t know I art it was fascinating is our men developers from Germany he might have borrowed my laptop at some point in the recent scratch conference and converted something in some setting I don’t know how to get it out so I still have a nice friendly German transcribe so this is what about this is it this is a normal Jeopardy question and i click i can just click on it to get the answer what is Michelangelo okay so how does this work how does this work this works by the following this is so cool ask jeopardy question but I do know that there’s another example simple example I sure the bottom TV news is named a gender forever nuna gender so it says what’s your name and I say Dan and it says ah expect I’m just changed something maybe I just change something out here but what let me show Jeopardy works jeopardy that worked this morning okay jeopardy calls this API this internet API that returns a json string so it looks like javascript object notation string well you don’t be parsing that this no list if I so that list if I something that takes this string which we just call the sentence and makes it a list of lists of lists of lists key value pairs then I have query which can take a key value pair and query this and find the if I give it a key get to the value from the key value pair so queries like I wrote it’s very easy okay so that’s the whole code so it goes to the API gets this J something in which one of these guys is the title one of these guys is the category one of these guys is the question pulls out all three of those it just says them that’s all it is this whole interactive thing is about five minutes of work if you’ve done this before so it’s so cool to have internet api’s open data for voting and for parking and for lights and four sensors and boys and temperatures and all these things that you could bring in and put in and wrap around a really beautiful experience for students who can then interact with some way this is great day my saw which was um there was sensors on parking spaces in front of one of the key spots in downtown Barcelona and you could just query it you require some API and say give me sensor number seven that would give you that parking spot with us a car there or not and so they then have a little loop that’s squaring it every 30 seconds or something and it shows cars when it frees up the virtual car will go and drive away and so there’s a picture of what the car status is even though they don’t know all they know is the sensor but like a little picture of cars driving and driving out as they’re comparing it and getting it there beautiful beautiful example of kind of wrapping an interactive thing with this in an API and connecting with that seamless with snap beautiful one last thing i want to show before i go to show you all the things you sure about codification how you can wrap that i showed you the internet api i showed you some of the graphics you can use the last thing to show you is this j/s function so again this is part of the demos under examples j/s functions up

back here examples jas functions ok Yanc this is in the web javascript runs below so they allowed a port where you can call a javascript function but wrap it in an interface that looks like it’s a block so let’s look at this over here on the bottom is speak hey my click on this see if that works for me today speak is the block for speak maybe my German think I tire okay stop that I’ll try label label this is like way to do our label we didn’t have a labeling in this okay how does label work label calls this JavaScript function now you don’t need to worry about this works because someone figured out how to call this interesting API to get is just write text on it okay with the parameter of size this code I don’t need to worry about it because all I see is a label block it’s as if we were primitive so you can go in and add interesting crazy blocks that call chrome api’s or other JavaScript API to do interesting things you wrap it in an interface that looks looks to everybody who uses it like it’s normal built in from the system so this big snap block is calling all the JavaScript hootie-hoo Danny who does all the work but I just see label I’m calling label and using it in a beautiful way so the other powers I’ve talked about codification I talked about the internet API but this last piece to internet with generac with javascript is a language feature that really can open the world for students who really want to go crazy and add some amazing things that weren’t built in to snap and too hard to build in the snap and for example it’s much faster to call a javascript drawing routine than it is to call snap so as in a simple example he does a here’s a seer Pinsky curve which poop and there’s a pretty picture which i think a little bit longer in snapped around but it’s really pretty to do that okay and I think there’s one I’ll just leave a cool demo which is I think it’s live tree I think it’s one that’s the one here let’s see if that works and I’m I say space that’s supposed to go space key that’s supposed to work let me just see run and that space key space key space keys work I might have I might have messed with it so this is a space key and this is our just a really fast thing and there’s that there’s a way to kind of make this there’s a way to change the private I did try this one last feature which is you can have input sliders and have you execute on slider change which means i can go in here and this tree sighs if I slide this notice I’m getting like live coding rather than running it and get the output I can grab it to this very this is also in Khan Academy app if you sing Khan Academy you can grab the JavaScript from change the parameters so I’m just showing you as I’m going and grabbing this number and changing the value being passed into this and now it’s live changing you these things I don’t know what this this may be the angle i know this guy that was is scheduled so is that just beautiful to kind of see how each of primers effects and output you don’t have these in other languages but the fact is because we came to javascript and make it fast we can kind of do other things and change some of this stuff this is just great for your fractals is just too great them of that so lots of things that we have in snap that are great benefits by the way you don’t have to buy the whole bjc package just free anyway it’s all out there but you can just do snap you can you decide to snap as language want to use and not use you know blown to bits and now use our curriculum but you think snap is fun or you can use some of our things and not use you know the book or something so all these things are pick and choose whatever you think is good so I was answering questions I wasn’t being asked to me because i want to show you more demos anyway I just having fun this is a good stuff back go yes ya mean thoughts on how early that’s a really good question that’s a really good question I love scratch so much that i would say every grade school kid in the world should be playing with scratch more than the maze thing i want to have an i’m a big constructivist so I want people to be building their own stuff not just follow the thing to do your maze mr. code.org but having you know now they also have some creative stuff at the end of the things but it’s all about you know open-ended for example the way scratch did their hour of code they said go make a greeting card right there’s no limit to what you can do with your creativity or pictures and sounds that’s my spirit also unless of the kind of wrote puzzle things so I think every kid should see scratch in grade school so by the time you’re in sixth grade before you go to middle school or fifth fifth grade you’re making projects and you’re saving you may not know really all of the cs map but you’re engaged and your interactive and you’re making sharing and all that stuff once you have scratch snap is like scratch it just it doesn’t have the same user demi they have 10 full-time staff or something a lot of you know just to manage the forum so make sure that kids are happy and not putting you know BAM and all that stuff so we don’t have that step but we have a great deal of programs we’ve done a lot of great things here so snap is just here’s functions you already we’re making functions and scratch here’s a

function equity undervalue a little bit there’s a little drop it’s the same the idea they look the same the same blocks and control construction now here’s some leak in the little idea now here’s a list that you can return a value from it a little bit more hits so you can kind of step really carefully and add more cognitively when the kids are ready add some of the details to that the real deeper question is that so many courses mine included assumes the kid has never programmed before right I even say in my first day of class all right who’s program before and there’s some hands and I asked him look what languages and I say thank you for telling me that you’re not supposed to be in this class and they go and I don’t kick them out I don’t make them embarrassed but I say please consider other classes which are better suited for people who have who have program before so by the time the second if their lecture comes around those people aren’t there anymore so I have a room of people who haven’t programmed and I can take you from Jump Street to all the stuff when I do but what if you have this in a high school class where kids might be feeding in from did for Middle School’s some middle schools may have no no programming then find you can do this some have done a lot of programming well what do you do differently so I think that’s a constant challenge for all of us to make sure you kind of can handle that impedance match where you have a large variance of kids with different experiences coming in we had that for our hour of code you know you’re an hour of code thing we have some activities we talked about that earlier today or where’s my earlier today person ever well we had the hour of code conversation we had and what do you do with 12 high schools that are coming in and this one has done snapped before and this group has time scratch but not snap but this group has not done anything so like what how do you make an activity or seller activities we were talking about before yeah all objects I couldn’t find it but all around right so that’s really a challenge I much of I entry question but it but it is a challenge I say early I say you can bring this stuff in early I said this is really meant for down the street never programming for juniors in high school 16 year olds I think if you’ve seen it earlier if you’ve seen scratch and you know that stuff this can be even earlier than that I don’t think the ideas of that crazy yeah yeah yeah ratio good what do we do love it love it no no it’s not one if I’ve chatted student it’s 125 teaching support person in student there’s one ta for 30 students and the lab assistants we brought this up early the lab assistants let me tell you it early the lab assistants are paid by credit so students get credit they just get general graduation credit they get one unit for every three hours they work so I have 70 people i could pay 2,000 people i have no limit to the credit i can give it’s the number i give and is no i’m sorry i don’t give them more you use the BR an allotment no no come on crazy so it’s a it’s a Stuart Regis University of Washington created this kind of undergraduates being involved and invested in the undergraduate education by teaching and being section leaders and that kind of thing that reflected and kind of bubble all around and hit everybody so you have to create a culture or students know that we like the course there’s a role for you all the a students you tell you all these two there’s an expectation if you get an A you’re going to give back it’s like the pay it forward model there’s expectation and a culture that you give back and you get credit and students all do them in all of my a students i would say eighty percent give back and come back for at least one semester and all of their lab assistants that are amazing you know those thieves other people in the room they bubble up to be readers in the bubble one’s the best readers become TAS when you get to be tae berkeley you get full tuition full tuition plus you get paid so you’re twisting covered and you get an hourly wage um it’s it’s a university thing and we somehow found the money for it but that is what works so there’s it’s not just that people doing it because they want that prize they want the gold ring but they all love it they’re giving back because i love the course of course meant something to them and you have to make the course meaningful so you bring a course that keep students love and are making videos about how much they love it and they want to give back and share that with other people and you talk about that the last week in class I’m just shaking and saying guys I really need you to the reason it worked because you had a four-to-one ratio I need you to come back so I can talk about the giving back thing and so I i push it really hard but there’s a culture of it which didn’t i didn’t have like create the culture that’s kind of already culture that and this is but other people mother may remember this is of course from mostly non majors so I’m telling the people who are the chemists and this and the bio people you need to come back to the computer science department and help the next even if you’re not a CS person you can and I have a fair number of my lab assistants a big percentage are not CS majors then his love this thing this somebody who worked away all the way up and she was a bio major she Jake in two or three classes she took it out the next course for major that was it but she still worked her way up to be a TA she was a TA for me even though she had only taken two or three more CS classes but she knew this stuff cold and there’s not a question and this stuff she couldn’t answer but more that she couldn’t but she was awesome she was where my best two days ever so you leave the space for students who are really want to give back to give back and you talk about that culture of giving back which really works great question today yes oh no it’s so much fun no this was

great oh yes indeed thank you right thing Holly for organizing everything Thank You Holly awesome all right wonderful yes I my schedule is my kids say I look about 25 women phones computers