Demystifying the Dig Tech Curriculum – Part 3

It has taken me rather a while to get around to the final part of my Demystifying the Digital Technologies Curriculum posts, but yesterday I received an email from someone who is actually using the posts in her work, eagerly hoping to see part 3. So thanks for the prompt, Kris! Here it is. ūüôā

It is definitely best to read Part 1 and Part 2 first.

   F-2 3-4 5-6
Evaluating Explore how people safely use common information systems to meet information, communication and recreation needs (ACTDIP005) Explain how student solutions and existing information systems meet common personal, school or community needs (ACTDIP012) Explain how student solutions and existing information systems are sustainable and meet current and future local community needs (ACTDIP021)
F-2: Explore how people safely use common information systems to meet information, communication and recreation needs (ACTDIP005)
This one gives you carte blanche to talk about the impact of computer systems in our lives – from communicating with friends and relatives far away, to playing games, learning, and finding out practical information like when the next train to the city leaves. It also covers cyber safety – again, something you’re almost certainly already covering in class. Things like not giving out your home address or phone number online, or telling people which school you go to. It also covers ergonomic issues like sitting sensibly while using computers, and taking regular breaks to avoid eye strain and RSI type issues. The kind of messages that kids pay so much attention to. ūüôā
This section also includes talking about accessibility features – like text-to-speech – and how they impact on people with vision problems. You can explore all kinds of ways computers can increase the independence and quality of life of people with disabilities, and consider how computers and the internet have changed over the last 20 years.
3-4: Explain how student solutions and existing information systems meet common personal, school or community needs (ACTDIP012)
This is an opportunity to consider how information systems meet the needs of people in different demographics Рfor example how much is online bill paying used by people over 70? You could have students design an online survey, using google forms or survey monkey, to ask the school community about who pays bills online. This can lead to a class discussion about whether the people who are likely to fill out a form might be a biased sample Рie those not using online bill paying might also be unlikely to fill out an online form.
You can talk about how people’s needs are met – for example being able to find out which branch of the local library has the book you want to borrow – and how they are not, for example local council websites that have a lot of text-based information might be harder for people with dyslexia to access.
This is also a place to imagine bigger possibilities – for example asking your class what they would like to see online that they can’t see in person. They might come up with the surface or Mars or the Moon, or distant galaxies, or maybe their friend who moved to China last year, and what her house in Beijing looks like. You could prompt them to think about the opportunities in relation to STEM – like being able to explore¬†the inside of the heart¬†through a recording of a heart operation, or being able to plan trips to Mars using simulations of the conditions there.
You can talk about the different ways particular people use computer systems to support their everyday life – like using google maps to find a cafe nearby, or using google translate to help you understand the school newsletter if English isn’t your first language.
In discussing these things it’s important to look at the ways they could improve, as well as the ways they are great now. For example,¬†if you have any kids who speak another language fluently, ask them if they can find any phrases or words that google translate gets a little bit wrong.
In this context, students can also review each other’s sketched designs and provide feedback on whether the design is easy to understand, and whether the different interface elements (like buttons and menus) are well placed.
5-6: Explain how student solutions and existing information systems are sustainable and meet current and future local community needs (ACTDIP021)
I have to admit I am struggling with this one. Student solutions are incredibly unlikely to have a sustainability aspect. I can’t think of a credible example.
Acara’s description says “for example personal data are secured (social) and the solution can only be viewed on screen to avoid printing (environmental).”
Now, students don’t have the skills to secure personal data – it’s difficult even for skilled programmers to create a secure system. Grade 5-6s just aren’t even going to be using systems that give them the option, except in very rare cases. It makes no sense at this level.
However, it’s perfectly possible to talk about the sustainability of the systems they use – for example whether the computers they use are set to go to sleep after a certain amount of time, and whether computers that are asleep overnight rather than off use significant amounts of energy. (The answer to that one is worth researching, as it is changing all the time. The first google hit I got¬†when I searched for “laptop sleep energy use” was written in 2010 and is almost certainly now wildly out of date, so there are some interesting conversations to be had there.)
You can also talk about sustainability in terms of printing rather than emailing resources, and even in the context of whether the information in a system will still be accurate in a couple of years’ time. For example, as I write this,¬†Mem Fox’s wikipedia page is missing her latest book, because no-one has got around to updating it. So you can’t simply put up a list of all of a living author’s books without needing to update¬†it from time to time.
There’s also scope here to talk about different types of interaction and how they work for different sections of the community – for example touch interfaces in the form of tablets, ipads, and smartphones, and icons vs text labels on buttons.
Who uses which systems, and why are icons considered easier for people to understand than text? (and is that always true?!)
The key point in this section is about meeting user and community needs, so it’s great to look at how different systems, like WhatsApp groups, or Facebook communities, can grow communities and help them communicate, and also to talk about how that might evolve in the future.
Although the ACARA notes mention Aboriginal and Torres Strait Islander peoples in terms of how information technology meets their needs, it doesn’t give any hints as to how you might explore that, and to be honest I have very little idea myself. I know more examples of ICT use in remote parts of Africa than I do for¬†Indigenous Australian communities, which I suspect is an indictment of me, but also of our cultural focus.
Given the emphasis here on sustainability, I’d take the opportunity to talk¬†about the rapid churn of mobile phones and laptops – most adults expect to get a new phone every two years – and the subsequent impact on the environment of both the resulting ewaste and the mining of the necessary precious metals. You can look into the recycling of ewaste and explore the percentage of people who take advantage of recycling opportunities (at my council waste transfer station you can drop off ewaste for recycling for free) – perhaps another opportunity for students to survey the population and raise awareness of the issue.
   F-2 3-4 5-6
