Surya Nayar, 14, is no ordinary student. At his young age, he can count Python and C++ programming skills under his belt. This savvy student wrote his own stock rating algorithm after attending a Masterclass on Data Analytics with us. Here, he shares with us his journey in programming:

Q: What gave you the idea for this program?

I got the idea a few years back when a friend of my parents was showing me the software he used to trade stocks. That got me thinking about whether the software could eventually replace human traders and deliver profits. So I started researching algorithmic trading (the process whereby the computer executes trades on its own) and familiarizing myself with stock markets in general. I also read up about Fintech (financial technology) to explore was already commercially available.

In December 2018, I signed up for the Data Analytics workshop at Coding Lab, knowing its relevance in the real world. At the workshop, I saw how sentiment analysis of tweets and newspaper headlines could give me a good overview of what people, or the market, felt about a particular company’s stock prices, thus giving me a new idea about how to go about the program, albeit at a rudimentary level.

I signed up for the Data Analytics workshop at Coding Lab, knowing its relevance in the real world.

Meet Surya, 14
Meet Surya, 14-years-old

Q: What were some considerations you had to factor in when making this program?

Firstly, and perhaps most importantly, was my experience (or rather, lack of it). I had used Python in the past to develop programs, but I had never developed anything in this vein. This really affected what I was able to do with my code – I could not, for example, execute real transactions or forecast whether the stock price is going to go up or down. All I could do was analyze the sentiment about a company’s stocks at one point of time and try to advise the program’s user accordingly – but even this was not perfected. Knowing that I was inexperienced made me avoid making things too complicated, and also allowed me to be realistic with myself regarding my program’s abilities.

Another consideration was the time frame. The workshop only lasted for five days, and I had to complete the program within that time frame. This was quite a tight timeframe, so I practiced during and outside of the workshop, manipulating characters in the code we were given to see what effect it would have on the overall program, and writing more code to complete the program. With the time limit hovering over me, I really couldn’t do much else, or else I would risk having an incomplete program. This time constraint put things into perspective in terms of what I could and could not do.

Q: What were some challenges you faced when developing the program?

I didn’t face many challenges when developing the program, except for some parts of the debugging process. Debugging is the process of locating errors in and rectifying your code after the program fails to execute what it is supposed to. When I was writing my own code, I frequently encountered errors with the for loops I was using, but after debugging, these were minor imperfections which I got rid of efficiently – so I wasn’t too frustrated.

As a coder, I submit to debugging as a compulsory ritual one must perform, in order for the code to be truly perfect.

Surya, on a Holiday to Egypt
Surya, on a Holiday to Egypt

Q: How did your Coding Lab mentors guide you for this project?

For this project, my mentor was Ms. Mona Tan. She helped in almost every way possible. She taught me how to use sentiment analysis on tweets and news articles, which was indispensable for my project. A lot of the code that I ended up using in my program was partially borrowed from what she wrote, including the names of the variables. She was always ready and willing to help whenever I faced a problem, such as debugging long-winded or inefficient code, my occasionally-shaky understanding of the material covered in the workshop – I deeply appreciate her constant support. Lastly, since I was unable to get approval as a Twitter developer in time for the workshop, I ended up using her authorization keys in order to access developer features in Twitter – a pre-requisite for the project, without which I wouldn’t be here answering these questions.

My vision is to be as complete as possible, with a graphical user interface (GUI) and full forecasting. I also want to draw on real-life market data and use machine learning to predict stock price behavior.

Surya's Algorithmic Stock Rater
Surya’s Algorithmic Stock Rater

Q: Are you working on any other projects/programs in the meantime?

For a start, I’m working to evolve the project that I developed in the workshop – My vision is to be as complete as possible, with a graphical user interface (GUI) and full forecasting. I also want to draw on real-life market data and use machine learning to predict stock price behavior. Additionally, I want to implement a feature where the program could scrape the web and build a database of events which may cause stock prices to rise or fall – for example, when Apple announces a new iPhone in September, the program should know that stock prices are likely to rise and use that information to better advise users.

