October Update

September is always a busy month. New courses are starting, the leaving cert program is getting going again, and everyone is generally feeling their way into their rhythm for the year. By the time October rolls around things are generally hitting their groove, and it was another great month of coding and technology right across the Olus Education community!

The Academy of Code classes have hit their stride again, with 21 tutors and over 400 students ranging from age 7 to 18 attending classes each week. In particular we’re excited to be bringing our most advanced students through brand new lessons at Grade 9 level. These include college level courses in data structures and algorithmic complexity - we’ll talk more about them in a future blog post.

We also ran our first ever Halloween camp this past midterm. We haven’t focused a lot on these smaller camps in the past, but the online format gives us a great opportunity to offer a bite-sized taste for new students, and to give keen coders an opportunity to keep coding in what would otherwise be a week off. It’s also really important for parents of prospective new students, many of whom may be haunted by memories of poorly delivered classes delivered remotely during lockdown. It’s really valuable for them to see the Academy of Code format in action, and to help them understand why these classes really aren’t anything like what they may have experienced in online classes before!

While there’s lots of learning in these classes, the real name of the game is “fun”. Yes, students learn about computational thinking and logical reasoning and lots more besides, but they do so in the service of fun and that’s how we keep them coming back year after year!

In particular students love the opportunity to unleash their imagination and see ideas coming to life using tools like Scratch, or languages like Java and Python in more advanced grades. We loved lots of different projects created during the week, and this one is a great example of the work of one of our young students. Give it a go!

Tweaking our formula

The Academy of Code was founded in 2014, and we’ve had a remarkably consistent formula for classes since then. Even after the merger which led to us becoming part of the Olus Education group, and even with the move to online learning - first temporary, now permanent - things didn’t actually change that much at a foundational level. We’ve always been obsessed with making sure every student gets lots of 1:1 time, so we’ve always kept really high staff ratios. In our in-person classes that was generally 8:1, while with the move to online classes we aim for a maximum of 7:1 with older students and a maximum of 6:1 in most younger classes. (This has been described as “commercially bonkers”, and it’s true that we could probably get away with spending less on staffing our classes, but we’ve always said that the quality of our course delivery is the top priority. Everything else flows from that).

We’ve also always believed in giving students an unusual amount of freedom to drive their own learning. We have a carefully structured curriculum, but it’s designed to allow a certain amount of exploration, and within classes all our tutors are taught to facilitate each student following their curiosity. Some students want to race ahead, others need more time to absorb certain topics, while still others have entirely different directions of travel in mind. Our tutors are trained to balance all of these factors, and make sure every single student has the right balance of structured rigour and academic freedom - and most importantly, that they’re always having enough fun that they’ll come back the following week!

This balance is particularly tricky for students in our Fresher group. This group is for students aged 9-11, and in many cases these students aren’t used to having the freedom - or responsibility - associated with directing their own learning like this. In recent terms we’ve been keeping these groups a little more tightly structured, but this term we’re experimenting with a small move in the opposite direction. In particular what we’ve learned is that it’s not enough to simply offer scaffolding on the structured part of the course. We also need to give a bit more structure to how they can explore the material themselves. We’ll be watching closely to see how this experiment goes. If you have a child in one of our Freshers groups we’ll be keen to hear your thoughts too. We’ll be sending surveys throughout the year, and we’re always happy to hear from you any time you have comments, questions or feedback!

What’s coming up

We’ll have a few more camps and additional classes during the year, which will be announced over the coming months. We’ll also start taking registration for spring term classes before the end of November, for those of you who haven’t already got a full year registration. Finally we have some fresh plans for summer camps, which will be announced early in the new year. Watch this space!

5 Reasons Kids Should Learn to Code

Introduction

In today's increasingly digital world, coding has become an essential skill for the younger generation. Teaching kids to code is not just about preparing them for future careers in technology; it also offers numerous cognitive and creative benefits. Here are five compelling reasons why kids should learn to code.

Fosters Problem-Solving Skills

Coding is essentially the art of solving problems through programming. It encourages children to think critically, logically, and systematically. When kids encounter coding challenges, they learn to break down complex problems into smaller, more manageable parts. This problem-solving mindset extends beyond the computer screen, helping them tackle real-world issues with confidence and resourcefulness. Whether it's debugging code or creating a new program, coding nurtures the ability to analyse problems, think critically, and devise solutions.

Encourages Creativity

Coding is a creative endeavor that empowers children to bring their ideas to life. Through coding, kids can design games, websites, apps, and even robots. They learn to express themselves through technology, developing a unique form of self-expression. Coding nurtures the imagination and allows children to turn their creative ideas into reality. Moreover, coding offers a blank canvas, making it a great outlet for self-expression and innovation.

Teaches Persistence and Resilience

Coding often involves trial and error. When kids face coding challenges, they have to persevere and adapt. This process teaches them patience and resilience. They understand that it's okay to make mistakes, as this is how they learn and improve. The ability to handle failure positively is an invaluable life skill, and coding provides a safe and constructive environment for kids to develop it.

