Raspberry Cream Pi Day

Raspberry Cream Pi Day is celebrated tomorrow, the first of August. The day celebrates creating your own raspberry cream pie. The day is celebrated in Summer as that is when raspberries are most commonly in season. A raspberry pie to us though means much more than a delicious dessert. We also love a Raspberry Pi.

The Raspberry Pi

First released in 2012, a Raspberry Pi is a small single-board computer which was developed by the Raspberry Pi Foundation in the United Kingdom. The project aim was to promote the teaching and learning of basic computer science in schools. The Raspberry Pi overachieved its goal and is used in fields such as robotics because of its small form factor. It also features everything you would find on a normal computer but much smaller. The latest iteration, The Raspberry Pi 4 features a processor upgrade along with 4 USB ports, 2 Micro HDMI ports and up to 8 GB of RAM.

RPI.jpg

What can it do?

A Raspberry Pi is just as robust as a regular PC, however, offers advantages because of its size. Many use the Raspberry Pi for projects that need a server or a PC to always be on. As the Pi has such small size the power draw is minimal, making it quite effective for permanent running.

Network Ad Block

Some projects include setting up an ad blocker for your entire home network. This is a great use of the Raspberry Pi as you can even filter out malicious content without needing software installed on any devices connected to it. Nicknamed the Pi-hole, it works by acting as a private DNS server. Essentially it checks if a website is an ad and then blocks it.

Minecraft Server

You can host your very own Minecraft server at home, and even have friends connect to it. The Raspberry Pi has the processing power capable to handle a small number of people and can be left running all the time. Your main PC will not even have to be powered on for friends to be able to connect. This makes the Raspberry Pi a great option instead of renting a Minecraft Realm with monthly recurring costs.

Make a Web Server

The Raspberry Pi can be used to create and host your own website. You can keep it local to your network or share it with the world. Here’s a quick example website that was build using HTML and CSS. You could also add more interactive elements using JavaScript, which we teach in our JavaScript camp.

Overall, the Raspberry Pi offers a great range of features that range from a standard pc to much more specific uses such as robotics. A Raspberry Pi is a great learning device and along with our JavaScript and Web Development camp your child will be able to create much more.






Happy International Day of Friendship!

International Day of Friendship is a special day each year where we are all given the opportunity to reflect on the important friendships and relationships that make us who we are, and thank the people in our lives who make them better! Here at Educademy, we believe in learning through fun, which includes making friends as you code, and supporting each other throughout your course to best learn together.

We have used Scratch to create this short animation celebrating the power of friendship! If you want to personalise it and send it to a friend this International Friendship Day, you can find the code here.

By the end of our Introduction to Scratch course, students will be fully capable of making animations just like these completely by themselves, along with many other fun games and projects! Book your free trial now.

Celebrating Girls in Technology

Image credit: Tumisu on Pixabay

Image credit: Tumisu on Pixabay

In 2019, Wired reported that only 17% of coders were women. In the UK, women make up only 15% of coders. It’s time to closer the gender gap in coding and celebrate what women are capable of. Without women, we wouldn’t have made so much progress within the field of technology. In this article, I’ll be covering some examples of inspirational role models for younger girls to look up to.

An image of Ada Lovelace

An image of Ada Lovelace

1. Ada Lovelace

Ada Lovelace is regarded as one of the world’s first computer programmers. She worked closely with Charles Babbage, a Mathematics professor at the University of Cambridge. Babbage invented the Analytical Engine while Lovelace published the first computer algorithm. She is thought of as one of the first people to realise the potential of computers.

An image of Grace Hopper

An image of Grace Hopper

2. Grace Hopper

Grace Hopper was an an American mathematician, rear admiral in the U.S. navy - and also a Computer Scientist after working on the Harvard Mark I. This was an early protocomputer built during the second world war. In computing, the term “bug” is relatively common. Grace Hopper actually coined this term after a moth got into the circuits of the Harvard Mark I referring to computer failures. In additon to this, Grace along with her team also developed the first compiler - something which converts our language into machine code. She often said that she wanted to the 1st January, 2000, to see how far computers could come.

An image of Margaret Hamilton

An image of Margaret Hamilton

3. Margaret Hamilton

Margaret Hamilton was the director of software engineering at NASA which landed astronauts on the moon. She was responsible for creating code which would be added to the Apollo’s computer. Not to mention that Margaret was also a full-time mother to a daughter called Lauren. She later went on to find two companies and receive a Presidental Medal of Freedom from President Obama.