Collaborating and managing Create and organise ideas and information using information systems independently and with others, and share these with known people in safe online environments (ACTDIP006) Plan, create and communicate ideas and information independently and with others, applying agreed ethical and social protocols (ACTDIP013) Plan, create and communicate ideas and information, including collaboratively online, applying agreed ethical, social and technical protocols (ACTDIP022)

Ok. Finally we’re onto the last row. This section has been much wordier than the others, despite being fewer dot points, because it is largely based around complex social, environmental, and ethical considerations, rather than the relatively straightforward teaching of algorithmic thinking and coding.

F-2: Create and organise ideas and information using information systems independently and with others, and share these with known people in safe online environments (ACTDIP006)

Ironically the ACARA materials for this section repeatedly use examples of creating ICT artifacts “to share online”. Only the last line discusses privacy and cyber safety around sharing information online. When they say “share online” at this level, it’s safe to assume they mean on an intranet, or via email to individuals, but a lot of schools don’t have or use an intranet, or don’t have clear ideas around what is shared publicly and what is private.

So this is a great opportunity to talk about the safety of sharing things online, and who can see what, depending on where you share it. One of the key issues in cyber-safety is that once you have emailed someone a photo, or document, you have no control over what they do with it (whether deliberately or accidentally), so it’s crucial to talk about only putting things online that you don’t mind going public. I would argue that there really isn’t any such thing as a safe online environment. Even emailing pictures to your grandparents can lead to them being made available publicly online, if your grandparents don’t clearly understand the sharing settings on systems like Google Drive or Dropbox.

That also leads to conversations around what you can or should ethically do with things other people send to you. When is it ok to share them, and with whom? If someone chats with you online and says things about someone else, should you pass those comments on?

The technical content in this section is all around creation of things like presentations, documents, and movies – the kinds of activities you are probably already covering in class.

3-4: Plan, create and communicate ideas and information independently and with others, applying agreed ethical and social protocols (ACTDIP013)

The Acara explanations of this point are quite long, but they boil down to behaving in a polite and civilized fashion online – for example, by not writing all in caps, and reading all emails in a thread before replying, and treating other people the way you would want to be treated yourself – and exploring different ways of collaborating online.

Some examples of online collaboration might be using online document editing like Google Docs or MS Onedrive, or simply emailing versions of a document back and forth.

This section also includes an exploration of privacy settings, which is challenging to do in real online environments as most of them have an age restriction of 13+, meaning kids in grade 3/4 should not have these accounts. Social media platforms for younger kids typically have very restricted privacy by default.

5-6: Plan, create and communicate ideas and information, including collaboratively online, applying agreed ethical, social and technical protocols (ACTDIP022)

This is so close to the 3-4 version, only including the word “technical”. For the most part it is simply a deeper exploration of the same issues – online collaboration, and how you can make it work by setting up meeting times (in some cases considering timezones) and planning out the project so that different people contribute different parts.

Many classes these days derive their own set of Classroom behaviour rules, or Classroom Norms as my daughter’s school calls them. They are pretty much “how I want to be treated and how I think others should treat me” lists, and this is a perfect context¬†for the class to create a list of “online norms” to match their classroom ones. How do they think people should behave online? What kind of behaviour makes online collaboration work and what makes it hard? How should they talk to people online, and is it any different to the way they should talk face to face?

There’s also a section in here about using web based systems – such as WordPress, Tumblr, or Blogger – to create and share information. I’m not sure how this is supposed to work, though, because once again the minimum age on these sites is 13. I did find one blogging site specifically for kids,, but it’s not clear how much you can do¬†without paying for access to the site.

So there you have it. That’s the F-6 Dig Tech curriculum in an overlarge, but hopefully comprehensible nutshell. I hope you find it useful.

Feel free to share! And don’t forget, if you are looking for experts to help your teachers come to grips with the curriculum and how to incorporate it into your classroom work, head on over to Code Breaker Education and book an after-school or planning day workshop with former John Monash Science School Computer Science students. Hand picked for their teaching skills and empathy, Code Breakers make teaching programming easy.


Posted in Uncategorized | Tagged , , , | 2 Comments

So angry about girls in STEM right now

Yesterday I wrote about girls in STEM on my other blog. I was angry. I still am.

If you think girls are under represented in STEM…

If you think girls aren’t good at techy stuff or “hard” sciences like Physics…

If you think girls are just naturally more into biology…

GO read it!

Posted in Uncategorized | Leave a comment

Introducing my Code Breakers

Teachers! Want to learn about the Digital Technologies Curriculum? Need someone to teach you all about code? Code Breaker Education is ready to teach you, and support you along the way.

I have been worried for a long time about how Victorian schools can possibly skill themselves up to deal with the new Digital Technologies Curriculum. I know the idea of code is daunting for many people, but the new curriculum means teachers need to be able to program, but also to teach programming.

The most important thing in teaching programming, especially at Primary School level is not to know everything (who does??), it’s to be enthusiastic, and willing to experiment. So the key thing is to show teachers that it can be fun, and that it’s not scary.

I would like to introduce you to Code Breaker Education – a joint enterprise between me and alumni of the John Monash Science School Computer Science Programme. I have collected a group of my former students who know all about code, but more importantly are passionate about Digital Technologies Education. They know that programming is challenging to start with. They know where you’ll get stuck and how to help you get over that learning curve.

They are educators, communicators, and programmers, and they can help get you ready, and confident, to teach the Digital Technologies Curriculum.

I’ve watched them teach and I am so proud of their teaching skills, their passion, and their professionalism. This is the Professional Development you need.

Check out Code Breakers Education on Facebook, or on our website, and give us a call today to schedule your workshop.


Posted in Uncategorized | Tagged , , , | Leave a comment

Hidden Figures, Rewritten History

I’ve just come back from seeing Hidden Figures. My brain is on fire.

The film tells the story of the first Computers Рblack women! Рwho performed the calculations that enabled the US to send men into space. Who not only performed those calculations, but invented them. Who solved fiendishly difficult problems that had never been solved before. It is a masterpiece of story telling, of film making, and of setting history right. Because these are stories we cannot tell often enough.

Despite the realities of history, we have allowed that¬†story to be rewritten. We continue to believe¬†a story that says that the colour of your skin, and the number of your X chromosomes, dictates what you can and can’t do. What you are, and aren’t, good at.

We have allowed the history of computing to become overwhelmingly white, overwhelmingly male, and overwhelmingly false. We have allowed the history of space to become the history of a few white men.

