Tuesday, September 19, 2017

Kivy Basics - explaining widgets

This is my video that has gained some small amount of traction on YouTube that explains the passing of information becak and forth between py and kv files.



Example 1:  Coin Toss

main.py
CoinToss.kv

Example 2: Noob basic shape
main.py
noob.kv

Hope this is useful to people trying to get started in Kivy.




Tuesday, June 20, 2017

The Day I fell out of love with UNSW ProgComp

I love programming. 


I really like getting into a problem I find difficult. I quite relish the heart pounding self doubt before I finally untangle my own thoughts and get a stupid machine to do my bidding. I'm not very good at it, I am not able to intuit node traversal or dynamic programming or (god forbid) prolog parsing but I love having a go and am completely addicted to the euphoria when I get a problem out. Cryptic crosswords are a similar joy (except Fridays in the smh, gah!). So with all this love in me I try to engender the same kind of relish for tricky problems with my students.

I run a code club and teach years 8, 9 10 and 11 and have some form of programming in the teaching programs for all of those years with Year 11 studying the NSW Software Design syllabus. These students are encouraged to seek out ways to stretch themselves forward rather than just do what already feels comfortable. 

Every year for the last several years we've had a ProgComp Party!

ProgComp is an annual competition run by UNSW where the grand prize is scholarship money towards the winning students' future tuition. It's part of the UNSW outreach program and is more about recruitment for them but also purportedly about getting more students engaged with tricky programming problems.

What's a ProgComp Party? The students spend several weeks (for an hour or so a week) honing their Python skills, I order Pizza for lunch and buy a stupid amount of lollies. I book out a computer lab and we move all the library's portable white boards in. The students have some code snippets to get started with and when it kicks off at 2PM I print 10 copies of all the questions and teams do their best to hack together an answer or two. 

We're not very good. We're never going to get into the finals and I have been known to prod the younger students a bit to get them over the line of completing a question. We don't mind not being real contenders though. As one of my Year 9s said "It's not about winning it's about getting a bit better each year."

We usually get to the end of the 2 hours feeling bruised and battered and exhausted but happy in our small successes.

Not this year however. This year the atmosphere was completely different and I had to convince some of my students not to leave early -- that's never happened before.

What was it about this year that was different? It was harder and more mathy, more impenetrable and much less accessible to my students. The questions were so poorly explained that I had to read them multiple times to work out how to retell them to the students in a way that would get them started. 

I understand that we're not the target market for this competition. It's about attracting the super-geeks and encouraging them to put UNSW first on their uni application. But my goal is to present kids with tricky problems that will whet their appetites and sharpen their thinking skills and have them feel more efficacious than they did the year before. 

I'm not a maths teacher but I do run the maths club at school (although that might be a grandiose title for what it is), and I'm not afraid of a bit of maths but it's intimidating for kids to see formulae they don't understand. 

The Junior question was not very hard once you understood it. It involved file processing and formula following but it was so badly framed that my juniors were at sea and I was giving far more help than I ought to have just to have them feel like they were still part of it.

The first question after the junior was quite a tricky problem with a mapping of the shape of strings necessary. It took a serious amount of time to decompose before even thinking about syntax. 

Needless to say we're not going to the finals but my concern is that the on-ramp was so steep that I might lose some of my students who walk away thinking this programming thing is impossible. Now I'm going to make it my mission in life to ensure that doesn't happen but I can't see booking a room with the whiteboards and the Pizzas and the lollies again next year. Maybe we'll attempt the Friday cryptic crossword instead. 

Sunday, June 11, 2017

Edutech talk

It was my privilege to be invited to speak at Edutech this year. This is  my talk from the main stage in the expo. What an amazing event!

STEM is Hard but Valuable

SUPERGIRL
There’s an 11-year-old girl I know and she’s a force to be reckoned with. She’s not your average kid, she’s been coding in Python and scripting HTML from the age of 8 and she’s completed the National Computer Science School Intermediate Challenge with a perfect score. She’s no fading violet either. She’s a scout, she competes in martial arts tournaments and rides a road bike at nearly 30 km/hr and when she occasionally falls off she wipes the blood off and gets right back on again. She is resilient and she has some mad skills.
The other day she was working on a harder competition and was faced with a coding problem she didn’t know how to solve. She burst into tears. She said she didn’t feel good enough at programming.