Really, this only scrapes the surface of what girls are capable of programming within technology. Why not get your daughter into coding? There are so many reasons to:

  • Higher than average salary. Research suggests that women in technology can earn up to 35% more than average for girls.

  • Increased ability to problem solve analytically and creatively. Coding in general can not only help to improve mathematical skills but also to develop their own problem solving abilities.

  • Becoming a role model for others. Like Grace Hopper, Margaret Hamilton and Ada Lovelace, why doesn’t your daughter become an inspirational role-model for other girls? There are so many opportunities to make a difference nowadays whether that be girls making their own business, developing applications in healthcare or working at big companies like Google or Apple.

Educademy offers a variety of courses, not just for girls, but for every child alike. We ensure that no child gets left behind. If you’d like your daughter to get into coding and make a difference in the world but don’t know where to start - check out our courses! We also offer free trials if you aren’t sure.

Author: Sophie Dillon

Is Minecraft suitable for 7-year olds?

Minecraft has become one of the best-selling and most popular video games ever released, but is its content appropriate for 7-year olds?

In Europe the age rating is determined by PEGI, according to which Minecraft is rated 7+. This can be considered a first answer to our question, but let us discover more about Minecraft!

Image credit: Pinterest

Image credit: Pinterest

What’s really enthralling about Minecraft is its sandbox style featuring building blocks in an open world, which can be explored and where children can craft items and create anything they want.

Minecraft also has several game modes, which let you choose between single player, local multiplayer and remote multiplayer [1]. This means that you can switch from a world generated on the device you only are playing on, to the two multiplayer mode, which can be hosted on either your own device or on a remote public server.
While the local multiplayer mode is relatively safe, as players are on the same network and probably in the same building, playing Minecraft on a public server can be dangerous, since that is where people who put at risk children’s safety target their victims.
Therefore, the basic single player mode or the local gameplay should be the default option for your kids, but if you are letting them play online, set up a child account, disable messaging and check out the server before they access it.

Image credit: code.org

Image credit: code.org

However, as a game containing also a survival mode (on top of the creative and adventure modes), it often requires collaboration between players, allowing kids to develop teamwork and social skills [2]. For this reason, Minecraft is one of the best video games for learning, even used by schools as an education tool, thus representing a great opportunity for you children to learn how to code.

Author: Ludovica Maria Golia

What is Block-Based Coding?

stem-t4l--PnSpCHYKsw-unsplash.jpg

Block based coding involves dragging and dropping pre-made blocks of code from a list into your coding environment. These blocks are placed in the coding environment by the programmer, where they are able to connect the blocks in a certain order. These blocks then act as a script, and they instruct characters or backgrounds to do certain things. Block based coding is the perfect way to introduce kids to coding.

An example of the blocks available in the Scratch programming language

An example of the blocks available in the Scratch programming language

What is a “block”?

Blocks are essentially little packets of code. Each block is an instruction which can be slightly modified by the programmer in order to get something done. For example, in Scratch you have 7 main different types of blocks - these are looks, sound, events, control, sensing, operators and variables. Looks and sounds blocks are pretty much what you’d expects - they allow you to alter the character’s (in Scratch, known as Sprites) appearance and play music or sounds in the background. Events allow you to trigger a line of code when an event happens - for example “when the space bar is clicked, this sprite goes to this position on the screen”. Control introduces something a little bit more complicated - loops! Used in conjunction with sensing blocks, programmers can do some pretty cool stuff - for example, “if the Sprite touches a different Sprite, that’s game over”. Operators and variables can be used for a variety of things, including counting a players score if you’re making a game, or comparing two numbers.

What are some examples of block based coding?

There are so many block based programming languages out there - probably because they’re such a fun and easy way to get into programming from a young age! If you’re interested in learning one yourself, here are some of our favourites:

  1. Scratch

    Scratch is probably one of the best coding languages for beginners out there. It introduces young programmers to concepts such as loops and if statements in a fun, colourful way. Code is used to animate characters called “Sprites”. Although it seems simple, you’d be surprised at how powerful a language it is.

  2. Blockly

    Blocky is a block based coding language created by Google. It looks similar to Scratch, and can be used to compile code in a few different languages including JavaScript, Python and PHP.

  3. Visual Logic

    Visual logic is a little different from the other two languages - instead of using blocks which connect to make a full script of code, visual logic uses the concept of flow diagrams to teach programming to students.

Why learn block based coding?

An example of one of the games you can make on our Beginners Scratch Course

An example of one of the games you can make on our Beginners Scratch Course

