Educademy latest news on coding / computer classes for kids and teens — Educademy

Alex Jarosiewicz

What Is X3D Modelling? And How To Do It?

What is X3D modelling and why should we care?

3D object visualisation has a reputation of being expensive, time consuming and some of the formats do not work nowadays. Having a computer that was able to support viewing and creating 3D objects was necessary. Extensible 3D modelling left all of these problems behind, it is royalty-free, relatively fast loading and highly portable because it is XML integrated which makes it transferable and easier to preserve.

Model of a building created using X3D modelling.

Model of a building created using X3D modelling.

Anyone with a computer or even a mobile device and a browser is able to view and interact with 3D objects but it may not run on older versions of the browsers. User interaction is fairly simple performed by dragging the mouse.  X3D modelling can be used for educational purposes, architects, engineers. Furthermore, in the future we are likely to see extensions of 3D models that will support 3D printing. 

Printer visualised thanks to X3D modelling. Source: web3d.org

Printer visualised thanks to X3D modelling. Source: web3d.org

All in all, X3D modelling can be the future for many disciplines such as architecture, engineering, and the educational sphere. It is accessible on most devices with an exception of the devices that run on older browser versions. User interactivity, portability are benefits of X3D. Designing is much less time consuming and less of an expense. In other words, it is easy to learn and people are easily impressed by it.

How to do it?

You only need a simple text editor and a web browser to create 3D models using these technique.

Want to learn more - enrol into our javascript course today

Google - Where Does It Use Python?

Some people may be under the impression that just because Python is a beginner-friendly language, that experts won’t use it - this simply isn’t the case. Python is used by beginners and experts alike; it is a dynamic, short and flexible language which can be written and read by anyone. Today I’ll be covering some real world examples of Google applications using Python.

Google App Engine

An app engine is a cloud service which is a platform that allows the hosting of modern web applications and mobile back ends. Google App engine was originally developed for Python but now offers a range of languages such as Go, Ruby, Java and many more. Despite this, it still allows the usage of Python’s many libraries and tools for hosting web applications.

Google Data Libraries

Google has developed many client libraries for developers to use. For example, Google Data Python Client library is a popular choice for application development in many Google data services. Alternatively, other libraries include libraries for Google Adwords Python Client libraries for accessing Google accounts or many more examples which can be found here.

Youtube

youtube.png

Probably the most famous example is Youtube. Almost everything about Youtube utilises Python in some way - the API and core functionality. For instance, Python is used to view videos or control the templates for the websites. Although, Python is rumoured to be compiled into Go to make up for its performance issues, Python is used in Youtube for its rapid development time and easy syntax.

These are three prime examples of Google using Python — clearly Python is not just for beginners.

Why not try and learn or improve your programming skills in Educademy? Here at Educademy, we offer an introductory Python summer camp course for kids aged 7-16 and an intermediate one. On top of this, we also teach so many different languages! Read more here!

Author: Sophie Dillon

Share

World Book Day

It may feel quite unrelated - computer programming (also known as coding) and books. However, it is books that allow for all these programming marvels. I’m not writing about printed books of course - it’s all about books - widely referred to as documentation available online.

Video by Elen Lackner from Pixabay

Scratch

You may be surprised, but there is a wonderful collection of Scratch documentation dedicated to more advanced users. While Scratch may seem like a toy coding (pun intended - you can literally program LEGO in it), it is a fully fledged programming language. Here, at Educademy our favourite is Scratch Wiki and in particular Other Tutorials which discuss more advanced techniques to use in Scratch.

Python

Python, being one of the most popular programming languages, has an abundance of great online resources. The one that stands out of the crowd is Real Python. However, if you really want to dive deeper into the language and what it can do in real life, check out opensource.com 

JavaScript

JavaScript, being another of the most popular languages, is also very popular on various websites explaining how things work. The trouble is - as JavaScript evolved, a lot of information about it got a little “outdated”. It’s not like a piece of JavaScript from 20 years ago will suddenly stop working. It’s just - this is not how things are done now. And if you want to find out, how it’s done now, head right to javascript.info 

And one website to rule them all

Stack Overflow is the website that consistently shows up at the top of search results. Wonder why? That’s because if there is a question in computer programming worth answering, it has already been asked there.

Unity Playground - Space Shooter

Making a space shooter

Follow along with the video below to create your very first Unity game. There is no coding so this is a great introduction to Unity. The space shooter playground kit contains everything you need, including a space ship and some asteroids. This tutorial uses Unity 2019.4.8f1 which can be installed using Unity Hub.

Next Steps

  • Using the Patrol script found in the Movement folder you can enemies to move about.

  • Load a new scene to create a new level and switch when all the coins have been collected.

  • Add some powerups, like extra life or speed up.

Bolt

Unity+and+Bolt+-+Product+Thumbnail.jpg

Unity Bolt is a great next step after making a game or two inside Unity Playground. Bolt offers an increase in complexity and control while still having no code. You can view our course for Unity Bolt here.

Share

Python in Healthcare

Python is a programming language typically used for developing applications quickly and securely. Python has many real world usages and big communities dedicated for things like machine learning and web development. Notably, this language is commonly used in the healthcare sector for development.

Roam Analytics

Roam Analytics is a startup business based in Silicon Valley. Their approach is data-driven as their company offers a unique analysis of different patients health journeys through machine learning and natural language processing. Essentially, their approach is structured through a deep analysis of data. This allows doctors to have data which will allow them to make better decisions when it comes to the treatment of diseases as they will know what works best. This company utilises Python as one of their languages to code their healthcare application.

AiCure

AICure is also a startup based in New York. This company is an advanced data analytics company; it offers a platform for AI to monitor patient behaviours relating to a medication which the patient takes, which can be used to identify patterns or trends from the data gathered. For instance, it can gather information about a patient like their level of expressiveness through the camera on their phone. This platform will then provide an understanding of a drugs effectiveness which can reduce costs for drug trials for the patients. Therefore resulting in a very effective smartphone application for the health sector!

The Future

There are many different ways that Python can be used in the future in healthcare but a current relevant example is predicting how on a disease may progress. For instance, it is possible to create a cancer survival prediction model in Python. Python has been used to predict the mortality rate of a patient with a specific disease given electronic health records. These models are highly beneficial within the health care industry and uses methods like machine learning to further benefit doctors, patients and the healthcare sector in general.

python.jpeg

There are many possibilities for Python to be used in the future to benefit the healthcare sector. Machine learning is a revolutionary way forward and could potentially be used to save billions. Python is the go-to language for industry experts in machine learning which can truly be used to make a difference in people’s lives.

If this idea intrigues you, why don’t you consider taking our programming courses? Our Python course covers not only knowledge you’ll gain in secondary school but other topics like artificial intelligence to help you gain the knowledge to make a difference, too.

Author: Sophie Dillon

Why Consider Tutoring?

My Experience With Tutoring

When I was younger, I always wanted a tutor. The approach of 1-to-1 teaching really appealed to me!  I loved the thought of being able to ask as many questions as I wanted, and really ‘broaden my horizons’.

When I was 17, that is exactly what I decided to do. During my A-Levels, I worked a part-time job for pocket money which would go towards maths tutoring for one hour per week. My expectations were indeed correct! My calm, collected and intelligent tutor worked me through any problems I had, any content I wanted to cover and absolutely any questions I had. I had never found something so beneficial, especially because I was always so keen to really solidify the knowledge that I had gained.

Weeks passed, and the lessons quickly stacked up. I was learning comfortably at my own pace unlike in a classroom where I felt a pressure to learn things rather quickly. If I didn’t understand, I felt no judgement. Before this, I had always felt judged if I didn’t understand quickly which would not enable to me to reach my full potential. My tutor would always push me in the right direction which encouraged me to learn more about mathematics in my free-time.

In the end, I secured myself an A-grade in my mathematics A-Level! Although this was thanks to my own hard-work, tutoring certainly helped to contribute to my success as it helped me to solidify my knowledge. Here at Educademy, we’re all keen to deliver the same exact experience to children.

Why Consider Tutoring at Educademy?

  • Practical and Theoretical – we understand that no child learns the same. Therefore, we’ve structured and developed our courses around providing as many fun projects alongside learning the fascinating theories behind Computer Science.

  • Content for the entire year. You won’t have to worry about your child running out of things to do. Our tutors offer content that lasts the entire year whether that be for our Scratch course, Python course or Unity/C# course. We’ll ensure that your child leaves the lesson having learnt something.

  • A unique approach. We understand that learning the secondary school syllabus is certainly important. However, we also offer a view at the world of artificial intelligence and the variety of things it offers. For instance, in one of our Python lessons, we cover what chatbots are, what they were like and how they developed!

  • A comfortable pace. Our tutor will get to know your child and tailor their approach to the child’s benefit. Whether your child has no knowledge or lots of knowledge – we cater for all ability.

I – and every one of our other tutors – want to make sure that your child learns something each and every week.

I know exactly how nerve-wrecking it can be at first when first receiving tuition. You don’t know what to expect, whether it will be bad or good; luckily, Educademy currently offers a FREE trial lesson to give you a small snippet of what’s to come in our courses. Why not come and try?