RESEARCH?
All of the research I’ve read suggests that confidence issues in Technology and Maths stem from bad experiences when young, negative attitudes to technology and Maths from female role models such as primary school teachers, negative attitudes to technology and maths from the mother – none of these applied here. And maybe it was a bad example, maybe she was tired?, having a bad day?, it’s by no means a representative sample but it struck me none-the-less. How can this happen? How can a capable, resilient, skilled young girl feel so overwhelmed by a tricky coding problem? And what hope is there for the rest of us?

IS THE ON-RAMP TOO STEEP
I’ve told this story to people I know.
My teacher friends say – the problem was too hard, the student needed more scaffolding, the on-ramp was too steep. Who agrees with that?  I don’t really think so. I know the kinds of problems this kid has solved in the past – I think it *was* appropriately on-ramped and I’m a bit of a geek so I enjoy this stuff but, if you scaffold things too much I think it takes the fun away and makes learning a tutorial. People get frustrated by tutorials.
My tech friends have a different take. The kid cared too much about the mark and not enough about the problem. It was a motivation issue.
This feels true. We heard about this kind of thing from Carol Dweck. The kid was crossing that line to the Fixed mindset rather than the Growth mindset. She was pushing herself forward to achieve an arbitrary outcome – it was an intellectual exercise. The only reason to complete the problem was to say she completed the problem. Let’s look at the rest of her life and see if we can determine her motivation in other things.

She is an active Scout. Scouts involves social games and problem solving and small fabric arbitrary outcomes that you can sew onto your uniform. You can even get a small fabric arbitrary outcome for sewing other arbitrary outcomes onto your uniform. But I get the feeling that the motivation is more playing around in the dirt and lighting fires than it is about the badges and research seems to agree with me. There’s a fun article by Deci, Koestner and Ryan that argues with the previous debunking of the original paper that posits that badges probably undermine intrinsic motivation (I like tracking the arguments) -- but it all kind of depends on the learner and the type of learning.

The next thing we know about the kid is that she trains in Martial Arts. Martial Arts definitely involves extrinsic motivation but it’s by no means arbitrary. If you watch a Martial Arts class you see that the belt colours are more a representation of levels like in a computer game. They are motivating because they define the ranking in the class and the social structures are all built around the levelling. Those high-ranked colours earn you some respect but they’re also not the reason you work hard, they just keep track of where you are on the continuum!

Finally, we know that she rides a bike, not in competitions but for the joy of getting from one place to another fast. It’s not about ranking or winning (except she thinks it’s awesome to “beat” her brother -- but doesn’t everyone?).
None of these things only derive a sense of accomplishment from the checking off of tasks – the completion of the next pre-defined difficult problem. But so often our school type problems – and particularly abstract STEM challenges do.
So how can we help our girl to continue to grow her skills in STEM without breaking her spirit? We must make the problems meaningful to her. The Digital Technologies Curriculum and the draft Curriculum for NSW Digital Technologies both talk about “real world” problems.

REAL WORLD
So, what is a “real world” problem?
Dan Meyer is one of my favourite educational bloggers. He’s a former maths teacher who did a TEDx talk on how we should do Maths differently – it went kind of edu-viral a few years back. He makes a distinction between real world problems and interesting problems. He says the interesting problems are the ones that hook the kids to have them want to know the answer – or indeed to come up with their own questions. This is actually how I define “real world” problems when I read them in the syllabus documents. This reminds me of the Melbourne Declaration which states “Successful learners– are creative, innovative and resourceful, and are able to solve problems in ways that draw upon a range of learning areas and disciplines.”

STEM-EMBEDDED AUTHENTIC PROJECTS
The place to start is STEM embedded in authentic projects. The challenge our original little girl was faced with was a difficult file processing problem. Now I don’t teach many 11 year olds but I do teach a bunch of high schoolers and in a bunch of my classes we have to do file processing with code. I can teach the iteration and what to do with strings line by line and slowly watch the kids’ eyes glaze over as I lose them. Or I can have them make a computer game. Once students have been making a game for a while and they’ve had some success and let their friends play some of the early levels they start to ask how they can keep track of high scores even after the program is closed down. How can they do that? Computers don’t do a good job of holding onto information after the power has turned off. – The students need to do it by writing to a file. And when they open the game the next time the first thing that game has to do is open up that file and process the information in it. Suddenly the kids care about file processing and teaching them how to solve those problems are no longer my idea but theirs – it’s practically no longer teaching!
So all we have to do is make our students care about each individual content dot point and everything will be rosy! Except…