There are so many reasons to learn a block based coding language. If you’re new to coding and find the thought of writing hundreds of lines of code intimidating, learning a block language would be perfect for you! It teaches you how to control the flow of your program and demonstrates what you can do with a few lines of code. They’re the perfect stepping stone to learning text based coding languages like Python, C# or JavaScript. Block based coding initially seems a bit futile - how can it possibly be as powerful as a text based language, when all you have to do is drag a few blocks around? This is a fair enough question to ask - I thought the same thing when I first learnt Scratch, but I’ve been amazed at the multitude of things you can do with it. From creating incredible versions of classic games like Flappy Bird and Space Invaders to writing a machine learning algorithm, block languages like Scratch enable the inexperienced programmer to make some pretty advanced programs in not much time at all.

Where can I learn more?

Here at Educademy, we teach a variety of block-based coding languages. If your child is enthusiastic about programming but doesn’t know where to start, why not check out our beginner’s Scratch course (if you’re not ready to commit, you can also book a free trial). For those with a little more experience, check out our intermediate Scratch course (or try the free trial). And for those interested in the wonders of Artificial Intelligence, check our our AI/ML course in Scratch.

Author: Richa Lad

Automating Gmail with Python

Image credit: Schoithramani on Pixabay

One cool thing that you can do with Python is automate sending your own emails through Gmail in Python. This is possible through a simple library called Yagmail - a GMAIL/SMTP client making it rather easy to send emails. You can read the documentation fully here. I’ll be covering step by step how to automate sending out your own emails in Gmail.

Allowing Yagmail Access to Your Gmail

bp2.png

Firstly, in order to write our Python script, we’re going to have to allow access for less secure applications to access our Gmail. By default this is switched to off, so we’re going to have to manually switch this on using the link here. Now, we’re going to create an application password for Python using two-step verification.

Go to the security section of your Google account and now go to app passwords. You’ll be prompted with the option to name your application something. Let’s call it “Python”. Click next and a random 16-character password will be generate for usage in your program. Copy and paste it without any spaces for usage later in your program.

Installing Yagmail

Now, we’re going to have to install the library we need. On a Windows install, “Pip”, our package manager, should automatically come installed with Python.

An image of the command prompt

An image of the command prompt

To open the command prompt, simply search for it in Windows and it will display the screen stated above. Alternatively, if you prefer using a program such as VSCode, you can open a new terminal in there. Now type in “pip install Yagmail” and we’re all set. Now to the script!

Python Script

import yagmail # the library that we are working with

# all the necessary login information here 
user = 'yourusernameemailhere@gmail.com' # your email goes here
password = '16passbygoogle' # the password we just generated goes here 
to = 'whoyouwantgoeshere@gmail.com' # the user you're sending an email to goes here 

# content information here 
subject = 'Whatever subject goes here'
contents = 'Text here'

try:
    yag = yagmail.SMTP(user, password)
    yag.send(to, subject, contents)
    print('Your email was sent successfully')
except:
    print('There was an error sending the email')

Assuming all indentation is correct, we’ll end up with this:

A test email sent to myself through Gmail.

A test email sent to myself through Gmail.

This is how to send an email to someone of your choice through Gmail. If you’re interested in experimenting more around with Yagmail, check out its documentation!

With Thanks To:

Author: Sophie Dillon

Python - What Can I Actually Do?

Coding opens a door to a whole variety of things to do - companies like Google, Yahoo and NASA use Python, but what do they use it for? What real world things can you do with Python? In this article, I’ll be covering what amazing things that Python has to offer.

1. Raspberry Pi

Raspberry Pis are mini, portable computers that allow for experimentation in coding. DIY projects such as a “magic mirror”, building a weather station or even a temperature log can be developed using this device. All of these projects can coded using Python!

2. Web Development

Web development is the process of building, creating, and designing websites for users. This consists of front-end development (which the user can see, such as what you’re reading right now) and back-end development(such as things interacting with a database). Python can essentially work in the background using website frameworks like Django and Flask to deal with database features, which makes it a suitable language for managing data from huge websites. For instance – the photo-sharing app Instagram uses the Django framework coded in Python.   

Image credit: Clement H

Image credit: Clement H

3. Python Code For “Bots”

Chatbots are commonly coded using Python. Chatbots are bots that can automate conversation or tasks on a chat application. For instance, Discord is a free chat application which people commonly use to communicate with each other online. Bot users can be programmed to perform tasks such as playing music or replying to a specific command. Without delving into too much theory, chatbots can lead onto the realms of artificial intelligence…

Image credit: Alexey Savchenko

Image credit: Alexey Savchenko

4. Game Development Using Python