For general programming, – to be honest – I haven’t done as much as I had hoped to this year. I got into competitive programming relatively recently and I go for classes at Coding Lab for the National Olympiad in Informatics (NOI). During the classes, I solve as many problems as I can, but as the problems get harder, it takes a longer time for me to solve them, so I end up doing much less than I intended to. Outside of class, I don’t code much, but I plan to finish reading my book on data structures and algorithms, during my upcoming holiday in India. I have created accounts on multiple competitive programming websites such as TopCoder, CodeForces, CodeChef and dunjudge.me. In 2019, I am really hoping to up my programming game.

Q: What advice would you give to young coders who are new to coding?

#1: Start off simple and aim small. You don’t have to know how to make an entire game, full of spaceships and complex 3D objects right at the start. My first ever program was in Scratch, and it was quite simply a game where you pressed the right arrow multiple times to move a car up a mountain – That was it! A lot of young coders are ambitious, which is good, but it also means that they tend to set unrealistic expectations of themselves and what they can achieve. If you start off simple and work step by step, you’re much less likely to be disheartened earlier on. This doesn’t, however, mean that you shouldn’t challenge yourself – just don’t bite off more than you can chew. One of the biggest shocks for me as a beginning ‘coder’ was in 2017, when I was unable to code a simple program that identified prime numbers and non-prime numbers despite me having ‘coded’ for the last few years. Later on, I realized it was because I was aiming so high initially, that I never got around to solving simpler, more real problems.

There is no such thing as perfection in coding – your code can always be made cleaner, more efficient, or just better – but as you code more and more, you’ll eventually realize how the same problem can be solved in an even better manner, and you can get as near to perfection as possible.

#2: Practice as much as you can. Coding is built on practice and repetition. It’s a muscle, and like all other muscles, it must be trained for it to grow. Nobody can become Mark Zuckerberg without coding dozens of horrible websites first and then eventually coding Facebook. It doesn’t matter if you’re wrong, but you should correct yourself quickly and make a note to yourself not to repeat the same mistakes. There is no such thing as perfection in coding – your code can always be made cleaner, more efficient, or just better – but as you code more and more, you’ll eventually realize how the same problem can be solved in an even better manner, and you can get as near to perfection as possible. As an example: When one learns sorting, one usually starts with the easy-to-understand bubble sort (which, however, is a rather slow and inefficient algorithm that sorts numbers) – as your understanding evolves, you understand more complex and efficient sorting algorithms, such as merge sort.

Surya, 14, is a student at Raffles Institution. He started off with our basic Python (S101) course in 2017 and has since progressed to S121 and C++ programming.

Coding Lab is deeply honoured to have been invited for a live radio interview with Capital 95.8FM. Capital 95.8FM is a pioneering Chinese radio station which specialises in current affairs, finance, and lifestyle content.

Yong Ning with Ee Sim, 98.5FM host DJ
Yong Ning with Ee Sim, 98.5FM host DJ

In their 8th January morning show, co-founder Foo Yong Ning shared with Ko Ee Sim, host radio presenter, on the importance of digital literacy for the younger generation. Ee Sim is the anchor host for the station’s morning show which specialises on local current affairs and social issues.

Before going live on-air at the broadcast studio
Mr Foo, before going live on-air at the broadcast studio

As the interview was conducted in Mandarin, we present to you the translated radio transcript in English for easy reading below.

Capital958logo

Coding Lab logo

Ee Sim: Today we have with us the co-founder from Coding Lab, Foo Yong Ning. Good morning, Yong Ning! You studied Engineering in university right? Coming from a science and engineering background, is it natural to have a keen interest in computers and the like?

Foo: Yes I feel that this is the case for most people.

Ee Sim: Unless you were forced to learn engineering, it should be natural to be interested in this field, am I right?

