Computing across the curriculum

computing across the curriculum this is such an interesting area back in the old days before we had this fabulous new computing curriculum when we were teaching ICT there was a lot of us interested in ICT across the curriculum of course embedding all of these tools and many many more as ways to enhance extend enriched learning in all of the subjects which students study and there was even a movement to say we didn't need to teach ICT we could impede embed these so very effectively across the curriculum that our students would learn all they needed to do about blogging about spreadsheets about digital devices through the medium of other subjects I'm far from convinced that that was effective back then and I certainly don't think it would be effective now nevertheless these tools are many many others are really very interesting effective ways of extending learning in all subject areas I do hope that that is still happening that the move from ICT to computing doesn't mean that's children are still aren't making use of video across the curriculum aren't using spreadsheets to analyze data in maths or science lessons or whatever that we've not thrown out that particular baby with the bathwater of old ICT that's not what I'm going to talk about today the new computing curriculum as you all know starts with this really inspiring ambition high quality computing education equips pupils to use computational thinking and creativity anybody remember how the sentence goes on to understand and to change the world let's not just stop at that bit of course we want them to have computational thinking of course we want them to be creative then let's remember there's a purpose to this and the purpose to this is it says in as you remember understanding and changing world assessing how effectively computing is going in schools is simply a matter of going up to children and asking them have you understood the world have you changed the world if we get a tick in both boxes we're doing a good job there does anybody know what the next sentence is other than Simon who wrote this okay the next sentence is really very very inspiring to computing has deep links with mathematics with science the design and technology and I'd say other subjects in fact i think i did say other subject so that's another batter a provides insights into both natural and artificial systems is written there in the statutory program studying it must be true how much are we doing this in our lessons i'll be willing to just stop at the computational thinking and creativity bit and forget about the way that this subject gives us insights into these really interesting and exciting domains david brown has just stepped down as national lead for computing any safety for our friends at offset let's hear a fraudster before when he was allowed to present on what he was looking for when inspecting computing education said a school's curriculum is good or better if there are links with other subjects in the school that are productive and those strengths and pupils learning in computing if that's not happening in your school then david would have regarded your curriculum as one which requires improvement i think you might have been right we have of course for barefootin it's been lovely to have effort here and hearing so much about how barefoot has worked out in schools this lovely model of computational thinking thanks Julia which separates the ideas or combines the ideas of these concepts of things like logic algorithms decomposition pattern abstraction valuation we're the number of approaches tinkering creating debugging persevering and collaborating of course we all know that these things don't just make sense in the domain of computing these are things which can be applied across the curriculum heaven forbid we are just doing logical reasoning in our computing lessons forbid the only place where a child evaluates the work which they or their peers do is in a computing less and these are things which have very wide applications and we often focus of course rightly I think on the concepts but let's not forget the approaches and it's been great hearing about the importance of resilience and the transfer of debugging from the language of code to english and maths work and so on so it's both concepts and approaches which transfer of course for that this starts even earlier than that they've ever was targeted a primary but let's not forget the foundations of what we do in the early years foundation stage strategy you have in development matters these characteristics of effective learning that a child before they leave reception should be creating and thinking critically should be thinking of ideas finding ways to solve problems finding new ways to do things making links noticing patterns making predictions testing their ideas developing ideas of grouping sequence cause and effect someone would you like your colleagues to be doing this at Microsoft Research David your students at Harvard yeah I think so everything which we learnt about computational thinking starts with these foundations in kindergarten in nursery in reception and good practice there should carry on through what is good practice there what does it look like Sharon solving big problems working collaboratively children looking at objects and dividing them into classes okay we maybe think of it of a different way round in some coding that they're looking at the properties of these objects you have children working collaboratively to solve difficult problems I do worry by the way about the gender split in this bottom left photographed you notice how the boys are doing the manual work whilst the girls take on a supervisory or managerial oh okay then in this one here we have practitioners with trial saws and thinker saws and explore a source and okay we can't really use those labels and those soft toys with our sixth form students but i think the ideas the ones that should carry on for barefoot and elsewhere we've looked at computational thinking across the curriculum jane has a wonderful look at phonics as a set of rules what's the algorithm for the phoneme grapheme respondents what are the rules which tell you how to write down the or sound when you're working with a classification key over in science this is a binary tree we introduce these ideas probably beyond computing before we bring them into computing mmm pizza we look at recipes we look at recipes for jam sandwiches and of course the importance of evaluation it comes to computational thinking we have children building things making things learning about the world they live in and let's put on a musical the amount of computational thinking that's involved in putting on a school play as he Mets they see lots of applications for this that we call computational thinking across the curriculum what though about the coding is that something which we can take outside of the domain of our subject into other subjects Phil uses the phrase computational doing and I think he's right to do so Jeanette wing when she was talking about computational thinking 2010 says it's the thought process involved in formulating problems and solutions so that the solutions can be represented at form that can be effectively carried out by an information processing agent ok she's including human beings as information processing agents but you know you all have another information processing agent with you in the room today don't you the computational thinking does seem this may be heresy to make sense when we then go on and write some programs thinking about an algorithm and then implementing that algorithm is code makes it much more fun makes it much more society makes it much more real makes it something which we can test filters the story of having children really excited coming into school showing him the programs that they've written and can't recall which are being quite so excited about the flowchart that they produce it odd isn't it you know I'll pseudo pseudocode I'm sure was doing work you know ok so the computational doing matters as well and in bed that we recognize this in in barefoot we had lots of examples where we could take an idea from the rest of the curriculum and a hang of computer programming unit around that so I'm can't quite remember what a fish tank thing was Jane will be able to remind me writing numbers by programming Abby bot to do that creating an animation of the Viking invasion which was I think bills inspirational idea for this I was doing a presentation to a group of Danish computer science teachers and was talking to them about what we've done and then realize that I can't use the Viking invasion example with that audience so we've got the sort of the water cycle as an illustration of repetition these are very much ideas from elsewhere to motivate some learning in computing there's another way round to this as well and I think epic got this right back in nineteen eighty he saw how children who'd learn to program computers could use those models to think about thinking to learn about learning and to extend their powers of psychologists and pistol ologies he tells a really good story about that this idea of learning to program then empowers you to think about problems to understand systems differently this is another take on computational thinking this is getting to those things which we label as computational thinking through the experience of writing some code I may be wrong but I think some of your pupils and now getting to the point where they're quite good at writing code well done if so if not then you know it's time to catch up but if we've got to the point now where they're actually quite good at writing code in whatever language you happen to be using are we now at the point where they can start taking those coding skills and start applying those two problems in other domains to develop their understanding of learning in other subject areas the one slide summary folks look the ways that your pupils can apply their coding skills and their computer science knowledge to solve problems and to develop understanding in other subjects that they're studying too ambitious about time it's going to vary from child to child from school to school okay how we're doing for time let's think of some examples of this okay it's fair to say the examples on the following slides are very selective I pick like one for each subject there are many many many other examples and I'd love to hear your thoughts on this after this lecture also the programs that I'm using to illustrate this a toy things this is not developing sophisticated software engineering projects this is a simple way exploring an idea from the target domain with possibly the exception of the English work this hope is going to show you anybody using blender planned who is just fabulous it's a scripted 3d animation package this is another medium for a child's creative expression this is put together by a group of four sixth formers working together across across the internet to produce a digital animation using this 3d tool called blender and as a entry for the cs4 the animation 16 you sorry about that isn't that gorgeous work though yeah oops so gorgeous we doctor quite need to say it again but is there developing their learning in English I would say so there's a medium for creative expression there's more to English and simply writing things on paper I think that's a lovely example of that what about in matts so many examples to choose from in maths we have all of that there in the curriculum about the importance of learning fractions which I'm sure Conrad Wolfram would acknowledge is something which is very very hard to get a computer to do most of the software which we have doesn't do fractions ok Mathematica does well from language does but a lot of programs that we might use you know won't cope if you say what's three quarters plus a third and yet we expect a child to be able to answer that sort of question so why not write some code to do that or better still get the child to write some code to do that so with a little bit of luck I can step out of the presentation mode view and we can have a look at this ok so in order to do that we need to create a function which works out the highest common factor of a pair of numbers this uses Euclid's algorithm the oldest recorded algorithm Euclid was looking at this in the context of length and we can give it some numbers to work out the highest common factor of races yes the highest common factor of 24 and 16 is indeed aight what about 24 and 106 240 165 and the highest common factor of that is 15 once you created that little helper function you can go off and create your class of fractions and create methods on that clash which do class which do printing those fractions we should do adding fractions together subtracting multiplying and dividing fractions if you're looking for a motivating context for object-oriented programming in Python as this is then implementing a system for fractions arithmetic could be one of those if you want to see whether a child understands the algorithm for fractions arithmetic why not get them writing some code to get a machine to do that for them so we can give it a fraction two-thirds plus a quarter is indeed 11 12 let's just prove that this is a live demo would have had two thirds plus three quarters 1712 two-thirds take away let's do a multiplication then x three quarters and that apparently is a half is that yeah that's right it's a video why not I'll get your pupils to start thinking about how they can take those ideas and apply them elsewhere what about science so many again examples in science who here is familiar with Conway's life keep your hand up if you try coding it if you've tried coding it in Python okay well done sir Oh curious about how you went about that it's not a difficult thing to do but it's worth doing because of the insights into this notion of artificial life into the properties life for very very simple rules it's a rule based algorithm live so with fewer than two living neighbors dies live cell with two or three living neighbors lives on live cell with more than free labor neighbors dies out because of competition for limited resources dead cell with three live neighbors becomes alive at the next stage you can implement that as a model in Python relatively easily here we go here so we import the numpy library which lets you do a raise in Python those of you who are wanting to teach arrays in Python please note we can set up an example of that here so let's just have I don't know sixty percent or serve a hundred grid so they're not true if they're alive false if they're not we can then use our model for this artificial life Conway's life and apply that one generation at a time and then you see how that's evolved from one generation through to the next yes it has okay we now wave our hands and say okay don't worry too much about all of this code this is somebody else's programming which just implements a nice animation and GUI for that and then we can see what this looks like okay so there is the example which we had in the next step there where it's true or matte picture is colored in black on that one so that's our first generation we can step through one generation at a time we can run those rules repetitively and see what happens over a hundred erations and there we eventually have a stable population in those eight cells that have shaded on the screen that we can design things in this environment we can create life and see how that will evolve according to those rules and famously in Conway's life you have this little pattern of 9 bits here which again we can get see and it looks like that when we put it on to a 25-22 grid and let's see what that does over time isn't that gorgeous I could watch it all day but we're going to run out of time if I do okay so there's an example from science what about art and design lots and lots of opportunities for computational art the generative are to my favorite of these I think had to be the fractal tree let's make this a little bit bigger so what you have here is recursion through turtle graphics we say a tree is made up of well you go up a bit we turn left a bit we draw another smaller tree we come back where we were we turn right a bit we draw another smaller tree we go back to where we started always leave things as you found them okay and then we keep doing that until the tree gets so small that we seize caring about it we run this in turbo mode because life in the presentation time is too short and let's see what it produces there okay so we get that and we can tweak these numbers we can change these numbers and see how that changes the tree is that beautiful how'd you decide if it's beautiful what what artistic judgment are you bringing to bear on this and how come such a small bits of a bit of code looks such a good representation of nature what insights does that bring with it okay what else have we got we have designer technology and this is written into the document you've got the lovely thing from Royal Academy engineering about the links between design and Technology and computing there to take away in your goody bag last Friday oh is that haberdashers askes boys school school with more apostrophes in its name than any other school in the country I think yes okay and they launched their my crabbit by give it not just giving the microbe it to the child but creating a whole day of problem-solving activities around that to forgive their theme choose you you you you you you you you you you you you there's a fabulous day it really was in Philips in the room okay there he is yes talk to him if you want to know how they went about that is really really exciting day lots of other opportunities for design and technology links with computing foreign languages we heard earlier about the importance of Latin in the curriculum back in the 1960s 1970s and of course Alex hope and in Livingston talking about coding as the new latch it well perhaps we've got to the point where latch in could be the new coding I was really enjoyed Ben Davis presentation where he hides the scratch blocks by applying a like Photoshop filter to it what about coding in another language used the scratch language packs to swap out into the language that they're learning anybody interpreted either the Latin or the Korean version of this and tell me what this program will do you take on code tracing if you want I think you're on the right track there okay we can run the code and save it so they mundum I'm hoping is latin for hello world okay links with geography you can do lots and lots with looking at data in a geographical information system we can also though do the lovely raspberry pi weather station project who here has got a raspberry pi weather station in that school oh well done you we asked for one at Roehampton do you know what they said but this you've got what are you doing anything with it yet this is wonderful news for those who just don't want to look out of the window and see what that's fine okay but we can look at the historic where the data keep track of that data over a long period of time and start doing some interesting analysis with this let me just read load the restart and clear out but yeah yeah that's fine okay so we do a little bit of initialization we read in a spreadsheet which I downloaded off the met office's website which has historic weather station data for Heathrow going back as far as 1948 and you see all of those numbers there are a wonderful okay we can have a look at what they mean they mean monthly maximum and mean monthly minimum temperature as those of those numbers look at the degree of precision Wow we can work out the standard deviation we can gather plotted as a histogram now if you've worked your next cell no offense Simon doing a histogram in Excel oh it's not a pleasant experience doing a histogram here in the pandas toolkit to python really really nice just one line of code and there you get the spread of monthly minimum temperatures over those years we can do a scatterplot comparing the sunshine with the minimum temperature and surprise surprise sunnier moths or warmer feel free to tweet this okay we could do a certain amount of data clear it cleaning there so just tidying things up we can look at the first few rows of that we can find out what the weather was like back in 2010 this month okay i'm sure that's very interesting we can find out when the cold months are what a column and so i'm going to call those weather but the average minimum temperature was below zero for the whole month and where or where the number of days where there was frost is more than half of the month more than 15 notice the boolean operator coming in there is searching a database really isn't it and you've got all of those months we can look at how the maximum average monthly maximum temperature average monthly minimum temperature has changed over time and there you get some charts okay I was expecting more reaction yes can you tell notice notice firstly that there's like a 12 month periodicity to this temperature seemed to go in a 12 month lease I conclude have got it can you tell from looking at the chart whether there is any truth in this global route global warming thing or not what can we do well we could take al an average let's look at maybe the past five years average temperatures and do a rolling average of that and see what that looks like on a plot when you say it like that average temperature over the previous five years 60 months and slightly yeah it is a rolling average so what on the data that's plotted there is the average of the previous six team of us yeah ok so that's smoothing the periodicity out from this graph and you do seem to see some sort of trend line using our computer science using our coding skills to learn something in another subjects domain which is kind of the point I was trying to make it ok you have in the history curriculum the opportunity to track one particular idea over a long period of time at both key stage 2 & Key Stage three what about the history of communication what about the history of cryptography linked to history take them on the trip to Bletchley Park National Museum of computing absolutely fab places but also why not get them writing some cryptography code so what have we got here we've got a number of little routines here let's just load all of those in we've got something which encodes a message by just moving it longer alphabet or using a ciphertext alphabet which decodes it we've got a thing which sets up a Caesar shift cipher which is what they were using like 2,000 years ago for cryptography which is just moving things are all along the alphabet a certain number of places let me have much more sophisticated ciphered substitution cycle where we swap a letter for another letter of the alphabet according to some rules so Caesar cipher with a one shift a becomes BB becomes C substitution number 123 we using the random number seeds would be that one that's in code hello world and we get that which looks entirely impregnable as a code absolute gibberish until you realize that each of those letters as yes and shifted along one we can take that with this entirely random substitution cipher and do the same sort of thing and that looks an awful lot harder to code until you spot that all of the Owls are coded exactly the same way until you recognize that he comes up a lot in the English language and then we can decode that so where do you go from there what's a better safer than either of those two well there's this thing called the Visionaire cycle which takes a keyword and does a Caesar shift cipher according to the letter of the keyword and if you take a long keyword you lose all of the periodicity from that so you can try that as code as well so take hello world and encode it using the this keyword oops didn't initialize the functions do that again and you get that out of it let's decode that using the same keyword and we get hello world back if we got the wrong key word rather than this we thought it was that then we don't get the key world back interestingly you could probably guess it from the number of letters that we did get right so he were 24 not a particular secure system so lots and lots of opportunities for children to explore children to experiment with cryptography and its history music of course now there are a number of people in the room who think it's really good to be able to understand code to make logical reasonings use logical reasoning to predict what a program will do if i type that into Raspberry Pi what tune will I get jingle bells I like that thank you sorry very good thank you very much Larry Bird's one person able to do coke comprehension here we have trouble making the sound work earlier ok now I'm not going to be able to play it to you and no comment on brexit views is employed by this ok what about peak can you use odin p yeah lots of ways I'm wearing something which keeps track of my fitness of the moment you can also use the Kinect as a sensor plugged in to scratch and get children writing programs which they have to dance in front of the computer to use recorded in scratch as you can see in full screen mode and our presentation mode and the scratch cat here has gotten the new body and the joints have been controlled by me as you can see you don't think that's fabulous very great fun Simon's walk to the front of the room which suggests i have rather outstayed my welcome here right quickly PHS Ian citizenship no code for this one but it's worth getting your pupils to think through some of the issues which result from how code is used for instance if British Library ask them what did they want for the future of the web this was a year ago 2015 anniversary of the Magna Carta look at the things which young people said and people voted on item to freedom of speech item 3 free from government censors in all country item 4 not allow any kind of government censorship item 6 be free from censorship and mass surveillance the list goes on there seems to be a theme emerging from their responses to this question what are their insights and programming into computer science say about that and finally re well we have a whole huge number of ethical issues which are going to be on your pupils horizons I suspect what happens when the machine passes the Turing test I think the Machine did pass the Turing test but just by impersonating somebody who didn't speak English very well and was a teenager and obsessed about particular things they may be getting it wrong we will get to the point where the mish where we have a conversation and we can't tell whether the thing responding on Twitter or the thing responding on the phone is a person or a machine what happens then when that machine says unconscious I'm self-aware I'm saying unconscious does that mean I am what are the ethical impersonal implications for that and getting your young people to think through that is important for their future will leave you with a question how many of these ideas or other ideas like these would work with your pupils in your context in your school with your colleagues I think it may be easier in primary because we often have the same person teaching them for computing as for foreign languages as formats as for science the opportunity to make the links in primary are easier they get good at coding when they got up to secondary what the opportunities then for exploiting those skills inside other subject domains doesn't look as though I've got time for questions okay right

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *