What's in your computer: the essentials

Image credit

Image credit

Gif credit

Gif credit

A computer is any machine able to store and process data by executing a set of arithmetic instructions given to it in a program [1]. Of course every computer has its own specific design depending on different brands, but the main components are standard and fundamental [2].

  • The case, which is the plastic box housing each of the following components listed below.

  • The Power Supply (PS) or Power Supply Unit (PSU) is a hardware (i.e. physical) element that supplies power to all other components.

  • The motherboard is a circuit board that makes the communication between components possible. This part of the computer allows for electrical signals to be exchanged in order to compose data.

  • The Central Processing Unit (CPU) or processor, which reads and processes data, thus doing the type of massive calculations needed to run a program: whenever a line of code is written, it has to be translated into assembly language, i.e. a language that can be easily understood by the processor. Basically, the CPU takes care of all the processes a computer has to deal with.

  • Hard Disk Drive (HDD), needed by computers to store their data. This is made of an actual disk with a large storage space, but the access to what is stored is really slow, which is why RAM is used.

  • Random Access Memory (RAM) stores the exact same kind of data as the HDD, but it sacrifices storage for instant accessibility.

  • The graphics card, which is responsible for generating high-end visuals, e.g. a game with 3D models, different angles and colours. It also is the component figuring out how it all is supposed to look on the monitor.

    Did you know that you could build your own laptop?

    Author: Ludovica Maria Golia

Which language should you learn in Secondary School?

When you are starting to learn a new programming language in secondary school, or possibly even your first programming language, it can be quite overwhelming with the number of options that you can choose from. There are loads of great options but they all do everything slightly different and have different features and abilities. This blog post should hopefully help you understand these differences so you can make the best choice for yourself!

Python Logo

Python Logo

Python

One of the first languages which usually gets recommended to new programmers is Python, and there is a good reason for this. Python is a great bet if you are new to programming or have learnt Scratch previously, or even if you have experience in other languages. Companies like Google, Spotify and Amazon use Python on a daily basis for various projects. It has a simple and concise syntax, which helps you to learn to program using it faster! Python supports both Procedural and Object-Oriented Programming which allows you to learn two different styles of programming. There are loads of great libraries to use in Python which allows you to do a lot with a small amount of code. Due to Python's concise syntax, it is really great for learning Computer Science concepts as well. Python can be used to build games, websites, machine learning programs and mathematical models as well, so it has a lot of flexibility.

JavaScript Logo

JavaScript Logo

JavaScript

JavaScript is another great choice if you are new to programming. It’s the most popular programming language in the world according to GitHub and is used in most websites we visit, including this one! JavaScript is a lightweight, interpreted, Object-Oriented programming language. One of the best-known uses for the language is being the scripting language for Web pages. It controls the various behaviours of the web pages. By knowing JavaScript you can then use Node.js with a small learning curve. Node.js lets you code JavaScript outside the browser often for server-side scripting. Companies such as Microsoft, Netflix and PayPal use Node.js software on a daily basis, and many popular JavaScript libraries such as React, Vue and Angular use Node.js. Node.js can be used to build dynamic web pages and cross-compatible ios and Android apps.

C# Logo

C# Logo

C#

C# is an Object-Oriented programming language designed by Microsoft. C# is a great language to learn to program using Object Oriented Principles. It is statically-typed, so the code is checked before it is turned into an application, which makes it easier to find errors. C# can be used to create almost anything but is particularly strong at building Windows desktop applications and games. It is most widely used to create games in the Unity Games Engine, which is the most popular game engine today! This makes C# a great language to learn if you have an interest in the game industry and want to develop your own games.

Hopefully, with this small guide, you can make the best informed decision for yourself and choose the language which is best for you.

Online Summer Coding Camps For Kids And Teens

If you would like to learn how to program in one of these languages join us in one of our Summer Camps.


References:

http://www.dpaonthenet.net/article/169372/Continuing-coding-education-in-secondary-school.aspx

https://journeyofthegeek.com/2019/01/08/using-python-to-pull-data-from-ms-graph-api-part-2/

https://commons.wikimedia.org/wiki/File:JavaScript-logo.png