Enhances Computational Thinking

Computational thinking is a problem-solving process that involves breaking down complex problems into smaller, more manageable parts. Learning to code reinforces computational thinking skills in kids, helping them make sense of the world around them. These skills extend to various disciplines, from math and science to art and literature. They learn to organise information, spot patterns, and make informed decisions. Computational thinking is a fundamental skill for success in the digital age.

Prepares for Future Careers

The demand for individuals with coding skills is on the rise. In a world increasingly driven by technology, coding literacy is an asset in various industries. Teaching kids to code early on opens doors to future career opportunities in software development, data science, artificial intelligence, and more. Furthermore, coding encourages a deeper understanding of the digital world, which is essential in our information-driven society.

In summary…

Teaching kids to code is more than just preparing them for future careers; it's about equipping them with valuable life skills. Coding fosters problem-solving, creativity, persistence, computational thinking, and prepares them for the demands of a digital world. By introducing children to coding, we empower them to embrace the future with confidence and competence. As we move further into the digital age, teaching kids to code is an investment in their future success and personal growth.

Interested in signing up to one of our courses? See here for more information about our upcoming Halloween camp. 

6 Reasons You Should Learn to Code

laptop-3056593_1920.jpg

There’s an idea that’s been gaining ground in the public discourse lately: Everyone should learn to code.

Bill Gates, Mark Zuckerberg, Steve Jobs and even Barack Obama have all publicly stated that coding is a must have skill for future generations. But… why? If I learn to code, how exactly will it benefit me? Should we learn just because we are being told it's an important skill?

So many people dismiss coding because they have no intention of becoming a software developer. Would you tell someone they don’t need to learn to write unless they plan on becoming a writer? We learn to read and write because it opens up a world of opportunity and learning to code is no different.

Whether you are a child or an adult or whether you have a professional interest or are looking for a new hobby, this blog will tell you exactly why learning to code should be your New Year's Resolution

(our next blog will be a guide on how to start your coding journey)

 

 

Coding is fun

AoC_Summe_2015 (6).jpg

First and foremost, programming is an incredibly fun and engaging activity. What other hobby allows you to make animations, games and even robots? There are tons of example projects out there, suitable for all ages and experience levels.

In our experience, kids are often surprised at how quickly they adopt real coding skills. Typically, they latch onto a project and experience immense satisfaction once they see the end product. Once a project is finished, they are eager to move to the next challenge.


 

Coding improves academic performance

 

Logic, problem-solving, and organization are some of the cornerstones of programming, and practising with code helps you develop these skills in all parts of your life. Programming helps students visualise abstract maths problems and teaches them to tackle problems in a systematic way.

Beyond maths, it should come as no surprise that coding also improves language skills. Through programming, students learn the value of concision, structure and planning in their writing. People who code are also taught the importance of accuracy in their work and how crucial it is to define, plan and implement the steps required to solve a problem.

 

Coding helps brings ideas to life

lamp-3066096_1920.jpg

We all get brilliant ideas now and then. How many times have you thought of a useful website idea? Or an app that could solve an everyday problem? The ability to code separates those who have an idea from those who can make their ideas a reality.

If you want your child to be a thinker and innovator who can bring ideas to life, encourage him or her to learn how to program. For inspiration, check out the Irish billionaires that founded Stripe - what started as a fun side project quickly become a multi-billion dollar company.


 

We need to be able to communicate with the technology around us

hand-3044387_1280.jpg

Computers have automated a lot of roles that used to be manual, which causes a problem for people who aren't digi-literate. Software is the modern language and controls so much of our day-to-day life.  Having no clue how any of this works is dangerous, and whilst it’s certain that not every job in the future will involve programming, the role of code will continue to become more and more central.

 

Career opportunities

Almost every company out there, from startup to multinational, rely on technology to drive their businesses. Even if you aren’t into software development, your ability to work alongside myriad software solutions is critical to how you are valued in your firm. Being able to understand these processes and integrate them to work for your company will doubtless increase your value in the firm.

light-bulbs-1125016_1920.jpg

It could be as simple as using SQL to manage customer databases, or PHP to design a company website. The most frequent use of coding in the workplace is to automate a repetitive and laborious task. Whatever the reasoning, a foundation knowledge of programming will greatly improve your usefulness in the professional context.

 

Anyone can learn it

Unlike many other hobbies out there, coding has a relatively cheap buy in. Most of us already have a PC or Mac at home. For those who don’t, you can have a Raspberry Pi up and running for well under €150, using the abundance of free resources online to teach yourself coding. While we’re big proponents of the benefits of classroom education, the reality is that there has never been a better time in history to be an independent learner. Knowledge is free now in a way that it’s never been free before - the only question is if you will learn to harness it.



 

Coding in the Office

