Articles / Student Stories

Cambridge Coding Academy Summer School 2016

Cambridge Coding Summer School – cohort 3, week 01-05 August 2016

I’m not going to lie, when my parents first told me that they were making me go on a five day coding course, I was horrified. Summer is supposed to be for relaxing and enjoying yourself, doing stuff you enjoy. You shouldn’t have to think besides maybe calculating how many ice creams you can buy with the £10 note your dad just “leant” you. Besides that, Computer Science at my school had never been particularly enjoyable for me. Most of it just seemed to be typing numbers into Excel spreadsheets or, if you were really lucky, making websites about dead celebrities you had absolutely no interest in. So the idea of having to do a whole week of intensive coding seemed like a nightmare to me. But here I am, one year on, loving coding so much that I actually decided to come back again as a student ambassador; and, though it may sound cheesy, no, scratch that: though it definitely sounds cheesy, it was from this course that I gained that love.

So, below is a daily blog to outline what the course contains for prospective parents and participants, and any kids who have (like I was) been forced to go on this course and are anxiously researching to discover the actual horror of their fate. Hopefully it should stop that anxiety…

Day 1- Making a Flappy Bird game

Flappy Bird, maybe one of the most annoying yet addictive games on the planet. And now you get to make your own even more annoying version based on whatever theme you want.

At the beginning of the day, or the Sunday before for the residential students, the tutors help you to set up with accounts on Github and downloading all of the programmes needed during the course. As soon as you’re done with this, it’s time to get to work on making your own games.

The course starts with the basics, for example printing a message on your game screen or changing the background using hex code colours, and then adding in user interaction, such as the appearance of player sprites at the click of a mouse.

By the end of the day you should have a fully working game, which it can be quite addictive to play, including game physics enabling your player sprite to jump and fall, and pipes with randomly generated gaps. Some pretty amazing themes are possible, even using what should be a simple format. These included (in just one group), a nyan cat complete with rainbow tail and incredibly annoying theme tune, a Donald Trump who had to avoid the stacks of Hillary Clintons and a Kim Kardashian walking the red carpet.

During regular recaps throughout the day, other topics are covered, such as the different types of errors and how to deal with them. The most common error in coding is a “syntax error”, which is when you write something which does not follow the rules of the programming language, such as adding in an extra bracket, or misspelling a variable. Syntax errors can quite often cause the code to crash when running, though some languages are more lenient and try to carry out as many instructions as it can and ignore the error. However, it is also possible to get logic errors, which are errors in what you’ve programmed, so that the code works, but does the wrong thing, for example subtract instead of multiply. These are often harder to find, as you can’t use the console to just track any errors, and instead you have to search through your entire code for what you’ve done wrong manually.

After this, the residential students head back to the college to prepare for the formal dinner. We stayed at Queens’ College Cambridge, a beautiful college which is located a short distance away from the labs where we code and with really, really good breakfasts. In the evenings, activities are arranged, and on the first

In the evenings, activities are arranged, and on the first night there was a Formal Dinner, which allows everyone to talk and get to know each other, as well as experience even more of Cambridge college life.  After an amazing meal (who knew that chocolate mouse on top of meringue could taste so good and be so filling?!), everyone stays and chats or goes off to sleep.

Day 2- Designing a web app

Now, this is the tricky part where everything starts to go wrong- lodging your game into a website. It isn’t so much that it’s any harder, it’s more that everyone (or at least almost everyone) tries to write JavaScript in an HTML file, or HTML inside a java file. To try and explain the difference between languages, the day starts of with typing a message inside a text file, and then copying and pasting it into an HTML file. Whilst all the text still displays, all the formatting goes. This is because HTML requires tags in order to format. However, it’s more useful than a simple text file as it enables a far higher range of formatting to be accomplished, including the attachment of a game.

Then everyone develops the look of their website and adds details, such as scoreboards and twitter “share” links.

At the end of the day, students get the chance to publish their websites, so that it can actually be accessed online and played as a real game.

Each evening, different activities are arranged for the residential students. During this course, the second evening involved a discussion about Oxbridge and other universities, including the application processes and little tips and tricks. This was given by the tutors, one of which was just entering her second year studying Computer Science at Cambridge. This was a really interesting talk, and it helped me to understand what was necessary to get into a university like Cambridge, and what I should consider when choosing where to apply, which course to choose and which college to apply for.

Day 3- Advanced Gameplay

Having designed your game and added it onto a website, you now get to add to your game, with bonuses, scrolling backgrounds and splash screens in between games. You can also personalise your game further by adding gifs to your website and even changing your sprite colour through bonuses.

My favourite customisations included a flashing background which changed its colour to the hex code of the player’s score and a sun which would shrink each time it collided with a star, until it was too small to see.

Then, in the afternoon, a lecture is organised on different aspects of coding. During my week, the lecture was presented by Professor Cecilia Mascolo on the Applications of Mobile Systems Research. The lecture was extremely interesting and covered how mobile systems research could be used in the world, ranging from plotting badger interactivity in the wild, to finding a good location for shops to set up based on the activities of people in that area. At the end, the floor was opened up, and students were given the opportunity to quiz the speaker on her lecture, job and life at Cambridge.

In the evening, residential students were able to watch a movie based around the world of Computer Science before going to sleep.Day 4- Image Manipulation and Drones

Day 4- Image Manipulation and Drones

Day 4 covers the manipulation of images, aka filters, like the ones on Instagram. Each pixel has four values going up to 255, representing the values of red, green, blue and transparency. Using these values you can change the colour and transparency of the image. You can also flip it, and overlay different images on top of each other. You can use any picture you want, and even make a “before and after” function to show the original version next to the new filtered version.

After lunch, groups of students are taken out a few at a time in order to attempt to code a flight path for drones. This is my personal favourite activity, especially when someone codes the flight path a little too fast, or tries to make the drone do a backflip. A tutor is always there to make sure no crashes occur, but even if they did the blades are surrounded by foam, so no injuries will occur.

In the evening, the students are allowed to go out and roam around Cambridge, as long as they have a permission slip from their guardians. It’s a good opportunity for them to become closer as well as experience more of Cambridge life. By the end of the week, the group has gotten really close and exchanged contact details to make sure they can keep in touch.

Day 5- Sonic Pi

On the final day, you get to learn a whole new programming language, called Sonic Pi. Don’t worry though, it’s not difficult. Once you get started, it’s pretty easy to understand, and the fact that you can play it as your coding, makes it really easy to fix any bugs.

Sonic Pi is a language can be used to program music. Using a special function you can even change the music whilst it’s playing. The code’s designer now uses it to play live at nightclubs.

Just after the morning break, the code designer, Sam Aaron came in to offer a demonstration, as well as talk about the process behind making the code and the reasons he did. Afterwards, everyone was allowed to carry on coding their music, and anyone who hadn’t gotten a chance to do their drone path the day before, or wanted another go was able to step out for a minute and run it.The course as a whole was extremely enjoyable and we all learnt a lot, including those who already knew a lot about coding, as they were able to work on add-ons and extensions. It’s a great skill to know about coding, as it helps in the world of technology that we now live in to understand how things work. It also helps to open up a lot of doors in your future love, and furthermore it’s just huge amounts of fun.

The course as a whole was extremely enjoyable and we all learnt a lot, including those who already knew a lot about coding, as they were able to work on add-ons and extensions. It’s a great skill to know about coding, as it helps in the world of technology that we now live in to understand how things work. It also helps to open up a lot of doors in your future love, and furthermore it’s just huge amounts of fun.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s