https://seeklogo.com/vector-logo/363285/c-sharp-c

Author: Robert Nimmo

How to start making Pokemon GO

Pokemon GO is a popular android / iOS game that uses augmented reality to provide fun interactions. Niantic, the company behind Pokemon GO, started as an initial startup within google before branching out as its own private company. The company primarily focuses on location-based games and has also made other games such as Ingress Prime.

PokemonGOImage.jpg

Pokemon GO utilities a pre-existing database from Ingress to place poke-stops and gyms in the world. Pokemon GO also uses the Open Street Maps API and also location services to place the player in the world and then uses the database to show the surrounding Pokemon, Pokestops and gyms.

With all this, we can break down Pokemon GO into smaller components, which is the initial starting point for how any game is made. Prototyping is essential and this consists of paper and digital versions. Unity is an excellent platform to so in; anyone can learn to code and build a game within Unity. So, the base components are: The map screen with all the Pokemon, catching a Pokemon and also storing the Pokemon. These components also help form the core gameplay loop.

Pokemon.png

Let’s look at how we can code a small piece of the game, catching a Pokemon. We can create a Pokemon class. A class acts as a blueprint that can store all the information we need about a Pokemon.

Next, we can add detection for if the Pokemon is hit with a poke-ball. There is always a chance that a Pokemon will flee, which is where the difficulty comes in. We can set the difficulty to be between 1-100 and act as a percentage that a poke-ball will hit.

Collision.png

The OnCollisionEnter function is the collision detection system within Unity. Objects with a collider on them that touch will then trigger the function. The next step is needing to check if the object is thrown is a Pokeball. This helps future proof our code when other items are added like berries. Finally, we check if the Pokemon is caught by comparing a random number to the difficulty.

Overall once breaking down a game enough into smaller manageable chunks you can quickly learn the secrets behind how a game was programmed.











Get your Kids Excited about Programming

Nowadays, everyone wants their kid to learn how to code. Considering that pretty much everything we do on a day to day basis somehow involves code, it’s a completely understandable desire. From scheduling a meeting on Zoom to sending a text to let your kid know you’re running late to pick them up from school, we are completely dependent on code, yet most of us don’t know how to write it! That’s basically like living in Spain your entire life without learning how to speak Spanish…

Image Source: AliExpress

Image Source: AliExpress

There in lies the issue: if I don’t know how to code, how am I supposed to teach my kid how to code? Surprisingly, you don’t really need a computer, or any knowledge of a programming language to help your kid learn to code, especially if they’re still very young. Sure, eventually if your child wants to delve deep into the world of programming (like making games or developing machine learning algorithms), they’ll have to pick up a computer and learn a programming language or two, but for now, we can teach the little ones the fundamental thinking behind all coding and all algorithms (and maybe even make it fun!).

The fundamental idea behind all algorithms and all coding is logical thinking - like a flow diagram. Take for example, the block shape sorter toy picture above. Your child will take a block, let’s say a cube, and try and push it through the circle-shaped hole in the box. Soon, they will realize it’s not going to fit, so they will try and push it through a different shaped hole in the box. Eventually, after several tries and several failed attempts, they will find the square shaped whole -success! You may not realize it, but this is essentially an algorithm - a set of instructions to figure out where the cube fits into the box.

The fundamental idea behind all algorithms and all coding is logical thinking

Now that you’ve seen that programming can be pretty simple to teach, here are some more fun ideas to get your toddlers thinking like a programmer:

cookie.jpg

1. Cook with them

A tasty algorithm

Cooking with your child can teach them they way an algorithm works - it’s basically following a set of instructions. Each step of the recipe is like a line of code, and the chef (in this case, your child), is the computer carrying out each line of code. The output is your delicious cookies!

Code-a-pillar

For kids as young as 3 years old

This great little toy is perfect for getting your child excited about coding. Each part of the caterpillar is like a block of code, and your child gets to decide what order to put the blocks in. Once they’re done, they can watch it dance away. This is great because it teaches them about sequencing and ordering code.

simone.jpg

Simone Giertz

The Queen of funny Robots