THE SITUATION SO FAR
In primary schools Science and Technology make up a minimum of 6% of indicative teaching time. The Technology portion is 3% (charitably) In the shape of the new curriculum Technology is made up of Design Technologies and Digital Technologies so that leaves 25 minutes per week to work on a programming project. Tricky to get to those moments where the students are begging to learn the thing they need to solve the next problem.
Google talks about future careers being CS + X where CS is computer science and X is whatever it is you’re interested in. I think this needs to be reversed in our classrooms, particularly in primary schools. Our focus is not to make hundreds of thousands of computer scientists but to teach students authentic problem solving and algorithmic thinking and STEM is just a hammer with which to hit that particular nail. Steve Jobs once said “Everyone should learn how to code because it teaches you how to think.” So let’s enrich Maths, English, Arts, HSIE with projects that incorporate STEM. Designing projects that allow us to do double duty lets us make the most of the time we have with the students.

PROJECTS
I have a few projects I can talk about here as integrated with STEM to make the best of time with students while also meeting DT outcomes. The first is a Mandatory Technology project in the area of textiles that has been adapted to incorporate computational thinking and coding. The students were encouraged to design their own outline and features for a monster soft toy with ahidden switch and soft circuitry. They then worked with Arduino version of C to write a simple program. Some of the students extended their project to incorporate a squeeze switch to change the sequence. The good thing about this project is that it’s student defined (within a defined framework) it hits the required outcomes, it’s engaging, it extends the original textiles project and it’s scalable to meet the skills of the students. The difficulties with this project were the frustration with sewing unshielded conductive thread with beginners stitching… can you say zigzags and short circuits? Debugging of the circuit is only possible once complete lines of stitching are done but then fixing that requires the unpicking of complete lines of stitching. Unpicking is very hard on motivation. It’s slow and arduous and we watched students become slightly less enamoured with their monster with each time they had to unpick anything.

The second case is a cross curricular project centring around Health from PDHPE. The students spend 19 weeks (totalling about 30 lessons) learning the components of health and how they’re measured. They also concurrently learn about using MIT Appinventor and being reminded of the design cycle by following the design thinking model. The students then define their line of inquiry, choose a target audience and develop an app that meets the need of their target audience to try to improve a component of health. The benefits of this project are that it is student led, they choose their audience, their area of health, their motivation techniques and they use the LMS to learn the skills they need Just in Time. The detriments were that the time was quite short all told and the students had pretty high expectations for what they could achieve in that time. --- 
It is a problem these days. Even when I first started teaching the skills required to make something that looked professional were within the grasp of the average computing student but now everything is so slick and the User experience is so good that there’s a chasm between what our students can make in the time allocated and what they see on their phones every day. ---
That said it was an extremely successful project and we’re looking forward to running it again.
One of my favourite concepts was an app where young children were encouraged to move more to earn points to get water and food and accessories for their pet cactus. Cactuses are way cool with 14-year-olds right now.

The showcase was a “shark tank” like presentation where the students showed their Minimum Viable Product to a panel of judges to ask for investment (the most persuasive presentation got a gold bar {of chocolate}). This project shows that you can meet outcomes from very disparate KLA silos. It showcases the best of the idea behind X + CS. But STEM is still hard.

WHAT'S NEXT?
I believe that things are going to get easier. As Digital Technologies implementation gets smoother and teachers become more comfortable with the content, as senior primary teachers can start to rely on the kids they teach to come into upper primary with sound algorithmic thinking skills from lower years and high school teachers can build even further. The kids are going to be bouncing off the walls if we give them a Scratch project or Blocks based App inventor project – they’ll want to break any benchmark we set them now.
The girl from the beginning of my story is fine. She slept on it, asked some questions, picked herself up, wiped off the blood and cracked the problem the next day. But it’s still not the best way to motivate a student to push themselves in STEM learning.

Authentic real world projects involving student autonomy that are well designed to cover syllabus outcomes and allow for embedded just in time learning. I just said that so quickly it sounds almost easy. I don’t think that’s easy that’s what they say in the tech biz is a non-trivial problem. Extremely difficult but not impossible. So I’m going to leave you with a question to take home just before I open for questions from you. Can you think of ways to incorporate authentic STEM enriched projects into your non-tech units?



Monday, February 13, 2017

New Year - New Everything

It's a new year and I'm changing just about everything just to keep it interesting and to try to make the vibe of Digital Technologies come alive in NSW classrooms before we officially get a curriculum.

First Change: Year 8 technology this year will be using the ATTINY85 with usb interface to program our electronic plush monsters (See Tutorial here)

