Skip to main content

Programming Introduction for Primary School with ScratchJr, Pico Projector and Google Chromecast

Invitation

I was lucky that my daughter asked me whether I would answer all the questions of her classmates - most of them are nine years old - about my profession. They had "professions" as the topic of their general knowledge lesson. So my daughter told me that they invited teacher, school caretaker, stewardess, nurse and also me software developer. Her classmates and she would ask the invited person some questions. I directly said yes because I think that the new generation needs to be introduced in software stuff especially that the current professions will change a lot in the near future. Reuters had a very interesting article about how Robots and Artificial Intellegence will cost five millions jobs by 2020. In my opinion software development will be much more important by 2020, so this is my chance to introduce my profession to the kids in my daughter's class.

Preparation

In my preparation I thought that I need to show them something cool so I began to google and found this piece of IDE (Integrated Development Environment). Scratch is a great IDE for doing graphical programming language. With Scratch you can show your kids how to write a program in a simple manner. You also can find a tablet version called ScratchJr.

 
I myself really had a fun with this IDE. Now I need two things to be able to run my introduction.

(1) Content of my presentation: I need to prepare my presentation so that all the kids will understand me. For this purpose I'm lucky to have my wife as a primary school teacher. So I asked her how I could show them Scratch in an easy manner so they understand what software developer is doing the whole day. She told me that I have to involve them and create something cool. I also need to think about what are the requirements to become a good software developer. We took a look at Scratch and I should involve them in some these things:
  • I will choose the standard "cat" figure and do some movements with it.
  • One of the kids should choose how many steps the cat should walk to the left or to the right.
  • They also should record the cat sound alltogether.
  • They should choose the second character. 
  • Then the second character should walk and meet the cat somewhere and says "hello cat".
 Afterwards we declare what the requirements are to become a good software developer:
  • Math is a must.
  • Art and creativity are good foundation.
  • Endurance will help a lot.
That's it! Now I need to go to the next preparation point.  

(2) Technical possibilities in the classroom: to be able to show ScratchJr and programming in the classroom I need to prepare some technical things. It is a pitty that in the classroom there is no projector so I need to bring all the things by myself. Generally speaking, computer equipments (tablets, internet and projector) in primary schools in Germany look really horrible. In 2014 only six percent of primary schools in Germany has a tablet equipment in their classroom. Following gadgets will help me a lot:
  • An Android tablet with WiFi where I could install ScratchJr.
  • A small projector something like Aiptek Pico Projector.
  • A Google Chromecast: this is an important part so that I can connect from my tablet wirelessly to my small projector, no need to use HDMI cable. My Samsung tablet does not have a HDMI and neither a MHL (Mobile High-Definition Link) connector.
  • An Android mobile phone with internet access, so that the tablet and the Chromecast stick can find each other.
  • A power bank to supply the power for Chromecast and the Pico projector as I know that it would be impossible to get a power supply in the classroom.
Here is how my technical setup looks like:


I need to re-initialize the Google Chromecast to find the WiFi from my mobile phone but that was quite easy and just in a short time I could mirror my tablet screen with ScratchJr through Google Chromecast to my Pico projector. So I can use my tablet without any cable! Amazing, very easy and I really did not expect this.

One thing I recognize: I need to have a good internet connection from my mobile phone since Google Chromecast needs an internet connection.

At the end of the day I'm prepared with the content and the gadgets so I was really looking forward to show this to my daughter's class.

Execution

At the D-Day I was well prepared, every single gadgets was fully charged, as I know, without power supply I need to be secure that all the gadgets can work independently from the power supply. I also need to put my mobile in the near of the classroom's window to get a good internet connection. I also need helps from the kids to get some books to put the projector on the top of them, so that it can show the ScratchJr user interface just in the middle of their blackboard.

After showing them the ScratchJr and let them decide some things as I planned above, I got an interview round, so they could ask me all their questions about the profession as a software developer. Here are some questions:
  • How long do you need to study to be able to execute your profession?
  • In what age did you start programming?
  • Why do you like your profession?
  • What characteristics are important to do your profession?
  • Can I use iPad to play with ScratchJr?
  • I like to play games, do you know someone who also develops games?
  • Could you please tell the developers of Minecraft to solve some of my problems?