This is a great one to get your children excited about programming and STEM. Simone is a Swedish-American YouTuber and Inventor. Her videos delve into the design process - from coming up with an idea, planning the build, through to making and testing the final product. Some of her most recent inventions include turning a Tesla into a pick-up truck and a paper shredder that looks like a brain. Her videos are fun, colourful and exciting, and are likely to light a spark in your child’s imagination (and maybe even yours).

There are so many fun games, toys and YouTubers out there to teach children as young as three how to think like a programmer! Once they’re a bit older, if they’re still interested in coding and want to learn more, head over to our online camps and check out our Scratch courses. Scratch is a block programming language created by MIT, which is a great stepping stone to traditional programming languages like Python or JavaScript.


Image Credits in order:
Betty Crocker
Amazon
Business Insider

Author: Richa Lad

Why Is Python Called Python? 

Here's some Interesting facts about one of the world's most popular programming languages. 

A large portion of us coders have utilized the Python programming language regularly. On the off chance that you haven't coded in Python yet, I enthusiastically suggest you  invest some energy learning the essentials and afterward do your next programming task in Python. Python is one of the most well known programming languages out there. But have you at any point pondered in your Python programming life why Python is called Python and not P, P++ or P#?

Python.jpg

The intriguing actuality is that the programming language Python was made by Guido van Rossum. While Guido van Rossum was implementing Python, he was additionally reading some released scripts from Monty Python's Flying Circus. In the event that you've never heard about Monty Python's Flying Circus previously, I'll give a quick outline and we can discover the reasons why Python is called Python. How about we investigate! 

Monty Python's Flying Circus is a BBC Comedy TV show from the year 1969. It is an exceptionally popular series. Python programming language is profoundly famous as well. As indicated by an ongoing Stackoverflow study, Python has overwhelmed Java in popularity. Python is a celebrated programming language since it is anything but difficult to learn and utilize. Furthermore there is an enormous number of libraries accessible that can be utilized in your projects today! A few programmers even believe it to be an absolute necessity to know this programming language. 

In the event that you read the Python documentation, you will see numerous references to the Monty Python Flying Circus: the documentation is littered with words like spam, eggs, lumberjack, knights, etc. 

https://docs.python.org/3/library/pprint.html 

Back to Monty Python, a portion of the coding community considers Monty Python to be an absolute must-see show. Why? Well, Monty Python is an incredibile, unique post-modern satire, unlike anything you've ever seen. The comedy is incredibly imaginative. It discusses everything. It probably won't be entertaining for everybody, especially people that don't expect the Spanish Inquisition, but I would definitely suggest to watch it. 

SpanishInquisition.jpg

The Python programming language can be utilized to do any programming task, from DevOps to Data science tasks to solving complicated mathematical computations across distributed machines. It is an extraordinary language to build your projects.

Living up in space: get comfy at the International Space Station for the anniversary of first moon landing

ISS-115569517.jpg

International Space Station Expands Again
Image credit: STS-119 Shuttle Crew, NASA

Today marks the 51st anniversary of the first Moon landing, but since the end of the Apollo lunar program, which made it possible for a human being to set foot on the Moon, human space exploration has been limited to low-Earth orbit, with research being conducted on the ISS [1]. Just imagine how cool waking up every morning to such a breathtaking view as the curvature of our Earth would be! It turns out that is exactly what astronauts get to see daily, so let's explore together their extraordinary home, the International Space Station (ISS). Every house has at least one bedroom, a bathroom and a kitchen, right? Well, scientists had to come up with a slightly different home design to live up in space.

Image credit: ESA

Image credit: ESA

Sleeping in space is...fun. First of all, there is no "up" or "down" in space; these terms have been coined by human beings living on the Earth in order to have a system of reference. Indeed, when astronauts are in space they experience what is called "microgravity", i.e. they are weightless, which is the reason why we see them floating. As a curious consequence, they have to attach themselves while sleeping so as to not fly away [2]. The bedroom of an astronaut is a simple sleeping bag located in a small cabin, big enough for just one person. Don't question the quality of their sleep, though, because it has been reported that some of the astronauts even SNORE! No doubt they are having sweet dreams. 

