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!!