Hidden Figures shocked me in its all-too-accurate depiction of overt racism and sexism – and it didn’t even deal much with¬†the violence, or the hatred. It made me realise how far we have come. But it also made me realise how far we still have to go.

We still have politicians telling us that your worth is dictated by your race. Or your religion. Or your clothes.

We still have teachers telling girls that computing isn’t really for them. That maths isn’t for them. That science is for boys. Most of them don’t say it outright now. But in a hundred tiny ways, girls are steered away from the “hard stuff”. In the questions directed to the boys, because the girls might not know the answer. In the career suggestions. In the level of support and encouragement.

But we know that women were central in the start of computing. From Ada Lovelace to Grace Hopper. From Mary Johnson to Anita Borg. Women have figured in computing every step of the way Рand they have frequently had to overcome extreme obstacles to do so, while all white men had to do was pick up the opportunities strewn at their feet.

I still get shocked looks when I tell people I am a Computer Scientist. A PhD in Computer Science is still something women aren’t expected to have. And the numbers of women going into technical fields remain¬†horrifically low, because we are constantly told it’s not really our kind of thing. And too many of us believe it.

So go see Hidden Figures. Take your kids. Take your students. Take your friends. And tell your students, your children, and everyone you meet, that the colour of their skin and the arrangement of their chromosomes tells them ABSOLUTELY NOTHING about who they are and what they can become.

The sky isn’t the limit anymore. We’re aiming for the stars.


Posted in Uncategorized | Tagged , , | 3 Comments

Demystifying the Digital Technologies Curriculum, F-6 (Part 2)

Now that it’s school holidays I finally have time to think. Part 1 of my “Demystifying the dig tech curriculum” post went a little viral – as much as a post on a niche Computer Science Education blog can – and there were a lot of requests for Part 2, so here it is. Once again, all constructive feedback gratefully received!

It’s probably best to read Part 1 first, as I’m starting where I left off. This is the beginning of the next strand: Processes and production skills.

F-2 3-4 5-6
Collecting, managing and analysing data Collect, explore and sort data, and use digital systems to present the data creatively (ACTDIP003) Collect, access and present different types of data using simple software to create information and solve problems (ACTDIP009) Acquire, store and validate different types of data, and use a range of software to interpret and visualise data to create information (ACTDIP016)

“F-2 Collect, explore and sort data, and use digital systems to present the data creatively”

This is another simple one, that F-2 teachers are¬†already doing: Collect some data, like the hair¬†colour¬†of everyone in the class, or everyone’s favourite fruit. Then you can either graph it (simple pi charts, bar graphs etc), or draw infographic style pictures to represent it, like this (although you would, of course, include better labelling than this lazy Computer Scientist has! :):


This one explicitly says use digital systems to do it, so you would probably use a spreadsheet package like Excel or Google sheets.

“3-4:¬†Collect, access and present different types of data using simple software to create information and solve problems.”

Another thing you’re already doing: collect some data, graph it using a spreadsheet program or some online tool, and try to answer questions like: What is the most popular fruit in class JB? Or better yet, incorporate it with some environmental sustainability and graph which class collected the most rubbish on Clean Up Australia day. And that’s a good one because you can graph it by weight or by piece count, or by rubbish type: wrappers vs bottles vs cans, for example. And you can then try to graph which class has made the most improvement to the environment – which type of rubbish is worst, and who has collected the most of it? Ok, I might be getting carried away here, but you can see how this goes. These types of activities always work best when they’re tied in with other things the kids are already doing, so that they can see the point.

“5-6:¬†Acquire, store and validate different types of data, and use a range of software to interpret and visualise data to create information”

This is really the same as the examples above, but ramped up a little. The data above was all discrete, simple values that you can aggregate: 5 blondes, 4 brunettes, 1 redhead. Or 6 prefer strawberries, 3 prefer apples, and 1 prefers oranges. For 5-6 you could start collecting continuous data like heights that is a bit more complicated. If you graphed the heights of everyone in the class as a bar chart you would likely wind up with 25 different entries on the graph, so you need to aggregate them somehow, like 100-110cm, 111-120, etc. This is a frequency graph or histogram. You can still use a spreadsheet to graph this, or you can make it an art and communication lesson by getting them to draw pictures in drawing software like Paint on a pc, or drawing or whiteboard apps on tablets, that are creative but accurate Рfor example using relative size, or number of items to represent the different values.