Second Change: Year 8 needed an Interdisciplinary Unit because they are transitioning to MYP. I put forward a proposal with PDHPE to create a new STEM-Health Subject. We'll be helping the students to make Android Apps using Appinventor 2 to motivate users to be more healthy.

Third Change: I have the largest group of external students ever in Software Design and Development (Preliminary) and I'm looking forward to helping them to bond and work together as a class as they progress towards the mastery of HSC Software Design.

I also have the Australian Computing Academy which will start talking over more and more of my life as I help integrate Digital Technologies resources into classrooms across Australia. 

This is going to be fun!

Thursday, January 12, 2017

NCSS Day 9 - The All Nighter

7:00 - What the heck am I doing awake? I mean, Good Morning and welcome to the day of the very little sleep. Shower and breakfast and then a quest for the necessities of life... Campos coffee.

8:45 - Some very bleary-eyed students, teachers and tutors at morning roll-call. There was a minor war for the couches.

9:00 - At SIT - No lecture this morning. Instead the embedded teams work to prepare their minimum viable product for about lunch time. 

9:30 - Ran a mini-lecture on multiplexing and how to share pins between multiple LEDs to allow for efficient use of the pins. Some of the students went a little glassy eyed so we agreed to make the MVP with a minimal number of LEDs and work on animating the fade (requiring multiplexing) only after MVP is nailed.

10:00 - Decided to utilize any down time to learn Recursive parsing and evaluation. This is something that has stressed me for a while so it's a logical goal. Working on recursively parsing mathematical statements first - then move on to Prolog. Students are jumping in and out of the labs to have "mock" interviews with sponsor companies - a very cool part of the program.

11:00 - Gah, parsing fights with my brain but progress appears to be being made.

12:00 - Got the parsing finished - break for morning tea.

12:30 - Once the parsing was finished, the evaluation was surprisingly easy. Had to tweak the input a little and the program actually reverses the list of tokens so that the order of operations works for the math statements -- nailed it.
<< My code (well, image thereof)

12:45 - Students went off to thank sponsors and get some generalized feedback on the interviews and I went off to lunch in Newtown.


2:00 - We had a birthday celebration for one of our students at morning tea so MVP has been shifted to 3:00PM Frenetic activity in the lab.

3:00 - MVPs shown to the rest of the group. Lots of masking tape and velcro! 