Foo: Yes definitely. I am very lucky that my parents did not force me to learn engineering. I pursued the field voluntarily based on interest.

Ee Sim: It seems that you had completed your masters degree in Computational Design at MIT. After coming back to Singapore, why did you decide to open a coding educational centre for children?

Foo: The idea for our educational business did not arise immediately. Back then, I was working for an American MNC. Only in 2015 then did I think about starting a learning centre for kids. One fine day, I chanced upon a talk which gave me an epiphany. That talk made me realise how important it is for the new generation to pick up coding.

Ee Sim: Wow, since 4 years ago in 2015?

Foo: Yes, and what’s important is not just coding, but computational thinking too. Initially, it was more about how I could benefit my own children, given that we just had a recent addition to the family. However, gradually, we thought about extending our outreach to benefit more children around the country.

Ee Sim: Why is computational thinking so important to children?

Foo: In today’s age, computational thinking permeates every single aspect of our lives. For example, essential apps such as Google, Grab, and Facebook are all built on computer programs. They are all built on code, which requires computational thinking to be carried out.

Ee Sim: Indeed, we really cannot keep away from products of computational thinking because we use them so often. These applications are all products of man. If we possess computing skills and a solid foundation, we can definitely create more and better applications. In addition, understanding what goes behind these technological products may lead to a greater appreciation for it.  

Foo: Yes indeed, but I must say that it is not just about inventing things individually. At work, we may need to collaborate and communicate with developers that some applications or processes need improvement. Computational thinking offers many benefits in this area as well.

Ee Sim: Do you think that the popularity of coding courses for children has soared since Coding Lab’s opening in 2015?

Foo: Yes definitely. More parents and children have started to recognise the importance of learning coding. On one hand, parents have realised the infiltration of coding in our everyday lives. On the other hand, the government has also highlighted the importance of digital literacy through its policies.

Ee Sim: Certainly, the government, private organizations and even MNCs are encouraging children to learn coding. What are your views on parents who send their children to learn coding at an early age?

Foo: This question is tough because the parents of our students all come from different fields, educational backgrounds, and socio-economic status. Therefore, it is very difficult to place them into one homogenous group. But if I had to pick out a specific group, it would be those who are very concerned for their children’s education and future.

Ee Sim: Do the parents who send their children at your centre know exactly what coding is?

Foo: To put it simply, coding is just the act of instructing computers to do what we want them to do.

Ee Sim: What are the benefits of learning coding?

Foo: There are many benefits to learning coding. One direct application is that we can build our own web programs like Google and Facebook, or even create video games such as Angry Birds. I must stress that what’s more important here is how computational thinking is cultivated through the process of learning coding. You must be wondering, what exactly is this ‘computational thinking’? Computational thinking is a skill that allows us to make use of computer science to solve problems. It is made up of problem decomposition and pattern recognition, abstraction and algorithm design.

Ee Sim: If I don’t intend to make my child a coder or programmer when he/she grows up, do I still need to send my child to learn coding?

Foo: That is a very good question. To answer that, let me ask you another question back: Most of us did not end up as Mathematicians, but why were we made to learn Mathematics when young?

Ee Sim: Yes, so it is just a skill. Perhaps in the future, computational thinking will become like Mathematics, a compulsory subject in schools.

Ee Sim: Ok so we will be taking a break now, in the second half, Yong Ning will be sharing with you more about Coding Lab’s curriculum.

Ee Sim: In the first half our interview, we have established the importance of coding in today’s world. It seems that coding can be used in investment too.  

Foo: Definitely. For example, in quantitative trading, computer programs are utilised to help traders decide on the direction of investment.

Ee Sim: Yes, the computer really does a lot for us. Humans are unable to handle large amounts of data without the help of computers. Also, if the process tends to be consistent in nature, doing it using computers will be much more effective.

Foo: Yes, the computer can analyse more data and consider more factors.