Creating Digital Solutions by:

F-2 3-4 5-6
Investigating and defining Follow, describe and represent a sequence of steps and decisions (algorithms)
needed to solve simple problems (ACTDIP004)
Define simple problems, and describe and follow a sequence of steps and decisions (algorithms) needed to solve them (ACTDIP010) Define problems in terms of data and functional requirements drawing on previously solved problems (ACTDIP017)


F-2: Follow, describe and represent a sequence of steps and decisions (algorithms)
needed to solve simple problems”

This is our first encounter with the dreaded A word: Algorithms. You’ve actually already met algorithms in the form of recipes, LEGO instructions (which are particularly interesting because they are largely visual, not text based), and any set of instructions you’ve ever followed. Kids will be familiar with these too, so you have a starting point. Next time you do a cooking activity, talk about the steps you follow, the decisions you have to make – like: is the chocolate¬†melted yet? If so move on to the next step, if not, heat it some more. Introduce the word “algorithm” for the recipe, and boom! – This line in the curriculum is nailed.

3-4:¬†Define simple problems, and describe and follow a sequence of steps and decisions (algorithms) needed to solve them”

Here the kids need to define a¬†problem, like “how can someone find my desk from the door of the room?” and then specify the set of steps that someone would need to solve that problem. Then they can follow each other’s steps and see if they work. This is a fun one because you tell the kids to follow the instructions as dumbly as possible, to find problems with the algorithm. For example, if the instructions say “Walk towards the back of the room until you get to my desk” they will¬†walk into any furniture that happens to be between them and the desk if they are really following the instructions blindly, the way a robot would. Similarly, if the instructions say “walk through the door” and the door is closed, there is a step missing that could result in a very sore nose!

“5-6:¬†Define problems in terms of data and functional requirements drawing on previously solved problems”

To be honest, this one seems a bit strange in this context. To me it makes sense in terms of software design, but for Grade 5/6 kids it seems a bit of a reach. For kids programming in Scratch, Snap, or other visual programming languages, you can only really skim the surface of an instruction like this.

So I take it to mean that you need to lay out the problem clearly before you start to write a program to solve it. Spell out what you are going to do, and what data you are going to do it with – for example if a student is writing a program to draw a spiral, they might ask for user input for the colour and size of the spiral. This is their data. And functional requirements simply mean defining exactly what the program is going to do – in the above example, the functional requirements might be “draw a spiral in a colour specified by the user, with as many layers¬†as the user asks for.”

The other part of this one is to relate the new problem to previous problems. How is this problem similar to something you have solved before?  eg drawing a spiral is like drawing a circle, but your line has to move outwards each time rather than finishing where it started.

The next row in the table has to come as something of a relief to lower primary teachers. ūüôā The good news is that it’s actually not hard for 5-6 teachers either.

F-2 3-4 5-6
Generating and designing Design a user interface for a digital system (ACTDIP018)

Design, modify and follow simple algorithms involving sequences of steps, branching, and iteration (repetition) (ACTDIP019)

5-6: Design a user interface for a digital system

This step is not nearly as daunting as it sounds. In a Scratch program it simply means laying out how a user will¬†use the program. So if it’s a game where you have to click on, say, balloons, in order to pop them, the user interface will be the start button, maybe a speed selector, and using the mouse to click on the balloons. Any interaction the program makes possible – any way the user can¬†do something to change something in the program – is part of the user interface. So anything¬†the user will be able to do – choose a pen colour, change the speed or size of an object, click on something to make it react – is part of the user interface and can be described before the program is actually written.

These¬†goals¬†are all aimed at teaching planning, as well as tech stuff. It’s really easy, even for experts, to just sit down and start¬†doing stuff before they think about what it is they are trying to do. So here the curriculum is saying “let’s think about what we’re going to do, and even write it down, before we actually try to do it.”