Python is an ideal language for anyone learning to learn more about game development. Python’s easy syntax makes it an ideal language for beginners to learn how to develop games using libraries such as Pygame and Arcade. However, it definitely isn’t limited to beginners; popular games such as Mount & Blade, Civilization IV and Vampire: The Masquerade – Bloodlines are all coded using Python. In fact, Educademy offers a course on game development in Python.

5. Machine Learning

Machine Learning is a subfield of artificial intelligence. Machine Learning can be defined as learning through experience. In fact, Python has a large machine learning community. Machine learning has already made an impact on the world! Kensci, a company located in Seattle, Washington, has used machine learning to predict illness and treatment to help clinicians and also helps predict population health risk. Additionally, It is also possible to track statistics of COVID-19 using machine learning. In the health sector, Python offers a variety of help in the medical community.

I have only briefly touched on the many possibilities that Python and coding can provide. There are so many ways that Python can be used whether it be personal usage, for entertainment or to even benefit the world. All in all, Python is a truly amazing language and one worth learning.

Author: Sophie Dillon

Minecraft: your kid's gateway to learn how to code by gaming

Hogwarts castle from the Harry Potter saga built in Minecraft. Image credit: Microsoft \ The Floo Network

Hogwarts castle from the Harry Potter saga built in Minecraft.
Image credit: Microsoft \ The Floo Network

Microsoft’s world-building game Minecraft is one of those games you start playing to…never stop! It is a game in which players build, create and go on adventures in a place entirely made of blocks. Most especially, Minecraft contains very little violence, since the main focus of the game is designing original constructions, in this way developing problem solving, visuospatial and analytical skills, as well as teamwork skills, supporting collaboration through its multiplayer mode [1], [2]. Minecraft also takes into account of security online with participation of moderators that control the situation and can help out. It really is one of the most popular games and although parents may feel like the hours spent on any video game are just a waste of time, it is important to realise the enormous educational value intrinsic to Minecraft, which is not only able to encourage children to be creative and to use their imagination, but it can also teach them the basics of coding [3]. As the associate professor of Library Science at Purdue University and fellow at the Berkman Center for Internet and Society at Harvard University Rey Junco says, “I like to talk about with our kids that we like to let them get bored so they can be more creative and they can do that on Minecraft because there aren't the limits on their space or time that are out there in the real world”.

Super Mario game built in Minecraft. Gif credit: GIPHY

Super Mario game built in Minecraft.
Gif credit: GIPHY

Enhancing the Minecraft code by what are referred to as “mods” (short for modifications) allows for a variety of game-play changes. These are strings of code that modify the game, making it easy to personalise the gaming experience, as well as teaching how to manipulate and create code for other games [4]. In fact, Minecraft is written in Java, which being very straightforward is one of the most famous programming languages. Minecraft also allows for implementations to be added immediately to the code. In this way, the program and the game can be run simultaneously, allowing to see the adjustments to the game in real-time.

An example provided by code.org of how Minecraft can teach how to code in a fun and entertaining way.
Video credit: code.org

There is also Minecraft Education Edition, a version of the game that was especially developed for use within a classroom to teach kids how to code. As such, it features blocks specifically designed for coding, involving tutorials and basic instructions. The educational adaptation of Minecraft transforms separate blocks of code into actions, coming across as a very easy approach to the art of programming, which is the same method used in the course on Scratch programming language offered by Educademy.

Author: Ludovica Maria Golia

Top 3 Coding Languages for primary school Kids 2020

Programming is becoming more and more important, with technology progressing at incredible rates programming has become an essential skill. Programming is very simple to learn and can be as easy as putting together jigsaw pieces. Learning a programming language is not only a great skill to have but it also improves other areas such as problem-solving. So here are the top 3 languages for kids to learn.

1 - Scratch

scratch.jpg

Scratch is a free educational language that uses building blocks to create games. As a visual language Scratch is one of the easiest to pick up and learn. It takes 2 blocks to make a character walk but has the depth of a full programming language. Scratch is a great first step in the world of programming and creating games as it teaches basic concepts in a graphical way.

Creating games in scratch can be done all through a web browser so there is no need to download or set anything up. It takes 2 clicks to begin building a game in Scratch. It also comes with all the tools you need to build your first proper game, including an area to create your own characters to place in the game world.

2 - Python

pyturtle.png

Python is a great language to learn, it is a platform to begin text-based coding. Python offers a language that is simple enough that is quick to understand but complex enough that many games and apps can be developed.

Python teaches programming fundamentals meaning that your child will learn how to use different data structures such as lists and tuples, along with understanding variables, loops and conditional statements. This is why Python is one of the most popular languages for children to learn first.

 

3 - JavaScript

javascript-programming.jpg