Another interesting fact is that the first device made active on shuttle flights has been the space or zero gravity toilet, also called the Waste Collection System (WCS), which can be used in a weightless environment such as space. One of its features is having a urine-reclaiming system which recycles water on the ISS, since carrying a huge volume of water to the space station would be inefficient and exorbitantly pricey. Having such a well-built and high-functioning facility service also paves the way for long-duration space travel as could be a journey to Mars [3]. Speaking of which, did you know that according to Elon Musk, founder of SpaceX, a space transportation company now in collaboration with NASA, humans could land on Mars by 2030?

Gif credit: GIPHY

Gif credit: GIPHY

Space cuisine offers a vast assortment of foods. A food warmer can be used to heat meals, but there are no refrigerators, so all foodstuff has to be stored and prepared properly [4]. Condiments are also provided, but salt and pepper cannot be sprinkled on food, since they would float away and could clog air vents or get stuck in an astronaut's eyes, so they are provided in a liquid form. 

Finally, a couple of interesting resources you may find interesting to look up! 

ISSLEGO.PNG

  • To know more about the structure of the ISS and play around, check the LEGO set!

  • Watch our astronauts talking about their life experience on board of the ISS! 
    (sleeping, cooking and washing teeth)

  • How to spot the ISS!

    Author: Ludovica Maria Golia

Why Learn Coding?

In recent years, the term “coding” seems to be getting more and more popular. I don’t know about you, but at first, I didn’t really care much for coding. How wrong I was! In this blog post, I will cover what coding actually is, why you should care and what skills you can gain from it.

Source - https://www.mojang.com/

Source - https://www.mojang.com/

What is Coding?
Imagine a blank slate but slowly that blank slate starts developing into anything you can imagine. Coding in simple terms is a way of telling computers what to do. Computer games like Minecraft run code to develop the world around them.

What Skills Can I Learn From Coding?

·       Creativity. You can develop anything you want, whenever you want and it’s completely up to you. Why not develop your own video game?

·       Mathematical skills. You may not realise it but as you’re coding, you’re picking up real experience that allows you to improve your mathematical skills without filling in sheets of equations.

·       Problem solving skills. Coding allows you to think logically by breaking down problems and developing your own ideas to solve them.

·       Determination and persistence! Coding at first can be a difficult jump but there really is no great accomplishment than having finally built your own program no matter how small it may be.

Source - https://unsplash.com/photos/Agx5_TLsIf4

Source - https://unsplash.com/photos/Agx5_TLsIf4

So, What’s The Big Deal?

Coding really is in our future. Everything around us is ran by code and we don’t even realise it, even things we take for granted. Social media applications, websites, smartphones, video games have all been developed by humans using code. You can build whatever you want, and in general, computer programmers tend to earn a lot of money. Coding really is a valuable skill to have nowadays and there really is a big reward from learning it.

Where Do I Get Started?

Educademy run introduction courses to recommend starter programmer languages such as ‘Scratch’ and ‘Python’ targeted at a young audience and teenagers. Check out our Summer camp courses if you are interested in starting to code or create video games! Alternatively, check out some cool resources like Code.org or CodeCombat!

Magic Mirror: From Fiction to Reality

snow white.png

“Mirror, show me my calendar for the week”

A DIY smart home gadget

So called “Magic Mirrors” have been popularised for decades in Sci-Fi; perhaps the most famous example is that featured in the classic Disney film Snow White, in which the mirror is used to tell the Evil Queen who “the fairest of them all” is.