5-6: Design, modify and follow simple algorithms involving sequences of steps, branching, and iteration (repetition) 

Here we’re talking about algorithms, or¬†recipes,¬†not code. So this one is about being able to lay out the steps involved in solving a problem, using repeated steps (iteration – for example “keep beating until the egg whites are stiff”, “keep walking until you reach the stairs”, or “while there’s still LEGO on the floor, pick up a piece and put it in the box”), branching (testing to see if something is true, for example “if it’s dark, turn on the light”, or “if the cake is ¬†a chocolate cake, add cocoa, otherwise add vanilla essence.”)

 F-2  3-4  5-6
Producing and implementing Implement simple digital solutions as visual programs with algorithms involving branching (decisions) and user input (ACTDIP011) Implement digital solutions as simple visual programs involving branching, iteration (repetition), and user input (ACTDIP020)

3-4: Implement simple digital solutions as visual programs with algorithms involving branching (decisions) and user input 

Write a program in a visual programming language such as Scratch, Snap, or Blockly that has decision points (if statements, also referred to in the curriculum as “branching”), and user input. An example might be a program that asks the user¬†if they want to draw a square. If they answer yes then it draws a square, otherwise it says “Bye Bye then!”


5-6: Implement digital solutions as simple visual programs involving branching, iteration (repetition), and user input 

This is the same as the 3-4 version except now we’re including iteration (loops, or repetition). So the simple square program above can be rewritten to make the repeated bits simpler and just say “do the line and the turn 4 times” instead of spelling out 4 sets of lines and turns:

Screen Shot 2017-01-18 at 7.55.29 am.png

Once again this has become¬†a little long and I’m not finished yet! So in the best entertainment¬†traditions I am going to¬†end on a cliffhanger (ok, maybe it’s less of a cliff and more of a small step, but work with me here!) and leave you keen for part 3 (I hope!). The good news is that Part 3 will be much shorter. If you find this useful, please share it widely.

These posts are also going to form the basis of a series of Professional Development workshops run by former students of mine (only for Victoria at this stage, but there’s hope for online workshops in the future), so if you’re interested in those, and/or coding workshops that are directly tied to your existing curriculum, please fill out the poll below (purely to gauge interest levels, no names or contact details will be recorded) and watch this space!

Posted in Uncategorized | Tagged , , , | 2 Comments

Deep Learning Demystified