JavaScript got popular with the advent of modern web browsers and probably forever it will remain linked to the web. JavaScript may be a little bit more difficult to learn, than Python. However, it’s appeal to children is the ability to create your own dynamic pages - they can code a game or a funny app that runs directly in a browser. This allows children to easily share they work with they friends, adding to the many advantages of coding one extra - socialising. There is nothing better then the feel to be admired by your peers.

Best Online Coding Courses for Kids and Teens

Here at Educademy, we’re passionate about all things STEM. Our tutors are students studying at some of the best Universities in the UK, meaning our courses are some of the best out there. They’re all delivered online, meaning no matter where in the world you are we can teach you. Plus the courses are just a week long, so if you have other plans for your family in the Summer, we won’t get in the way! Kids are able to choose from a wide variety of courses depending on their skill level and age - whether you’re a complete novice or you’re looking to make some more complicated games, we’ve got you covered.

So, let’s dive in and take a look at some of the best coding courses out there:

Best for: Beginners

Example of the fun that can be had with Scratch!

Example of the fun that can be had with Scratch!

  1. Introduction to Scratch

    This course is perfect for kids (as young as 7) who have never coded before. It introduces them to some of the fundamental concepts in coding (such as variables, control flow and for loops), in an easy to use, colourful, block programming language. In the space of a week, kids can go from not knowing what coding is, to creating racing games all by themselves! Plus, our tutors are always there to help so you’ll never be left behind.

  2. Introduction to Python

    For slightly older children who want to start making some more complicated programs, Educademy’s introduction to Python Course is perfect. For children aged 10 and upwards, this course introduces those who have never programmed before to one of the world’s most popular programming languages. If you’re thinking about studying Computer Science at University or maybe even working in the world of tech when you’re older, learning Python is a no-brainer. You’ll learn how to create interactive GUIs and make the most of Python libraries, all whilst learning one of the most in demand programming languages in the world.

  3. Introduction to C# and Unity

    Unity is widely used in the gaming industry to make many of the most popular games on the market. Some examples include Hollow Knight by Team Cherry and Assassin’s Creed Identity. Unity is based on the programming language C#, which is widely used outside of the gaming industry, so this course is not just for games makers. The course will walk students through the basics of Unity’s interface, and eventually students will either complete code written by our tutors, or write their own code from scratch.

Hollow Knight by Team Cherry has been one of the most popular Indie Games of the decade.  Image Credits: Steam

Hollow Knight by Team Cherry has been one of the most popular Indie Games of the decade.
Image Credits: Steam

Best for: Budding Game Developers

At Educademy, we use PyCharm to teach our Python courses. It’s an easy to use IDE, which highlights code and has a great auto-predict feature to make coding as simple as possible

At Educademy, we use PyCharm to teach our Python courses. It’s an easy to use IDE, which highlights code and has a great auto-predict feature to make coding as simple as possible

  1. Intermediate Scratch: Games and Animations

    Perfect for those who have already completed our Introduction to Scratch course, or for those who used Roblox and Scratch regularly at school, this course builds on students present knowledge, enabling them to create more complex games - for example, Flappy Bird! Each day in the course is structured in the form of a project; students will start the day learning about what they are going to build, and then throughout the course of their 3 hour lesson, they will build an entire game that they can then show off to their friends and family!

  2. Create Games with Python

    Building upon the skills learnt in our Introduction to Python course, this course introduces some more widely used libraries such as PyGame and Tkinter. Through working without our tutors and other students, children will learn fundamental concepts like lists, strings, if and while statements, and for loops, all while creating a variety of games. Some examples include a platformer game and space shooter game.

  3. Unity and C# Intermediate Games Development

    This course is ideal for those with a bit more knowledge of coding. At the start of the week, children are given a relatively easy project in which they will consolidate their prior knowledge of Unity and C#. The course slowly ramps up throughout the week, so by the end of the course, they will be creating a Sumo Wrestling game - the Sumo Wrestler has to beat of waves of enemies with increasing difficulty. There’ll be sound effects, power ups and much more!

Best for: Web Development

javascript.png
  1. Introduction to JavaScript and Web Development

    I think it’s fair to admit that most of us are completely and utterly dependent on the internet. We visit thousands of websites every year, yet if someone asked us to create one, most of us would probably be lost. This in JavaScript and Web Development aims to fix that! The course introduces complete novices to the way in which HTML, CSS and JavaScript interact to create beautiful, fully functioning websites. Perfect for kids aged 11+, by the end of the course children will be coding professional games like Flappy Bird from scratch.


Would you like to try one of these out?

 

Author: Richa Lad