The NCSS Summer School is one of the most exciting opportunities available to high school students with a passion for all things computing. The camp, for me, not only gave an incredible insight into the world of computer science, but friendships to last a lifetime.
At NCSS, I engaged in activities and lectures across a broad spectrum of topics, including embedded systems programming, cyber security, and swing dancing!
I was constantly faced with new programming challenges, mirroring the challenges faced by those who work in the technology industry. These challenges (usually in the form of extension embedded systems activities and projects), not only extended my programming knowledge but gave me an insightful experience of what it would be like to study and work in the field of computer science.
From these experiences, I learnt that problem solving is one of the most important skills you need to develop in computer science, and there is always more to learn, and people willing to help you out!
Through conversations with the tutors and other students, I became more aware of the diverse nature of computer science, and how almost any hobby or interest can be combined with computing in a meaningful way. Computer science is truly an innovative, creative, and boundless industry with opportunity for all to contribute their expertise. Examples of pathways in computing I discovered at NCSS include computational linguistics and mechatronics!
Without NCSS, I wouldn’t have been able to discover my potential and passion for computer science, and for that, I am extremely grateful for the experience and highly recommend it to all high school students interested in computing.
The idea of innovating and programming computers to 'do things' by 'writing stuff' had always intrigued me, but I never learnt to code until I stumbled upon the NCSS Challenge in 2017. As a highly communicative individual, I was put off by programmer stereotype - guys wearing hoodies spamming gibberish alone in the dark, fuelled exclusively by pizza and energy drinks. After attending GPN for the first time in September 2017, and then NCSS shortly after, I realised that that was far from the truth. Well… except maybe the pizza part.
As a returning student, I had the privilege of attending the summer school twice, and both years, it exceeded my highest expectations. From lectures on computational linguistics, to Pokemon-themed cryptography, to being asked to calculate the data transfer rate of an A380 travelling from Sydney to London whilst having dinner with an industry mentor, to rapping the entirety of Hamilton: The Musical till the ungodly hour of 5:33am, nerd camp - and I mean that in the best way possible - was a surreal experience.
It's difficult to fully encapsulate how quickly ten days goes by when you're surrounded by a community of students, tutors, lecturers and mentors who are just as passionate (and witty) as you are. NCSS was certainly a step outside my comfort zone. My mind was constantly saturated with information, but the best part of it all was that it never felt like I was working. I can honestly say I've discovered a lot - about computers, about code, about persistence and teamwork, about how much I don't know, and most importantly, about how much there is that you can know given the opportunity to learn.
I always had an interest in technology and the thought of using it to build something useful for humankind amazed me. The NCSS Summer School is an experience of a lifetime. Not only do you learn how to programme, but you also make new friends and meet like-minded people. Imagine how excited I was to find out I would be spending 10 days at NCSS.
When I first attended, I wasn’t sure what to expect, but upon arrival, I discovered everything had been organised and I was surrounded by friendly people with the same passion.
In addition to learning how to code, it is a great opportunity to engage with tutors and industry mentors. Their invaluable experiences gave an insight into the endless possibilities and career paths within computer science.
Whilst working on our project to make an interactive and fun embedded system to encourage fitness, my team and I encountered a multitude of challenges. With the support and technical expertise of each other and the tutors, we were able to overcome these obstacles and produce an amazing result I’m super proud of. Through this, I learnt that teamwork and persistence are fundamental elements in problem-solving and that computer science is a challenging yet fulfilling journey.
Little did I know this NCSS camp would be such an amazing and inspirational experience which would equip me with the tools and knowledge to continue exploring my passion. This is what makes me so grateful and proud to be a part of the NCSS family.
I would highly recommend NCSS to any students or teachers who have an interest in exploring technology for an amazing 10 days of learning and fun.
The National Computer Science Summer School (NCSS) is a place where you belong. It’s more than just a camp - it’s meeting a family. Chances are if you’re reading this then you’re that kid who’s known as “the IT person” at your school. You know, you’re the one who the teachers ask for help when the computer breaks, or the one who everyone always thinks is “hacking” when really, you’re just using the classic right click inspect element.
This year, I was selected to be a returner to this great opportunity. I was placed in the embedded stream - where our goal was to build a fitness-based game using a combination of BBC micro:bits (micro:bits), NCSS custom quokka boards, and BitBot’s. The first few days consisted of lectures, labs and lunch, whilst the nights consisted of a fun combination of trivia and charades, a high paced scavenger hunt around the amazing campus of The University of Sydney, Pokémon themed programming competitions, cryptography challenges and tower building challenges - all designed to enable groups to work together as a team and help us get to know each other.
We even had a day where we had masterclasses (short 2-hour classes on topics such as AI, iOS development, machine learning, IOT that we could pick from) and go out exploring into the city! Programming is hard - but fun when we all do it together.
Eventually, the lectures stopped, and we moved into the project phase. Each group split into a smaller group of ~3-4 people. We brainstormed, drew on whiteboards, scribbled furiously and screamed ideas. My group decided to build a game called “Secret Safari”. The idea was, we would have 7 different “animals” (microbits display images placed on top of an upside-down cup) spread in a 5x5 metre area, coupled with a bit-bot (controlled by four buttons - left, right, forwards, backwards) and a scoreboard which would display the points gained. In order to get points, you had to control the robot to navigate to the animal and touch the cup.
However, the catch was that since the games were required to be played in teams (of at least 2) and had to incorporate fitness somehow - we made it so that the person pressing the buttons to control the robot could not see the course. The second member of the team would shout at their teammate to “go left!” or “go right!”. To implement the fitness aspect, we placed the buttons all a metre apart in all four directions, with some placed high, and some placed low.
If you want to know the specifics, we used the inbuilt radios in each microbic to all communicate to the microbit located on the bitbot. Each of the animal towers would send an empty message to the bitbot’s microbit and measure the signal strength. If it was very high, then the bitbot must be close enough and therefore the animal would send a radio signal to the scoreboard to add x amount of points, where x is the amount of points that each animal was worth. The scoreboard micro:bit would then turn x amount of LED lights to red, resulting in a pretty visual interpretation of the score!
The robot was also controlled using the micro:bit-radios. Inside each “button box” (we had cardboard boxes with big slammable buttons connected to a micro:bit - yes, we used SO many micro:bits). When the button was pressed, the microbit would register that the pin the button was connected to had been triggered and would send a radio signal (ie “LEFT” if the left button was pressed) to the bitbot’s micro:bit. The bitbot would then register that it had been told to go left, and then would continue to go left until told otherwise.
Whilst building this project, there were a loooooot of bugs. Like. A looooot. It was also hard to build an MVP for this project when there was a lot of potential. For example, the first thing we had to build was just being able to control the bitbot, making it go left, right, forwards, backwards. After that we got one microbit and tested sending radio signals to make the bitbot move. After we got that working, we expanded it to four buttons and four directions. After that, we made it so double-tapping forwards would speed up the bitbot, double tapping backwards would make it go slower and tapping left/right continuously would make the bitbot turn sharper. We then started working on the radio detection of the animals - ie ensuring that it would detect the bitbot when they were close. We kept continuing this agile process of software development, continually iterating software and producing functional products until it was finally time to show off our final game and have the web stream (and tutors) play it! We got lots of pizzas and did an all-nighter, did some secret NCSS traditions, and watched the sunrise on a new morning.
So, if you’re wondering if NCSS is fun, the answer is yes. Do you need programming experience? Not at all!! People in my group had never written a line of code before even coming to NCSS. Don’t think you’re good enough? Neither did I, and I turned out just fine :)