Although initially, this seems like an impossible (and maybe pointless) idea, one man decided to see whether this idea could manifest as a useful smart home gadget. His name – Michael Teeuw. The basic idea of the gadget is to take advantage of a two-way mirror by placing a screen behind it, and connecting the screen to a Raspberry Pi (Raspberry Pi is a low cost, tiny computer that can be plugged into a monitor, for more information have a look at their website https://www.raspberrypi.org/help/what-%20is-a-raspberry-pi/). This screen displays information such as the weather in your area, your calendar, or even music from your Spotify account. However, by placing it behind a two-way mirror, it appears as though you have a “smart mirror”. Have a look at the links below for an example of such a mirror.  

I first came across the idea after a friend asked if he could make use of an old laptop of mine – I asked him what for, and soon became fixated with the idea. This all happened whilst the UK was put on lockdown because of the COVID-19 pandemic, which only made me more excited to build this project. After all, can you think of a better way to spend your time in lockdown?! Although I haven’t finished building it yet, below are details of the progress I’ve made so far with my mirror.

Step 1: Find (or make) a two-way mirror
It turns out, two-way mirrors can be quite expensive, especially if you want to make a large mirror. I’m on quite a strict budget so I decided to try and make one instead. This involves two components – a piece of glass and some mirror film. I purchased my mirror film from Amazon. Glass can also sometimes be expensive, but luckily my parents had some old windows collecting dust in our shed, so I went ahead and repurposed these for my mirror.  If you’re also on a tight budget and don’t have glass lying around your house, you can use Perspex instead, or something called Plexiglass. Once you have both items, all you need to do is lay the mirror film onto your glass.

As you can see, my first two attempts at making a mirror didn’t go so well (right image, top two pieces). My third attempt went a lot better. You can see from the image on the left that the mirror serves its purpose, although it isn’t quite as clear as a traditional two-way mirror.

Step 2: Find a Screen
You have two options for this. The first is to buy or use an old monitor or TV screen lying around your house. Beware, you want your mirror to be as thin and as lightweight as possible, so having a thin monitor is advantageous here. You also need your monitor to be either the same size or smaller than your mirror. The second option is to use an old laptop screen, and pair this with a control board (this is the route I have taken as I happened to have an old laptop lying around).

Taking apart my laptop wasn’t too difficult, plus there are loads of YouTube videos to help. To find the right control board for your laptop screen, you need to read the model number from the label on the back. Type this into eBay along with “control board HDMI” and you should be able to find the right one for you.

Step 3: Build a frame
After you have your mirror, you need a frame to contain the mirror, your monitor and your Raspberry Pi. You can either purchase a frame with the right dimensions or have a go at making one yourself (like I did below!).

My first attempt at some woodwork went pretty well. I used a hand saw to saw my wood, and wood glue to stick the frame together. I also used nails to reinforce it. My next task is to sand down the edges and figure out how to make it look a little nicer!

Step 4: Software
Right now your Raspberry Pi doesn’t actually do anything – it needs some software! First, you need to go to the Raspberry Pi Website to install the Raspbian OS. After this, you need to go to the MagicMirror website to install the MagicMirror software. The cool thing about this is that it’s an open source project – this means that developers all over the world have created add-ons such as the Alexa voice control capability, so you can customise your mirror however you like. You can even have a go at creating your own add on (most of the software is written in Python).

I’ve made a make-shift case for my Pi out of an old plastic folder. There are loads of templates online for cases, or if you prefer you can buy a case online.

I’ve made a make-shift case for my Pi out of an old plastic folder. There are loads of templates online for cases, or if you prefer you can buy a case online.

Step 5: Assemble
I haven’t quite got this far yet! I’m still in the process of making a pretty frame, but if you want to have a go at building a MagicMirror yourself, I’ve added some links at the end of this blog post with instructions on how to do so.

Although this project seems intimidating, it’s actually not too difficult once you get going. If you’re bored, I would highly recommend having a go at building one yourself, or as a project for you and your children to do together. There are so many things to learn from building this – from coding, to electronics and even woodwork!

Links:
MagicMirror official site: https://magicmirror.builders/
Guide on how to build: https://www.howtogeek.com/414647/how-to-build-a-smart-mirror/
How to install Raspbian OS: https://www.raspberrypi.org/documentation/installation/installing-images/

Author: Richa Lad


50th anniversary of Earth Day

We take our earth for granted. Or so we did until just a couple of weeks ago. Today we all miss a weekend trip to the seaside, or maybe a bit of hiking in the highlands…

When the Earth got bigger again

Globe+in+a+bush.jpg

Over the last 50 years the Earth shrank. A week long journey got reduced to a plane hop. At the beginning of the year we saw new direct flights linking even the most distant cities.

Today, a place 50 miles away feels as distant as Mars. A city break becomes a walk in a park, or a drive to the outskirts to find some long forgotten footpath through the fields. We no longer look at the distance from 10000ft above. Now we discover, how far we can go on our own foot.