Code Clubs @ StAC

2015 has seen two Code Clubs start at St Andrew’s College with Mr Phil Adams running one in the Secondary School since the start of the year and Mrs Vicki Pettit alongside Mr Wilj Dekkers starting one in the Preparatory School during Term 2.

Preparatory School:

CodeClub_LogoThe Preparatory school are using the resources provided via Code Club Aotearoa and there are around 20 students that attend regularly, within which there is a reasonably even break down of beginners and intermediate coders with 2-3 advanced coders.

The resources on the Code Club Aotearoa website are perfect for beginning and intermediate students however, Mrs Pettit is exploring options for the more advanced students and in what areas they can possibly start to apply their skills e.g. robotics, Raspberry Pi projects and possibly entering them into the Canterbury Core Education Digi Awards. The other pathway recently made available to these Prep students is Monday lunchtimes with Mr Adams in the secondary school code club.

Secondary School:

In Term 1 2015 Mr Adams started the Code Club for students that were interested in learning more about programming and were prepared to attend during their lunchtimes. His motivation was twofold:

  1. There was currently no option in the Junior curriculum (Years 9-10) for programming which means when students can take this at Year 11 they are often being introduced to the concepts for the very first time.
  2. There were a number of very keen students who did not have an avenue for support in their coding unless they persevered by themselves and were essentially self-taught from online.

Whilst there was an initial surge of enthusiasm from students, this settled into those that were committed, keen and prepared to give up a lunchtime to learn more. Having looked at the formal code clubs that existed (such as Code Club Aotearoa above), Mr Adams also reviewed online offerings such as Code Academy and Code Avengers which were useful, particularly Code Avengers which aligns with the New Zealand NCEA standards. Ultimately, however, he decided that students could continue to access these in their own time and that the focus of the Code Clubs at StAC would be slightly different.

python-logoThis alternative was to focus on teaching the students the very basics of Python so that they could create their own scripts and taste success early on. The reason for Python was quite simple as Mr Adams explains:

As a text based language the syntax is not complicated and it is very logical. Therefore, the learning curve would not be too steep for our new students. An alternative language such as C or C# would be too challenging for them to start with.

As students learnt the basics, Mr Adams focused on creating a team culture where students could learn from each other: the beginners seeking help from more advanced students, who in turn could reinforce and demonstrate their understanding of Python by teaching the beginners. Through this approach, it is hoped the Code Club will become self-perpetuating and independent with a positive and interactive culture.

With a few weeks of the basics out of the way, the goal became to progress students with the introduction of logic into their coding e.g. a basic guessing game such as this one:

An example of a number guessing game from Hana

An example of a number guessing game from Hana (click to download the Python script)

Hana, who created the above script, had the following to say about Code Club @ StAC:

I used to do coding at my old school, Selwyn House. There, it was a big thing and we did robotics and Hour of Code. The code club at StAC is super fun. Mr Adams is a really good teacher and he always lets us figure out why our code hasn’t worked. 

Coding a basic guessing game is not too difficult and yet it can easily be extended with the introduction of more logic that would require students to be able to calculate the average number of guesses it takes people to correctly guess the number each time. To support this extension, Mr Adams has created numerous tutorial videos on his YouTube channel that students can access, such as this one on how to create a list within a list using Python:

Paper, Scissors, Rock by Louis (click to download the code)

Paper, Scissors, Rock by Louis (click to download the code)

Louis, who also attends the Code Club @ StAC, created a game of Paper, Scissors, Rock in Python. Like Hana, he is also enjoying attending:

I am attending the Code Club because I enjoy coding in my own time (I also have done some robotics coding and other things) … 

I have learned things with Mr Adams (We are doing python at the moment, I have many other languages including: HTML, CSS, PHP, UNIX Terminal, Command Prompt, and JavaScript)

Next Steps:

Mr Adams has some clear next steps identified for the students in the Code Club, with the ultimate aim getting them to work collaboratively on a project together, all contributing code to a repository such as GitHub. This would enable replicating a “real world environment” where multiple people all work on much larger projects. This mirrors the message from Old Collegian Claudia Pottinger, who shared her experience as a Google Intern writing code in Python last summer. It is apparent that some of the students in the club are already thinking that far ahead, such as Jack who is in Year 9:

I go to code club because it is something I feel will benefit me in the future, and it is my intended career path. Computer programming is one of my passions, it is something that I enjoy doing in my own time.

It is extremely fun, learning new things and being able to help others who do not know so much.

A project I just finished recently was the year 12 internal exam, where you make a program in python that allows a user to select, order and store different pizzas with a range of flavours and prices.

I feel that in the future Programming will be a large part of nearly every job.

Jack's Pizza Ordering script (click to download)

Jack’s Pizza Ordering script (click to download)

Another idea to extend the students is to introduce activities from Project Euler – a website that describes its motivation as being:

The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context.

To complete the activities on the website, students will need strong mathematical ability but also programming skills. One example from this website that Mr Hilliam, Maths and Statistics teacher at St Andrew’s, has used with his students is to write code that identifies the sum total of all prime numbers under 1000.

With keen students in the secondary school, along with increasing numbers of students coming through from the Preparatory and other feeder schools, providing an avenue for students to learn coding at St Andrew’s College is essential.

Old Collegian Shares Google Internship Experience

internshipsFormer student Claudia Pottinger (class of 2013) returned this week to share her experiences of being a Google Internee with Mr Phil Adams’ Year 13 Digital Technologies class. I was fortunate to be able to listen in on this session and record a few reflections.

Claudia attended St Andrew’s College for five years and during that time never studied programming or computer science, instead focusing on the ‘two Science, two Maths and English’ approach. When she started at Auckland University it was to studying for a degree in Engineering and a BA in Logic and Computation. It was in Computer Science 101 that she was introduced to the language of Python – something that was going to prove very helpful when it came to apply for the Google Internship.

Having seen a link online offering Google Internships for “under-represented groups in the technology industry”, Claudia applied, sending off a CV. She was eventually contacted and went through two different phone interviews to see her suitability for this role before being hired for the summer of late November 2014 through to February 2015.

MAIN ROLE AT GOOGLE:

The project Claudia was assigned to for her internship was to work in the Network Operations Corp and she worked on creating visualisation tools showing availability, packet loss and latency between Google offices and data centres. Her primary role was to retrieve this data from existing systems in place at Google, organise it into a useful format and then another internee helped to present this with web coding in HTML and JavaScript.

Licensed under Creative Commons

Licensed under Creative Commons

Google allowed time for the interns to become familiar with the environment and understand how work happens within Google (took about 3 weeks) and the project was completed before the end of the 12 week internship. In responding to questions from students in the room, Claudia noted:

  • The work environment was terrific – she was provided her own desktop (running a Google customised version of Ubuntu) and was also given a ChromeBook so she could work away from her desk.
  • There was flexibility in terms of what application she coded in e.g. she could use eMacs if she liked or other software platforms if she preferred.
  • Security was very tight – she was given an ID badge to enter/exit doors and also USB devices to authenticate onto computers.
  • The security around customer information was very tight, however she could browse code from different projects if she wanted to.

GOOGLE LIFE – THE PERKS!

The students at St Andrew’s were amazed to hear of all the perks Google employees had access to and even Claudia was impressed that as an internee she was also given full access to these. These included:

  • Gaming rooms – a wide range of consoles from various versions of Playstations, X-Boxes, Pinball Machines and even an old Nintendo 64!
  • Micro Kitchens – located usually no less than 50metres away from any workspace, these had snacks, candy and other food and drinks.
  • Four different restaurants each with unique menus and a smoothie bar
  • Rock climbing wall, pool tables, table tennis tables etc for recreation.

All of this was provided free for the employees and interns.

Click the image to go through to a gallery of photos from the Sydney Google offices.

Click the image to go through to a gallery of photos from the Sydney Google offices.

A typical day for Claudia was described as walking 40minutes to work from the provided accommodation, having breakfast and grabbing a smoothie for her desk before signing into work and checking her emails and then getting down to coding.

Whilst not required, Google encouraged the various teams to lunch together regularly, after which she might relax in one of the games rooms and then return to code till around 6pm. One of the four restaurants was open for dinner for staff.

In response to a question on whether there was close monitoring of work hours / effort, Claudia said that provided staff were delivering the outcomes required for their projects in the time frames set there was no questions asked about long lunches or breaks to play games etc.

KEY MESSAGES FOR STUDENTS:

Throughout the internship there was a lot to learn and some of the key messages that were passed on to current students at St Andrew’s College included:

  • Other people must be able to read your code – keep it clear, clean and use lots of comments in your code.
    • All code she produced had to be signed off by a colleague before it could be committed and for this to be accepted the code had to be readable.
  • Use the Coding Style Guides provided by Google to assist with this
  • Document what you’re coding about as well – be as clear as possible.
  • When applying for internships, include information on your interests and involvement in life outside of just programming.
    • Mr Adams reinforced this as well after his visit to Google in Mountain View and New York last year. He mentioned that so many of the applicants are simply brilliant academically that one way to stand out is to show what you’re passionate about and involved in outside of work.

CONCLUSION:

It was great to have an Old Collegian return to share with our students about the possibilities of internships and how to go about applying. To round out her experience, Claudia is likely to return to Google in Sydney at the end of 2015, but is also considering internships at alternative companies such as Microsoft.

This experience has also helped to shape her future career ambitions, focusing in on possible jobs in Artificial Intelligence and Robotics. Her final message to the students was that you don’t need to have everything decided right now and that by being a life long learner you can change direction within your degree and even into your career.