Just went to an awesome talk by Nvidia’s Will Ramey called Deep Learning Demystified. These are my notes – raw, stream of consciousness, and unedited. But interesting! (I hope)
Algorithms that learn have in the past used experts writing programs¬† with classifiers to eg edge detect or look for particular features. First programmer has to conceive of classifiers and then connect them together in some kind of logic tree and characterise the features sought – eg wheels are round… so you get a system for distinguishing between cars/trucks/buses but it doesn’t cope with changes such as a rainy day or a foggy day. So you have to manually create new classifiers and work out how to make it work. Doesn’t scale/translate to new problems.
New approach of deep learning uses neural networks to learn from the examples that you give it. You don’t have to manually create classifiers, you can use examples in the data itself so that the network creates the classifiers. The major advantage is that it’s really easy to extend. If you train it on cars in the daytime and then want to use it on a foggy day you just provide more foggy pictures and retrain the network. You don’t have to create new hypotheses for what might work, you leave that to the network.
With GPU accelerators the process of training and retraining the networks as you expand the amount of data is relatively fast and doesn’t require a lot of manual effort.
Stunningly effective for internet services, medicine, media, security, autonomous machines etc
Deep learning is also being applied as a tool to understand and learn from massive amounts of data.
NASA uses deep learning to better understand the content of satellite images and provide feedback to farmers and scientists studying the ecosystem about how to manage their work and increase crop productivity etc.
How do you do deep learning?
Start with an untrained neural network. Deep neural networks have a large number of layers, but might not be well connected. There are known topologies of nns that are known to be good at image classification, or object recognition, or signals analysis, etc.
In its untrained state the network is just a bunch of math functions and weights that determine how the outputs of those functions are communicated to the next level. It can’t do anything. To train a NN to distinguish between dogs and cats we assemble a training set of images. We use a deep learning framework to feed the images through the NN one at a time and check the output. If we’re only trying to distinguish between cats and dogs there will be two output nodes with confidence levels – how confident is the nn that it might be a dog, and how confident that it might be a cat? The framework already knows the answer and will evaluate whether the NN infers the correct answer, and if so it will reward the neural net by strengthening the weights of those nodes that contributed most to the correct answer, and reducing the weights of the nodes that didn’t contribute. When the nn infers the incorrect answer it will decrease the weights that contributed most. etc. You keep showing the same collection of images over and over, continuing the training. Then the NN gets very good at it. It’s almost a skinnerian psychology experiment, but without electric shocks. Showing the dataset once is called an “epoch”. It takes many many epochs to train the network properly, and that’s the job of the deep learning framework.
This is supervised learning.
Now you have a trained network that can distinguish between dogs and cats. But nothing else. If you were to show it a raccoon it would probably give you a low probability value for both dogs and cats.¬† The trained network still has all the flexibility you need for it to learn. But in most cases once you deploy it it doesn’t need to be able to learn anymore.
Colleague at Nvidia trained a neural net to recognise cats from a usb camera and setup a system to turn on the sprinkler system when there’s a cat on his lawn, to scare them away.
In some cases in the trained network there may be nodes that don’t contribute to the answer. The framework can pay attention to that and automatically remove nodes that don’t make a difference either way, or sometimes fuse layers to save time. And now you can integrate your optimised model into your application.
Deep Learning algorithms are evolving very rapidly, and it is challenging to keep up with them. Training NNs is incredibly computationally expensive, and you don’t necessarily know what the correct topology is at the start. So you might need to tweak it many times and train one, learn from that, and then explore different possibilities, which increases the computational needs and makes it more expensive.

You can check out nvidia deep learning resources online:

Posted in Uncategorized | Leave a comment

Notes on Diversity in HPC – Maria Klawe

Once again these are rough notes, unedited, taken during an invited talk at SC16. Some fascinating ideas in here, I hope the notes are useful to you.

Maria Klawe, Harvey Mudd College
Diversity and Inclusion in Supercomputing
Why diversity and inclusion matters:

  • increasing supply to meet demand
  • access to great jobs
  • better solutions to the world’s problems