Feel like you can become a tutor? Have a look at our vacancies and maybe one day you’ll add to the above story…

Author: Sophie Dillon

 

Share

Celebrating Programmers Day with free Hour of Code

Today is 256th day of the year. Why does it matter? Because 256 is the number of different values you can store in one byte. And because on this day we celebrate coding (programming).

hour-of-code-logo.png

To celebrate Programmers Day and all the children, who would like to become programmers we launch today our Hour of Code initiative. If you are an individual, you can book for your child (completely free) an hour of fantastic coding experience, be it in Scratch, Python or JavaScript. If you represent a school or a local community, please get in touch and we’ll do all we can to help.

Share

Preparation for making a discord bot

Developing a Discord Bot requires quite a bit of setup, but you only need to do this once and then you can create many more JavaScript projects.

Node JS

Download and Install Node from: https://nodejs.org/en/

NodeDL.png

Node Packet Manager

Once installed, create a folder for your project. Call it what your bot will be named or just call it DiscordBot for now. Next up we need to install Discord.js, this is done using Node Package Manager (NPM). We need to open a command prompt to do this, hold down Shift + Right Click and then select open command prompt. If you cannot see the option, open the start menu and search for cmd and hit enter. Then type cd <PATH TO YOUR FOLDER> for example if my folder was located on my Desktop I would type: cd C:\Users\Dan\Desktop\DiscordBot. Replace “Dan” with the account name on Windows.

Installing discord js

Type “npm init” in the command prompt. This will then ask a series of questions. Fill them in as you see fit. If you are not sure on any, just leave them blank.

PackageSetup.png

Once complete, it’s now time to install Discord.js. Type into the command prompt: “npm install discord.js”

npminstall.png

Setting up a linter

You can program your discord bot using Notepad or Notepad++, however these don’t offer syntax highlighting. I am using WebStorm to develop in, however, this is a paid product. You can download Visual Studio Code which is a light weight editor for multiple languages.

vscode.png

Next download the Linter for Visual Studio Code: npm install eslint

Finally, install the plugin for Visual Studio code.

eslint.png

Linter Tweaks

Create a file in the root of your project folder. Call this file .eslintrc.json and copy the following code into the file or download it from Github.

{
	"extends": "eslint:recommended",
	"env": {
		"node": true,
		"es6": true
	},
	"parserOptions": {
		"ecmaVersion": 2019
	},
	"rules": {
		"brace-style": ["error", "stroustrup", { "allowSingleLine": true }],
		"comma-dangle": ["error", "always-multiline"],
		"comma-spacing": "error",
		"comma-style": "error",
		"curly": ["error", "multi-line", "consistent"],
		"dot-location": ["error", "property"],
		"handle-callback-err": "off",
		"indent": ["error", "tab"],
		"max-nested-callbacks": ["error", { "max": 4 }],
		"max-statements-per-line": ["error", { "max": 2 }],
		"no-console": "off",
		"no-empty-function": "error",
		"no-floating-decimal": "error",
		"no-inline-comments": "error",
		"no-lonely-if": "error",
		"no-multi-spaces": "error",
		"no-multiple-empty-lines": ["error", { "max": 2, "maxEOF": 1, "maxBOF": 0 }],
		"no-shadow": ["error", { "allow": ["err", "resolve", "reject"] }],
		"no-trailing-spaces": ["error"],
		"no-var": "error",
		"object-curly-spacing": ["error", "always"],
		"prefer-const": "error",
		"quotes": ["error", "single"],
		"semi": ["error", "always"],
		"space-before-blocks": "error",
		"space-before-function-paren": ["error", {
			"anonymous": "never",
			"named": "never",
			"asyncArrow": "always"
		}],
		"space-in-parens": "error",
		"space-infix-ops": "error",
		"space-unary-ops": "error",
		"spaced-comment": "error",
		"yoda": "error"
	}
}
Share

Gmail Part 3 - Securing Your Passcode

If you have not read this blog post, I would recommend reading Gmail part 1 and part 2. In this blog post I will be covering how to secure your passcode in Python using the previous pieces of code I have made. The previous pieces of code would look like this:

An example image of what my previous script would look like.

An example image of what my previous script would look like.

So, your passcode would be stored out in the open which wouldn’t be very secure. To solve this issue, we are going to make this more secure through the usage of a JSON file. This is a file type that is primarily used for transmitting information which in our case would be suitable for our Python program.

1) DEVELOPING A JSON FILE

To start with, let’s make a JSON file of where we’re going to store the contents of the email and password. The file should look something like this:

An image example of what the JSON file should look like.

An image example of what the JSON file should look like.

Specify the email and password to be in quotes specifically. This is where we are going to store the email and password. So it should be something like:

{ 
    "email": "exampleemailhere@gmail.com",
    "password": "16characterpasswordhere"
}

So instead of your email and password being stored in the clear in the Python file, we’re going to store the email and 16 character password specifically in this file. Save the JSON file in the same directory as your Python file, so that the file knows what JSON file it is accessing. I’ve saved mine as “Json.JSON”. Now we’re going to edit the Python file.

2) Editing the python file

Okay, so we’ve added information to the JSON file. Now we’re going to have to change the Python file. I will be using the example code from my first blog post regarding this

An image of my altered code from my first blog post.

An image of my altered code from my first blog post.

2a) explaining the code

I have added the Json library to my Python file script. Next, I have told my program to open the Json file as a file. Next, I have stored everything that is collected from the file as a dictionary. So what will be stored in this dictionary is an email and a password, as this is how the JSON file was defined. Next, I have defined the variables “PERSONAL_EMAIL” and “PASSWORD” to access the information in the seperate file which is more secure compared to sensitive information being stored in plain sight in the python file. Next, I have edited the code so that I can test if the email will actually send to me and the JSON file method was successful.

3) receiving the email

If you have defined the JSON file successfully, run the program and you should receive a test email like so:

An image example of a test email I have received

An image example of a test email I have received

If the transmission is unsuccessful an error will be thrown. It’s important that the .py files that you have and the .JSON files are in the same directory, otherwise this will not work!

Note for the second script that the IMap Tools library works by reading from the first message ever in your inbox. Therefore if you have a lot of messages that are seen and not deleted, the program will be incredibly slow at generating new files for the messages that you have not already read.

To summarise, having a .JSON file is an easier and more secure way to store your information rather than storing the information directly in a variable. To learn more about .JSON files, be sure to read more here.

Author: Sophie Dillon

Share

Celebrating Girls in Technology - Part Two

A few weeks ago, I made a post on celebrating inspirational female figures within technology. This post is going to be a carry on from that post. There’s clearly a lack of representation within STEM fields, specifically coding, of girls to look up to, so why don’t we take a minute to look at and reflect on the lives of women who’ve contributed to the field of Computer Science?

  1. Jean Bartik

thumbnail.jpg

Jean Bartik was born in 1924 in Missouri to a schoolteacher and a farmer. Most of Jean’s family were teachers and so she was destined to enter Northwest Missouri State Teachers College pursuing studies in Mathematics. Jean worked hard throughout her life to go into college as she was only supported by her aunt with $25 a month and also a part-time job in a local bookstore. Despite this, this didn’t stop Jean from applying to the University of Pennsylvania and developing the ENIAC computer!

The ENIAC was the first original general-purpose computer which was able to solve complex calculations. This computer was so complex that Jean and four other girls became programmers for it and learnt how to use subroutines, nested subroutines and other programming techniques. Jean was recognised as an influential figure in 1988 by being introduced in the ‘Women in Technology International Hall of Fame’ and later receiving the ‘Joan S Korenman Award’ for being one of the first computer programmers!

2. Beatrice Worsley

An image of Beatrice Worsley.

An image of Beatrice Worsley.

Beatrice Worsley was the first computer scientist in Canada and gained the first PH.D known in Computer Science. Beatrice was born in 1921 and was homeschooled for her childhood. She was an incredibly intelligent woman and graduated from her high school with awards in science, mathematics and was acknowledged as one of the best students to attend the school. After gaining her academic qualifications, she chose to teach at the University of Toronto and at Queen’s University.

Outside of her achievement in academia, Beatrice is known for having written the first program to ever run on the EDSAC. The EDSAC was a ground-breaking machine which could run 650 instructions per second! Beatrice’s program was a square number program on the EDSAC!

3. Marissa mayer

For a more modern-day example, take Marissa Mayer as your source of inspiration. She formerly held the position of being the former president of Yahoo.

Prior to being the president of Yahoo, Marissa was a Stanford University graduate with an undergraduate degree in Symbolic Systems and postgraduate degree in Computer Science. After graduation, she was offered 14 job offers of where she joined Google in 1999 being the 20th member. She quickly worked her way up the ranks with a keen eye for detail and soon held key roles in all of Google.

In 2012, she became the CEO of Yahoo. She announced her resignation mid 2017 and is now currently pursuing research into artificial intelligence and consumer media.

girls can do it too!

There you have it - key examples of the amazing talent that women have contributed to the field of Computer Science. Here at Educademy, we offer courses and support for girls who want to get into coding but may feel like it’s just directed at boys. I hope that these articles have managed to convince you that this simply isn’t the case. No matter what background or gender your child is - our courses provide support for everyone. So, why not check them out?

Share