4:00 - Everyone completed their feedback survey for the whole summer school and then heads to the engineering lecture theatre for the annual "What's uni like, what's research like, what does and ATAR mean in reality and should I do more Maths?" talk from James Curran and then an overview of natural language processing (which reminds me that I still haven't sorted out the stupid Prolog parsing problem -- tonight during the quiet time)

6:00 - Dinner time and a couple of teachers went to the pub to toast the fact that we'd made it to the end intact and chat about school and politics and forming support networks and exchange funny anecdotes.


7:30 - Everyone back to SIT for the headlong dash to the finish line. Embedded teams were madly finishing off for the "NCSS Olympics" at 10PM, web stream teams are trying to add as many features as possible before their required to take a break to compete in the said "NCSS Olympics" for which they will have to be dragged from their keyboards. Once they get started though, it's super fun.

9:00 - Set up for the Olympics and final team tweaking for the competition (one of our teams had issues debugging right up to the deadline). 

10:00 - NCSS Olympics! My favourite projects were:

  • Laser tag - use a laser gun and there are 3 randomly placed
  • Physical Torture - where the micro:bit tracks your number of pushups, situps and squats until you really feel the burn
  • Running between radio connected micro:bits to read a sequence of letters and then enter it into the other one.
  • Dab Dab revolution - where you need to Dab in the correct orientation as tracked and dictated by the microbits 
12:00 - Pizza!

1:00 - Back in the labs working on my parsing project for another hour

2:00 - Embedded Lecture. All the groups who had finished their projects with the Olympics were invited to an embedded "Show and Tell" in the lecture theatre. Seriously cool

3:00 - Watch the NCSS2017 movies made by the tutors and the returners. Seriously good!

3:40 - Hogan out! zzzzzzzzzz

4:10 - Back at my room for a couple of hours

7:10 - Coffee Run

This program really smashes your sleep patterns but I love it and we all made it out the other side!



Tuesday, January 10, 2017

NCSS 2017 - Day 8

Tonight will be the last night of sleep for a number of our intrepid campers.

Today was the kick-off for the projects for the embedded stream! We had lecture (with optional extension) this morning and then Labs where the students brain stormed ideas for the project and then the remainder of the day is working out proof of concept and testing and researching to head toward the MVP (Minimum Viable Product). The students are making somethign that takes environmental inputs to target the health of the users and each project will be showcased in a Robot Olympics at about 10PM on the "All Nighter". 

Morning Lecture
This morning's lecture covered signal conditioning, calibration and a high level view of what the CPU does. There was then some extra lecture that was recommended for those who were handling the pace and were interested in how gates are represented in the circuitry and how a CPU works in detail. I have notes for the first, mandatory part. 




Morning Labs
The students spent this time brain storming and then reported back to the larger group as to what they'd decided. It was a little confused because we had some students but most stayed for the second part of the morning lecture so we weren't able to progress all that far. It sorted itself out pretty quickly though. The teams within out lab group were very different in their choice of project which is really good to hear. I think the micro:bit makes them feel more confident so they felt able to think outside the box.

Lunch - Teacher Talks
We met again as teachers to talk about next steps and what we'd do with our students. Bruce and I had a bit of a talk about how we've succeeded and struggled to bring parts of the NCSS program back to our classrooms. Hopefully it was helpful for others to hear how things could be scaled back. It's great to hear that most teachers in the embedded stream agree that there is so much they can do with the micro:bits because the depth of the electronics we cover at NCSS in unnecessary for jumping in and getting started. As a dabbler in Arduino myself I concur that this is very true. No doodle notes on this session because I was talking quite a bit of the time. 

Project work
Challenges to solve: 
How do we split up the resources among the sub-teams?
How do we map accelerometer readings to discover when a particular movement has been achieved?
How do we display the success or failure of a challenge to the user... these discussions are really interesting - screens are for wimps!

The simulation
The simulation is a short game (remember the all nighter is tomorrow) where students are expected to come up with a 1 minute skit to represent NCSS in a given genre. In order to maximise their planning time they also have to show that they can run two sort algorithms using humans in their group to the satisfaction of their tutor. (If you do a good job of the sorts quickly you can have more time to plan than your fellow teams - unfortunately, this is not always a benefit to the quality of the skit). The fun comes when you then have to re-perform (or continue it) your skit with much less time -- 20 seconds and then 5 seconds (HINT: If all your characters die in the first skit, the sequel is not going to be very interesting.) It was fun and funny.

My family came to hang out for a bit and we took my boy up to get teeth achingly sweet cookie and icecream sandwich at a place called "Cloud 9" - parental guilt can be profitable.

Early night in prep for the "All Nighter"
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

NCSS 2017 Day 7

Nearly Project time...

Today is Monday, we had normal lectures and labs and then Programming comp as the evening activity.

Morning Lecture
The first lecture was about Analogue to Digital Conversion and Digital to Analogue simulation. Followed by a fun session on using software and lots of time to create your own PCB maps for creation. Not sure if this is something in my future but it was fun finding out the practicalities of this stuff.


Morning Lab
The students I'm working with are still trying to get their robot moving consistently. It's moving forwards and backwards and I talked them through the algorithm we're going to use for following a line. They then focused on reading from the light sensors and working out what those numbers mean. The DAC lab will have to wait.


Afternoon Lecture
The second lecture was about different ways to communicate with devices using the micro:bit and some of the pros and cons. We then had a high-level overview of the project ready to be put into teams.


Afternoon Lab
The students I'm working with have been hacking away at their line-following code all afternoon and they're getting frustrated. I've discovered that the sensor and input management is working just fine. It's something with the motors but we ran out of time. At least they seem happy with their team for the project and I'll have another crack at debugging tomorrow morning while the lecture is on.


Programming Comp
I love programming comp. The teachers didn't place this year but considering our overall experience level with Python we did really well and the "experienced" team didn't even get tutor help so I'm proud of our performance. Go team! My favourite question was a secret message hidden in pi where you had to convert each char in pi to and int and then it's bin representation and then jam the binary strings together - the message was hidden in the resulting data string with starting addresses given for each letter and then the following 8 binary digits making up the ASCII code for the letter. - Beautiful! Well done organising team.

100011111011111101111110010010000010011101101001110011111010001110100100001

Sunday, January 8, 2017

NCSS 2017 Days 5 and 6

Bad Blogger!

I missed the deadline to post last night so I left it for the tutors' day off (today).

Morning Lecture:
I snuck into the Context Free Grammars lecture (which is in the web stream of NCSS) because I'm rubbish at recursive parsing. You'll be happy to know I'm still rubbish at recursive parsing but might actually have a crack if I got time to practise them rather than hiding under the bed like I would have before said CFG lecture. 




Morning Labs:
We then had a teacher meeting during the morning labs in which we asked teachers for feedback on what they had done so far and what would best suit their needs in the coming days. The feedback was excellent and some adjustments have already been made to the program because of it. For instance we'll be having a 'working lunch" next week to allow teachers to share ideas for how some of this stuff works in the real classroom.

Afternoon Lecture:
And now I get the pay-off from skipping a lecture. I had to madly read this morning's lecture and also this afternoon's lecture so that I was comfortable enough to tutor the students in the afternoon lab. I managed to get into the afternoon lecture in time to hear about and galvanize my understanding of the H bridge (which has always been a bit wishy washy) before heading off to labs. The end result of this is no pretty embedded notes from yesterday. 


Afternoon Labs: 
The problem of being at the limit of your understanding is that it's much harder to confidently lead the students on their path to understanding. (Electronics and me are acquaintances rather than buddies just yet). So I had a bit of a humbling experience explaining the bits I was confident with and sidling up to one of the more advanced tutors to confirm answers to trickier questions. It didn't help much when our voltage divider activity didn't have the correct reading and we were desperately trying to debug the wiring and the code only to realise that the multimeter was not working properly - FAR OUT! 

Crypto Challenge
That evening we had the cryptography challenge -- not historically my favourite - I think it's more the timing than anything else - it hits you at your most tired - but I also tend to try for clever ciphers rather than cipher volume (which is the way to get more points) and they don't always come off. This year crypto was brilliant. The tutorial was accessible even to the inexperienced coders and our teacher cracking team got some of the basic codes out and there was lots of hi-fiving so that was pretty fun and I got my silly code finished - then rejected for being too hard -- then accepted after some negotiation and adjustment, just a pity by that time the challenge was pretty much over so none of the students got to "have a crack" har har. The other (more competitive) team came equal first so the teachers had a great night!

My cipher:

:double_vertical_bar: :skull_and_crossbones: :biohazard_sign: :aries: :keycap_number_sign: :skull_and_crossbones: :cancer: :orthodox_cross: :keycap_number_sign: :double_vertical_bar: :white_frowning_face: :taurus: :taurus: :keycap_number_sign: :black_spade_suit: :star_and_crescent: :cancer: :capricorn: :keycap_number_sign: :aquarius: :virgo: :keycap_number_sign: :capricorn: :wheel_of_dharma: :star_and_crescent: :keycap_number_sign: :wheel_of_dharma: :white_frowning_face: :taurus: :taurus: :keycap_number_sign: :white_medium_small_square: :leo: :keycap_number_sign: :peace_symbol: :star_and_crescent: :capricorn: :biohazard_sign: :wheel_of_dharma: :keycap_number_sign: :skull_and_crossbones: :keycap_number_sign: :virgo: :skull_and_crossbones: :white_frowning_face: :taurus: :keycap_number_sign: :leo: :peace_symbol: :keycap_number_sign: :black_spade_suit: :skull_and_crossbones: :capricorn: :star_and_crescent: :scorpius: :double_exclamation_mark: :keycap_number_sign: :double_vertical_bar: :skull_and_crossbones: :biohazard_sign: :aries: :keycap_number_sign: :peace_symbol: :star_and_crescent: :taurus: :taurus: :keycap_number_sign: :orthodox_cross: :leo: :black_spade_suit: :cancer: :keycap_number_sign: :skull_and_crossbones: :cancer: :orthodox_cross: :keycap_number_sign: :radioactive_sign: :scorpius: :leo: :aries: :star_and_crescent: :keycap_number_sign: :wheel_of_dharma: :white_frowning_face: :sagittarius: :keycap_number_sign: :biohazard_sign: :scorpius: :leo: :black_spade_suit: :cancer: :copyright_sign: :keycap_number_sign: :black_up-pointing_double_triangle: :cancer: :orthodox_cross: :keycap_number_sign: :double_vertical_bar: :white_frowning_face: :taurus: :taurus: :keycap_number_sign: :biohazard_sign: :skull_and_crossbones: :gemini: :star_and_crescent: :keycap_number_sign: :capricorn: :aquarius: :gemini: :radioactive_sign: :taurus: :white_frowning_face: :cancer: :yin_yang: :keycap_number_sign: :skull_and_crossbones: :peace_symbol: :capricorn: :star_and_crescent: :scorpius: :double_exclamation_mark:

I love it! : )