We can’t meet that demand without enticing more people into these fields. Big data and data analytics are changing every aspect of society today. Healthcare, climate change, clean energy. Big data, supercomputing, machine learning are going to be crucial.
If you want to make a difference to the world, if you want flexibility, travel, these are really great jobs.
When you have a diverse team working on a problem you get better solutions. It can be diversity because of country, race, religion, gender, sexual orientation – greater diversity means better solutions.
Harvey Mudd is a small college focusing on science, engineering and liberal arts. Every student believes it is their responsibility to help everyone else succeed. They emphasise collaboration and communication from day 1.
30-35% of their graduates go on to get a PhD. Second only to Caltech.
In 1996 Faculty and students were around 20% female. 2016 women are close to 40% of faculty, and 50% students.
Racial diversity is also increasing.
It’s not enough to get them in the door. You have to ensure that the experience once they get there is such that they can thrive. That the environment you put them in is one where they can do well.
Females weren’t having as good an experience as the male students, because, for example, all of the speakers were white males. Usually older white males, because the faculty were older white males and inviting their friends.
“They’ll never let me tell them how to run the machine, because they say ‘you’re a girl, you couldn’t possibly know how to do this!'”
These are small things, but when it happens over and over again there is a sense of lack of belonging.
Faculty racial diversity is harder to increase than student diversity, because of low turnover. So we are training our faculty search committees on how to find a diverse pool of applicants, interview them so they have a good experience, etc. But the moment we take our eye off the ball we hire all white males.
Hypothesis: If you make the Supercomputing environment supportive and engaging for all, build confidence and community among underrepresented groups, and demystify the path to success, a highly diverse population will come, thrive, and succeed.
Minorities, like anyone, love the chance to work in an environment where the work you do makes a difference.
Make sure that incoming students feel that they belong, regardless of prior experience. We have students arriving with very different levels of prior experience.
Passionate students with prior experience in CS scare other students off.
So separate incoming students by prior experience. But you will still have some students who just know more. So I meet with the scary students who answer all the questions separately, and I give them the chance to connect separately, so that the other students have a chance to contribute in class.
If you are a female mathematician or computer scientist you go through life with people having low expectations of your technical knowledge. Which makes us more reluctant to ask for help because it seems like we’re not as competent as we should be. This is also true for HM students and many adults at all kinds of levels. So we work hard to set the expectation that asking for help and hard work are far more important than any innate ability.
In our intro classes HM have a black section and a gold section. The gold section is for the kids with no prior experience. The black section is for those who’ve had a year of CS in high school. And there’s a 42 section for the ones who know heaps.
How do you get the gold students to the same level as the kids who’ve already taken a lot of CS. You’ve got to add some extra material to the black course, and it has to be interesting and fascinating, but it has to have nothing to do with the follow on courses, so that they don’t enter the next courses privileged over the gold students.
If you tell someone they’re going to be a great CS student, it doesn’t make it happen if they come from a background where that doesn’t seem likely. You tell them “just take the next course”. And then they start to find that they’re good at it. And you keep on doing that. You make each course engaging and supportive, and make it that they can work hard and be successful. It’s also very important to give early internship and/or research experience. They need to know that what they are working on will make a difference in the world. Then they are more likely to stay in the course.
HM typically takes 40-60 students to the Grace Hopper Women in Computing conference. They take students to conferences with diverse communities to foster that sense of belonging.
They build community – clubs – and ensure access to role models – faculty, speakers, mentors from industry.
Suppose you have a very rigorous, challenging, graduate course. And suppose your students talk about it as “that’s the course where you find out if you really belong in this discipline or not. It’s a really tough course.”
That’s the worst possible way to frame a course. Because you weed out the people with low confidence.
Instead you frame it as rigorous, exciting, and interesting, and you make it clear that if you work hard and ask for help you can do well. Because anyone can do that!
You don’t need to demystify the path to success just for minorities. You need to do it for everyone. To ensure that it’s not just the dominant group who get all the tips and advantages and who therefore succeed.
Best ways to attract diverse graduate students:

  • Recruit diverse undergraduates for summer internships (research and industry) (start early!)
  • Engage diverse faculty in recruiting to PhD programs.
  • Recruit at institutions with diverse students.
  • Include D&I reports on grant applications. Funding agencies to start asking for info on the diversity of the student body and what the institution is doing to increase it. The single easiest way to get institutions to change is to tie funding to progress. So we need to do this for research funding as well.
  • Include diverse speakers at every SC conference. Members of program committees. Videos that you make.
  • (Author aside – on a personal note I would say ban your show floor companies from using women in high heels and tight clothing to interact with the crowds!)

Having a really positive experience early on makes them much more likely to do a PhD.
Numerous studies have shown that we are all biased. There was a study that showed that scientists in Biology with equal faculty gender split were given two sets of resumes. Identical except for first name – Jonathan vs Jennifer. Both male and female faculty rated Jonathan higher than Jennifer, and were willing to pay Jonathan more.
Faculty members at MIT trying to recruit would call other faculty at other institutions to ask for recommendations of PhD students, and both male and female faculty would come up with white males. But if they were then prompted for women and people of colour they would come up with several extra names. It’s not evil. It’s not deliberate. It’s completely unconscious. It’s just part of growing up in a culture where, eg all doctors are male so you tend to think that doctors are male.
So you don’t just post an ad someplace, you actually reach out and ask people, and you ask explicitly for diversity.
It’s illegal in North America to ask about partners, marriage, and plans to have children. You need to make very sure that your recruiters know they can’t ask those questions.
It gets really tiring to be the female who’s arguing for women. If you’re black it gets very tiring to be the black person. But this is the responsibility for everyone, not just the members of underrepresented groups.”

Posted in Uncategorized | Leave a comment