We talk constantly in the classroom with how useful coding is. Not only do future software developers need to learn coding skills (obviously…), but almost anyone who works in any kind of job can benefit from understanding some basic tools of the trade.

We have tons of little bits of code in use to help us keep the Academy of Code running smoothly. These include spreadsheet formulas and macros for student lists (including tracking attendances and scores across multiple venues) and cashflow forecasting, Python scripts for generating class lists from the output of our booking system, custom bits of code to make our website do exactly what we want, and lots else besides.

Today we needed to send off some certificates for a course we’re running for the Life Skills Academy in Blackrock College. We had some lovely certs from last year’s UCD event (see below), but a designer working on some other projects for us had thrown together the background texture and we didn’t have a copy in the office. We could have reached out to get access to a copy, but that could take a few hours if not a few days, and the certs are needed now!

(Not everything is always so last minute, we hasten to add. Although when you’re moving the speed we’re moving, sometimes just-in-time is actually a pretty decent bar to be clearing!)

Template.png

Luckily enough, drawing patterns of circles is something Processing is very good at, and Processing just so happens to be our main teaching language.

We weren’t shooting for an exact replica, but figured that we should be able to get something very servicable in a dozen or so lines of code. There was a bit of trial and error involved in getting a pattern we were happy with, but broadly speaking what we came up with after ~15 minutes of fiddling with parameters was a cert we were ready to take to the printers.

Clockwise from top left: original without background texture; first background texture attempt (circles shrink too quickly); happy with the size but the circles only fade horizontally; bottom left is what we were after!

Clockwise from top left: original without background texture; first background texture attempt (circles shrink too quickly); happy with the size but the circles only fade horizontally; bottom left is what we were after!

The code for this involves nested for loops, which are introduced around in grade 6 of our curriculum:

size(2970, 2100);
background(255);
noStroke();
for (int i = 29; i > 0; i --) {
  float k = 90;
  for (int j = 20; j > 0; j--) {
    fill(255, 120, 36, i * j / 5);
    ellipse(i * 100, j * 100, k, k);
    k -= 2.5;
  }
}
saveFrame();

There’s nothing revolutionary in this, and we certainly could have done something similar in Paint given enough time, but we figured it was a good example of where coding can provide a shortcut to those in the know. Even for those with no intention of being full time software developers, a little knowledge can go a long way. And honestly, if you enjoy puzzles, it’s incredibly satisfying to be able to puzzle your way through a few lines of code in service of your day job.

Happy coding!

How to Wire a Plug (& Test it!)

We’ve mentioned on the blog before that we’re really keen on exposing our students not only to coding but to technology more broadly. In particular we want our classes to be full of activities that few if any of our students will have tried before.

One of those activities is wiring a plug. This lesson made the cut for a couple of reasons. For parents, hearing that their 8/10/12-year-old child has learned how to wire a plug is really cool. Lots of adults can’t do that confidently, let alone primary school kids!

For the students, it’s always good fun to get a break from the screen to do something hands on. Even better when the lesson starts with warnings about not electrocuting yourself or cutting off your fingers. What 10-year-old doesn’t get a little excited at that?!

Test boxes - do YOU know how to wire a plug??

Test boxes - do YOU know how to wire a plug??

As tutors, we like lessons which have real-life applicability, and we really like lessons that make kids sit up and pay attention. We’ve structured our lesson with safety as a top priority, and part of that is starting the lesson by talking about the destructive power of electricity. Speaking from experience, shock and awe is a great way to demand a class’ attention!

It’s also great to be able to hand over tools which, while not that dangerous, do demand a certain amount of care. In our experience students will rise or fall to the level of our expectations of them, and the best thing we can do as educators is to let them know we expect a whole lot from them.

There was also a lot of care put into the design of our tester boxes, pictured above. The cables the students will be stripping and re-wiring a plug to have a 3-pin male connector on the other end. The test boxes also have a 3-pin male connector, along with the standard socket. To finish the circuit students need the “key”, a 3-pin female-to-female cable carried by the tutors (pictured below). This, along with our low student:teacher ratios, helps ensure that it would be nearly impossibly to connect the test box to mains power and complete the circuit, even if you did somehow manage to get out from under the watchful eye of our tutors!

The full circuit

The full circuit

The teacher’s “key”

The teacher’s “key”

As for the boxes themselves, the idea is very simple. Inside the boxes are large 6-volt batteries, the three visible LEDs and buttons, and a resistor. When the circuit is complete with the newly wired plug and the teacher “key”, each wire can be tested independently. If everything has been done correctly the blue button should light the blue LED, and so on. If for example the blue and green/yellow wires have been mixed up, then the blue button will light the green LED, and vice versa. Finally if a wire hasn’t been connected properly at all then the LED will simply not light at all.

(We owe a big thanks to Eoin Sweeney of epms.ie for his work on assembling the test boxes and ensuring they are safe for student use. His bread and butter is doing CCTV and alarm systems, but it seems there’s plenty else he can turn his hand to as well. Thanks Eoin!)