Ee Sim: At Coding Lab, what ages do you welcome and are the courses long or short term?

Foo: We have courses tailored for children from as young as 4 to 18 years old.

Ee Sim: Really? 4 years old? They don’t even know how to hold a pencil properly!

Foo: Actually at age 4, the main learning outcome is not so much about coding in itself, but to understand how to give instructions clearly. It is more about giving children a head start in computational thinking, learning how to structure their thoughts, and not coding per se. It is to guide the child to know how to give specific instructions to achieve their desired outcomes.

Ee Sim: How about primary school children?

Foo: As they are older, we use platforms such as Scratch and App Inventor to teach coding. These platforms are highly visual, and have a drag-and-drop based interface — perfect for children. These platforms allow children to focus on computational thinking and not worry about writing code because endless scripts of code tend to be intimidating to most people. Through these 2 platforms, they can create their own games and stimulate their interest in game design and programming.

Ee Sim: Wow so even primary school children can create their own apps! What kind of era is this? So what about secondary school students, do they learn something more complicated?

Foo: As secondary school students are more accustomed with typing, we teach them standard coding languages such as Python, which have very broad uses in the real world. For example, in one of our data analytics courses, we had a secondary school student who was very interested in stocks.

Ee Sim: Interested in stocks at such a young age?

Foo: Yes, due to family influence perhaps. After attending our data analytics course, he thought about how he could apply whatever he had learnt into stocks.

Ee Sim: So through your courses, children will achieve mastery in this fundamental skill which can be applied into solving problems in our daily lives?  

Foo: Yes, students can apply computational thinking and coding knowledge to create anything of their interest — games, mobile applications etc. If they have a keen interest in Mathematics, we also have training courses to prepare them for the annual National Olympiad Informatics (NOI) competition held by National University of Singapore (NUS).

Ee Sim: Every child has different personalities and interests. As such, do you think that all children should pick up coding?

Foo: I feel that every child should have some foundation in coding. While it holds true that not everyone will grow up to be a programmer, I believe that in future, we will all need to come in contact with things related to coding. For example in the workplace, we may need to communicate with developers on how to improve their products and/or processes. Therefore, I believe that every child should have some knowledge in this field.

Ee Sim: For the past 100 years, our educational system has focused on writing and arithmetics. However, 100 years from now, coding may very well be incorporated into our compulsory syllabus as it has come to be a necessary skill.

Foo: 50 years ago, if someone had a good grasp of their languages and mathematics, they would be able to do well at their job. However, in the future, it may be computational thinking instead.

Ee Sim: Do you think that is possible to learn coding ourselves?  

Foo: Like many other skills, coding is not impossible to self-learn; It will just be more difficult. Learning things by ourselves can already be a challenge for adults, much less for children. It is very difficult to learn things if we do not have a clear picture of what we are trying to achieve. Therefore, learning through a well-planned curriculum with good guidance is much more effective and time saving.

Ee Sim: Do our government schools offer coding lessons?

Foo: Yes many do. In fact, we have collaborated with various MOE schools to conduct coding classes. These schools reach out to us because a majority of school teachers are unfamiliar with coding. These coding enrichment classes offer students a glimpse into the realm of coding, and those who are enticed will come to us at Coding Lab to further their interest.  

Ee Sim: Thank you. Today we are very happy to have the co-founder of Coding Lab to share with us about coding and its benefits.

Foo: Thank you too.

Founded in 2002, Scratch’s drag-and-drop block-based interface has grown to be one of the world’s top visual programming languages. Colourful, intelligible and intuitive, this very friendly coding language is designed primarily for the young and beginners of all ages to the realm of code.

Indeed, developed by the MIT Media Lab, Scratch has been weaved into the educational curriculum of schools worldwide, from enrichment classes to even Computer Science introductory courses in universities. Today, the Scratch online community – with a population of 35 million registered users – has amassed over 37,000,000 shared projects and counting.