I had a lot of fun showing ScratchJr and answering all the questions for about 45 minutes.

End of Story

At the end, I think, I managed to excite the kids to see how easy graphical programming could be. ScratchJr or Scratch is the best IDE I found sofar for this purpose. It is quite similar to Android App Inventor which is designed for Android application development with graphical programming language. Google Chromecast and Pico projector help me a lot to tackle the infrastructure in the classroom. Without a demonstration with ScratchJr I won't be able to explain what a software developer is actually doing the whole day. At the end of this story I want to encourage all fathers and mothers who are software developers to show your children and their classmates that writing software is really cool! As Marc Andreessen said "software is eating the world", so we need more intelligent software developers!

Comments

e hennies said…
Very cool idea and good team work with ur wife :-)
i'll definitely show my daughter.
Education is the most important thing after health. You can change the world by it.
Thanks for sharing & do some more:-)
epifani said…
luaaaarrr biasaaaaaaaaa
Thanks for your positive reply. Yes, we have to think and act for the next generation!
Srinivas rjy said…
Really this is a great post,Thanks for sharing the information.


- SuryaHANA SAP HANA training in India
Anil Gupta said…
Thank you for posting such nice article read. I am very glad to read this. Really good one.
Bangalore Web Designing Company, Web Development Company Bangalore
Prasanth said…
I absolutely admired every bit of it and i additionally accept you book apparent to analysis out fresh things in your site.
UI Design Companies in Bangalore, Web Application Development Companies in Bangalore

Popular posts from this blog

Creating Spring Bean dynamically in the Runtime

In my training someone asked me whether it is possible to create an object (a Spring Bean) dynamically so you can choose which implementation you want to have in the runtime. So at the compile time you don't know what object actually should be created yet. The application should decide what object to be created based on a property file.

1. We create an annotation so we can mark the method which should be able to create the object dynamically:

...
package your.package;
...
@Retention(RetentionPolicy.RUNTIME)
public @interface InjectDynamicObject {
}
...
2. Use the new created annotation in your method which should be able to create the object dynamically:
... @Named("customerBo") public class CustomerBoImpl implements CustomerBo { ...     @Override @InjectDynamicObject public Customer getDynamicCustomer() {         return this.dynamicCustomer; } ...
3. Write an aspect with Pointcut and Advise which change the object returned by the method in the step 2:
... @Named @Aspect public class Dyn…

Enterprise Applications Customization with Microservice

Introduction Today in highly paced enterprise environment you, as the leader of enterprise IT division, need to be fast. Simplicity is the key for the speed. What are the key factors to simplify your IT? Three different areas are very important to take care of: Technology, Organisation and Environment(TOE Framework: http://goo.gl/tQlX5z). Here are some detail points for technology and organisation:

1. Technology: in most enterprises there are already one or more ERP and CRM solutions the so called Enterprise Applications. We need to manage them carefully as they support the business processes. In context of the core compentencies most enterprises customize the enterprise applications to fit their needs. We need to manage the customizations in detail as they represent the core competencies and at the same time the differentiation of our enterprise to other competitors. 2. Organisation: working in a small team with different roles and functions is already proved as the best …

Smart Home Sweet Home with Gigaset Elements?

Introduction
Last week I had a chance to try the Smart Home solution from Gigaset Elements. I read some articles about this product which said how easy to install this product for dummy users. Those articles woke my interest and I began to google products for Smart Home solutions.

In this article (German language) you will find a nice overview about some products for Smart Home, which can be bought in Germany. The Nest product from Google is still not available in Germany. Although it seems that RWE will offer Nest products in Germany in couple of months.

The installation of Gigaset Elements was really easy. The problem I encountered was to add the sirensensor. I had to push hard the button on the siren sensor at the same time with the button on the base, so that they can communicate with each other. After about one hour I managed to install everything properly.

Points to mention
Generally the idea is very nice. Gigaset Elements try to push KISS (Keep it Simple Stupid) principle. Howev…