Sunday was tutors day off so I hung out with my family and came back in time for the relaxed games evening and some one on one tutorial with the very generous tutors, I'm getting closer to having another stab at Parsing Prolog soon and I feel much better about electronics until tomorrow : ) Thanks gang!

Monday tomorrow, Programming Challenge, I love the programming challenge. Go the teachers!



Friday, January 6, 2017

NCSS 2017 Day 4 Blog 4: Site visits and formal dinner

8:00 - On the bus to Wisetech Global

8:45 - Intro and Welcome from Richard White. His theory of scheduling "All gains are lost and all losses accumulate". Truer words were never spoken so we are encouraged to keep things snappy.

9:00 (ish) - #AllTheFood! Split into two halves and the other half went on tour while our group ate breakfast, crepes and/or waffles... So... Much... Food!

9:50 - tour (shhh secrets but awesome PCBs CNC machine and fast flat soldering component robot *sigh* #jelly)

10:20 - Talk by the Wisetech Global former NCSS students. Basically Wisetech is awesome and NCSS students are awesome especially when they work hard to develop their opportunities.

10:40 - Q and A with Richard White and group photo

11:00 - On our way to Atlassian!!

11:35 - dropped in the city ready for more food, umm, I mean tour and presentations

11:40 - presentation from Jurgen Spangler about the overview of Atlassian and its vision.

12:00 - Q and A panel with Atlassians. A brilliant chat with great people, the students were really engaged - particularly when they found out that an impulse to hack people's buggy software is a great kernel for an exciting job.

12:30 - Pizza and Tours. I was completely spoiled with a personal tour from a wonderful former-student. We avoided the crowds and I saw her desk and I then had an undignified fan-girl moment because she's in the same team as Lily Serna. After I may have squealed a bit Lily was kind enough to have her photo taken with me. I'm so proud to have had even a small part in inspiring a former student to work towards such success. We're going to stay in more frequent touch.

1:15 - food and photos.

1:30 (ish) - Back to the buses for the trip to Google. I have well and truly had enough of buses by this stage. I get a little motion sick.

2:00 (timing is losing precision) - We went to a Google building I'm less familiar with and had some fantastic mini-talks from NCSS alumni Googlers. Clever people! Before taking in the amazing office complete with Monorail meeting rooms and wall pods. No wonder these kids want to go into tech jobs. Soft drinks and icecreams for all!

3:30 - Most of the group went back to Women's college for a math comedian and "returners" headed to CBA.

4:00 - Arrived at CBA's shiny offices to talk to some of the cybersecurity team. What a cool job. It's a bit of a shame that we were a pretty tired by then. Note to self: I apparently talk more when I'm tired.

5:15 - Back on the bus *sigh* for the last time and back to the college to get cleaned up and somehow de-tired for the formal dinner.

6:30 - Managed to find my sparkle - it was hidden in the quiet on my balcony - and I got frocked up and came down to pre-dinner punch and mingling. This is clearly going to show my age but the kids look so pretty all dressed up.

7:00 (ish) - I had the most wonderful night. It's all a bit of a blur actually (no alcohol was consumed!) I really like hanging out with bright and passionate people and I sat with a really great bunch. Our industry Tutor was a fabulous woman who has done just about everything and has recently been hired by one of our sponsors just to investigate cool stuff they should look into as entrepreneurial opportunities (#topjob). The best thing about talking to great people is there is no such thing as small talk, everything is a great topic of conversation where you're either listening intently or sharing carefully thought through opinions. 
We also had the traditional "back of the envelope" calculation activity. This is where James Curran gives us an impossible question, a pen and an envelope and you use what small amount of information you have as a group and you're combined deductive or inductive reasoning to come up with a well conceived estimate and then he reads the answers from each half-table from highest and lowest alternatively until one remains and that is determined the "winner". He then reveals the best estimate research can supply. The interesting thinking here is that often the two numbers (the best estimate and the median answer) are eerily similar because reasons (there is actually theory here but I don't really have the time or space to explain it but it's worth looking up if you're interested). I love this game... usually and it's a great way to get a group to talk to each other. But tonight I was actually so enjoying the conversation that it was almost a distraction and I have to admit our team "mailed it in" somewhat. (Never apologise for a pun!)