Just like us all, Scratch has come a long way, constantly improving and transforming. By now, you should have already heard of Scratch 3.0 which was only just officially launched in January 2019.

All of us are familiar with the Scratch which we have all grown to love; thus the impending change may feel a little intimidating. However, no need to fear, the Coding Lab Team is here!

Let’s welcome Scratch’s new changes with open arms, as we hold your hand and guide you through these uncharted waters in this article, together.

Below are 5 things you need to know about Scratch 3.0:

  1. A sleek makeover

The first most striking difference in this new version is the new interface.

The layout has been rearranged to a more intuitive order from left to right. Everything is now displayed more prominently and clearly for you to see.  

Rearranged left-to-right layout
Rearranged left-to-right layout

One feature which speaks out to us notably is the visualization of angles which makes it easier for young students to understand directionality.

Visualization of the different angles
Visualization of the different angles

Our favourite and colourful blocks are still there, but are now bigger and better. It is now so much easier to drag, drop, and type in the spaces of those little boxes.

In addition, there is also  more space to unleash your creativity with unlimited scripts using the new function that instantly expands the canvas laterally.

An expandable canvas
An expandable canvas
  1. The more the merrier

Indeed, the most exciting new feature hands down is the fresh collection of characters, backdrops, and sounds.

From llamas to even mermaids, the ways you can express your creativity with the new range of sprites are limitless.

Some of the new available sprites
Some of the new sprites available

Always wanted to dress your human sprite up? Your dream came true Now you can play dress-up with your favourite sprite doll using the wide array of costumes available.

Snippet of the new sprite library
A snippet of the new sprite library

After choosing your characters, dress them up and take them out on an adventure with the new backdrops to the farm, over the hill, or out into the galaxy. Endless fun and possibilities await!

New exciting backdrops
New exciting backdrops

As for the new sounds, there are three new categories such as Space, Sports, and Wacky.

The new hover-to-preview interface of the libraries is much more intuitive and friendly for the young. Children, especially, will be all on the floor over the new sound effects, for sure!

Refurbished sounds library
Refurbished sounds library
  1. Edit like a pro

The improved paint editor is now more sophisticated and comprehensible, making it easier for children to navigate through the tools and functions, as they unleash their artistic talents.

New features in paint editor
New features in paint editor

Even more exciting is the upgraded sound editor, which now enables users to trim tracks, adjust the speed, play with sound filters, and even play the sound in reverse.

Any Scratch educator can assure you that the sounds are always a huge favourite among kids, and we believe this new feature will certainly leave young children exhilarated.

New sound editor functions
Exploring the New sound editor functions
  1. Extensions

If you were wondering where the Pen and Music blocks have gone to, do not fret no blocks were harmed in the making of Scratch 3.0. These blocks have just moved into the “Extensions” section, located snugly at the bottom left-hand corner of the screen.

These extensions allow Scratchers to bridge the gap between the digital and physical world. Users can now incorporate Scratch to program physical devices such as the micro: bit, the mBot and interactive LEGO robots.

Moreover, we can now integrate Scratch with Google Translate, connecting coders of all languages around the world.

Scratch Cat saying Hello in 4 different languages
The Scratch Cat saying Hello in 4 different languages
  1. Scratch on the Go Anytime, Anywhere

Last but not least, good news for mobile fans: Scratch will now be available on tablets and Chromebooks!

Powered by HTML5, it runs on all browsers (excluding Internet Explorer) and Flash player plug-ins are now made redundant. Just finished a Scratch class and having high-tea at a nearby cafe with your child or waiting for the train? You can now review or edit your child’s programs on-the-go!

Goodbye 2.0, Hello 3.0

Though it may look foreign on the surface, deep down, Scratch 3.0 is still the Scratch we know and adore. In no time, the previous version will feel antique, just like an outdated Apple iOs. All existing accounts and projects will continue to work and the platform remains free of charge.

We’re absolutely psyched for the new version, how about you?