Anyway it was a full-on day and then a scintillating night and I feel ready to help the students attack the projects tomorrow. Also cryptography competition - I have previously not dealt well with the difficulty of the crypto comp but plan to smash it tomorrow, or at least enjoy it : )  

NCSS 2017 Day 3

This is probably ill advised, it's already half past midnight and we have a big day tomorrow and I'm not going to be at my most perky but I want to get it down. I think that the length of the post may reflect my wish for bed.

We had our next two lectures, one covering bits, bit shifting, adding, oring and xoring (I am claiming the right to invent verbs) and and the other covering how flashing to the micro:bit actually works in circuitry, a barrel through dictionaries, functions, classes and file processing. 


We had a great time in labs today and I did a whole heap of tutoring including a short mini-lecture on how decimals work in binary. I probably should have worked out a really nice example before I started playing with the whiteboard marker because it turns out 0.1 gets to hard mixed fraction subtraction really quickly... ummm #mathfail or #studentchallenge?

I love talking to the the very clever tutors about the hardware stuff that's started to be relevant to the embedded workshops. We had mini-lectures on Ohm's law. and went through the components box to see what we can play with on Saturday, we also had a student invent a very excellent (and addictive) game to display on a 5 x 5 grid of LEDs and two buttons. Top Day!


 
The teacher team then got smashed in the scavenger hunt but it's still my favourite evening activity (I still love you ScavHunt!) there are lots of excuses but they will just cover the fact that we clearly didn't want it enough!



Tomorrow (later this morning) we will be taking very few photos in some very cool workplaces when we visit some sponsors (Wisetech Global, Google, Atlassian and CBA) So excited! Bed time.

Wednesday, January 4, 2017

NCSS 2017 Day 2

A Great Day! 

This morning we had our first non-introductory embedded lecture and went over some of the code required to get the micro:bit to do our bidding. The lecture was paced quite quickly and the students contributed and some asked questions that really challenged the capabilities of the device (I love curly thinking)

<-- These are my lecture notes

After the lecture we got into the labs with courseware that allows us to test out code in an emulator before we download to the device to see it in action. I had a bit of a play and then was encouraged to test out my tutoring. It was tops to approach the students and either just have a chat or work out how to help them think  their own problems through. 

I think embedded is heaps more accessible this year. Firstly, I think this is because micropython abstracts some of the hinky things you usually have to deal with in Arduino or even Raspberry Pi electronics (e.g. button bouncing + wires!). Secondly, I think the students are coming at the course with a higher level of programming ability either through the prep course or other Grok resource exposure.

After lunch we had a meeting about ACA (A new project developed to a fed government tender). We went through the requirements that have to be covered and a little about the time-line. It's going to be great to have real targets to hit and work towards. It's really exciting. Teachers of years 5 and 7 should watch this space!

After the meeting I went to the second lab which was already underway but I used the time to get two micro:bits with speakers attached to play The Final Countdown (both melody and bass). 

It was fun but I hope to get some more tutoring in tomorrow. It's tricky to know how much to help because the students are seemingly coping so well. I do wonder, though, if they're giving Python enough of a run for it's money to contribute meaningfully to the Programming and Cryptography competitions that are coming up in a couple of days. It'll be definitely better than if they had spent the last 2 days on Arduino - C++.
Finally, after the learning and the dinner we had the NCSS Trivia night and the teachers were once again ROBBED of their rightful place as winners. We know stuff but apparently when it gets to creative stuff like limericks and serial charades we suck. :sad_face:

Looking so much forward to the "Scavenger Hunt" around the USyd grounds tomorrow.  Teacher team FTW!!

Tuesday, January 3, 2017

NCSS 2017 Day 1

For the third time I am giving up 10 days of my holiday to experience the brilliant professional learning available at NCSS (National Computer Science School). 


I am in a slightly different capacity this time around as I am a Teacher/Tutor. This is a bit strange for me as there are 3 of us and I'm sure we'll be an invaluable resource for our fellow teachers but we're still defining the role so I'm a bit unsure who I am at the moment. 

We've just completed Day 1. It's only a short day so this won't be a very full post but we're all already immersed. 

Run down for the day: 

  • Lunch with early arrivals 
  • Meet the teachers (What a great bunch! I'm excited by how many have been before) 
  • Afternoon Tea and Registration 
  • Official welcome to the program 
  • Lecture 1 
  • Dinner and kick off of murder (I hold the record for the first kill! But was dead before I left the dining room) 
  • Getting to know our groups and team building activity 

Lecture 1 was fairly straightforward - it's always a challenge to excite the experienced kids without alienating the inexperienced ones. The lecturers did a great job of developing rapport.



Special mention to group 6 who rocked the flag pole build and were robbed of our glory by the three teams whose flags were "technically" higher than ours. Points for prettiness and teamwork please!