computational thinking

Meet Lucas Loh! – His Learning Journey with The Lab Singapore

Meet Lucas!

Lucas is not your typical 11 year old. Like many boys his age, he loves his computer games  – but he is also passionate in programming.

His mom quoted, “He loves playing coding games (particularly Clash of Code)”.

“Coding is sometimes fun and sometimes difficult. If you can solve the question, you feel good.” says Lucas.

Early Beginnings

Lucas’s journey began at an early age with a robotics school in the East.

“I love Lego and my parents enrolled me into a robotics school while walking in a shopping mall one day!”

Unfortunately, as much as Lucas loved Lego/robotics, his journey was cut short as the learning environment did not suit him.

Months later, Lucas’s mum came across The Lab Singapore and enrolled him. Since then, his skills and enthusiasm have gone from strength to strength.

Lucas has been a student of The Lab since 2019. His humble beginnings of programming begun with The Lab Junior Program for ages 7-9 years old. Lucas did not start out as a star. He was a normal student like anyone else. He was not the fastest or smartest in class. Yet, it was The Lab’s learning style that allowed him to thrive in the class. 

The Lab strongly believes in learning without boundaries. What that means is that we give students the required amount of time for them to learn and understand, especially when programming can be quite complex. Each student are given their individual tasks and leaning journey. Through this way of learning. Lucas blossomed.

To date, he has completed The Lab Coder Program and is now in The Lab X Competitive Programming Course. 

Last August, Lucas competed in one of the largest coding competitions in Singapore, the Coding Olympics Singapore 2022, held by the Singapore Science Centre.

More than 100 primary schools in Singapore with thousands of students participated in this single event and Lucas emerged as one of the winners under Category B. 

Days before the competition, he said nonchalantly “The practice questions are so easy!”.

The Lab is highly fortunate to have aspiring programmers like Lucas who enjoy coding and appreciate The Labs unique teaching style.

We hope that Lucas’s story will inspire more young coders to take up programming and one day be as passionate as Lucas!

What does Lucas wants to say to you, aspiring coders?

“You must have interest to do coding because it takes a lot of patience. MOST IMPORTANTLY, never give up! “

What does Lucas’s mom has to say about us?

Tagged with: , , , , , , , , , , , ,

Developing your child’s fine motor skills

Every baby has an innate curiosity to explore the physical limits of their body when they’re born. Generally, they are able to roll over by the age of four months and hold items by eight months. During these early stages of their life, your child develops motor skills.

What are motor skills? Motor skills are movements and actions of the bone structures. There are generally two groups of motor skills — gross motor skills and fine motor skills. As your child learns to walk, run, jump and play ball games, they’re developing gross motor skills, which engage the large muscles in their arms and legs, as well as improve the coordination of their entire body. On the other hand, when your child writes or zips clothes, they’re developing fine motor skills which make use of the small muscles in their fingers and toes.

Importance of fine motor skills

When your child is able to coordinate their fingers and toes, they are able to complete simple everyday tasks on their own as well as use tools like scissors and pencils. Furthermore, your child’s handwriting and cognitive learning abilities will improve.

Developing fine motor skills

As your child starts to develop fine motor skills, they need your unending support and patience in guiding them along the way. Here are some possible activities you can do with your child:

Quick and easy tools found at most homes: Tweezers, clothes pins or chopsticks. Use tweezers, clothes pins or chopsticks to pick up and sort objects like beads, cereal, cotton balls, pompoms or other small objects (watch closely for choking hazards).
Provide them with a variety of art supplies like chalks, crayons and finger paints when they are drawing and unleashing their creativity.
Encourage them to use utensils when eating. It is normal for children to mess up when they are initially learning about using utensils, so do be patient towards them.
Let them play with small objects like beads, marbles and Lego pieces. Since Lego pieces come in all forms and proportions, attaching Lego pieces together require fine control of the strength of the smaller muscles. Hence, playing with Lego pieces will improve your child’s dexterity.

The more your child practices using their smaller muscles, the better their dexterity and strength. Hence, introducing some fun activities and games involving the use of small items will go a long way in building their fine motor skills.

So, why don’t we start ‘training’ our fingers with our children, starting from today?

In The Lab, students age 5-9 years old learn coding with the use of Lego robotics. Connecting the bricks with precision and detail strengthens fine motor skills and improves hand-eye coordination. Picking up LEGO pieces with their fingers builds muscles and skill your child may need when holding and controlling a pencil to write or draw. Curious to understand or learn more about our programs?

Sign up for a complimentary trial class now!

Tagged with: , , , , , , , , , ,

Computational Thinking and Human Development

Future-Proof Your Child Through Coding

Computational thinking is effectively a way that humans have been figuring out every aspect of life since time immemorial. We have spent centuries understanding what the component parts of any subject matter could be, and the really important ones, we note down so that these can be taught to future generations, such as with music, mathematics, economics, and similar. Other skills that we acquire through socialisation, such as language and social-emotional development for example, require the same steps in order to develop effectively, we just don’t call it computational thinking.

Computational thinking is quite obviously required for coding computers but in a more explicit, concrete and inflexible manner. Coding is a relatively new human activity that is likely to lead the next stage of human development but computational thinking has been around for much longer and is required of us in every aspect of life and from nearly day one.

Computational thinking is described as a process of analysing an array of information in order to identify basic parts (decomposition), ways that the parts consistently work together effectively (pattern recognition), ignoring the unrelated bits (abstraction), logging these elements as steps involved to achieve the process repeatedly (algorithm), and testing out the identified system for faulty assumptions, correcting them where necessary (evaluating solutions).

We do this more often when we are young as a necessary part of learning how to exist in the world and much less as we age and define reliable (enough) rules to live by. When we are young, our brains are primed to do this, but over time we capitalise less frequently on this natural ability. Capitalising on this innate way of learning about the world, ensuring we can identify and positively utilise the ability is one way to ensure that we are all able to continue this important process well beyond the natural developmental period of youth and retain this critical skill throughout life.

Computational thinking has been embedded into standard school curricula in many nations now, whether taught as a discrete learning area, as with the UK and USA, or embedded in each class, as occurs in Finland. The

Given that estimates of up to 60% of current work that can be coded into a logarithm is estimated to be given to machines in the next couple of decades, it is important not just to have an important workforce skill of programming or coding computers in the future but also understanding the way they work, or don’t, is potentially the next step in the development of the critical life skill of computational thinking. For those who are not supported in learning this apparently future-critical skill, there may be a different array of career opportunities, but they are likely to be limited and limiting. Whether one wants to learn to code or not, Computational Thinking is already with us and is here to stay.

Tagged with: ,

What is Computational Thinking?

Computational Thinking has been identified as the bedrock of 21st century skills which anyone should have.

1 What is computational thinking? Wing first defined computational thinking in her 2006 in ACM Communications?Computational thinking involves solving problems,designing systems,and understanding human behaviour, by drawing on the concepts fundamental to computer science?

2 One of the biggest contribution of computational thinking is,as stated,in the area of solving problems.Computational thinking helps one to ask how difficult the problem is to solve,and what the best way to solve the problem is.In this article we will share a problem solving framework inspired from how computer scientists solve problems.This framework is called PCDIT.

PCDIT

PCDIT is a problem solving framework to help novice programmers to write code.

At the same time,we can apply such framework to other context and situations even where computer code is not involved.The framework consists of five non-linear steps that programmers do in solving problems.It starts with P which stands for (P) roblem formulation.

(P)ROBLEM FORMULATION

In this step, one asks questions like: What is the input to this problem? What do we have in hand to start with? What is the output of the problem? What do we want to achieve? What is the computation involved? Or what is the process we need to do? Though this steps is simple as it sounds, novice programmers may have difficulties in identifying the input and the expected output.Sometimes they don’t ask further questions like what kind of input they have,what the domain of the input is,or even what the boundary cases are.

(C)ASES

Thinking through this problem formulation may sound abstract,and that is where step C comes into
play.This step stands for (C)ases,or in programming is more commonly called Test Cases. Rather than
jumping straight into implementing a solution, a programmer designs test cases based on the
problem formulation.Designing test cases may help us to formulate the problem in a more precise manner.It may also help us to think of the boundary cases.The main point of this step is to go into the concrete example and detailsof the various cases in this problem.

(D)ESIGN OF ALGORITHM

Thinking about various cases does not only help us to re-formulate the problem to be more precise, it also helps us to bridge to step D,which stands for (D)esign of Algorithm. By looking at the Cases and work on
those cases, we can start writing our step by step approach in solving the problem.These steps
constitute a solution to the problem,an algorithm.The key element in this step is to write those steps and
re-write them again.One should refine those steps, looking for patterns and common steps that is to be done again and again. Almost all algorithmic solutions comes into three kind of basic structures: sequential, branching,and iteration.We will discuss these patterns in another articles, but now, we are ready for implementation.

(T) ESTING

The last step is called T for (T)esting. One should always test their implementation and see if their solution works.What may not be obvious is that such testing should not be done only after the whole implementation is finished.Rather,it should be done in small bites as the solution is being implemented. One should learn to test in steps as well as to test for all the possible cases.We can see how these steps may not be linear as we can discover more cases or even found out that the solution may need some refinement.There maybe cases when we need to refine our problem formulation.

In summary, PCDIT framework which is used to help programmers writing a computer code can be used consciously or unconsciously by anyone in any other problem solving situations.Such computational thinking helps one to solve problems systematically.Such thinking helps one to solve the problems more thoroughly by analyzing different cases of the problems.Such thinking encourages iteration and refinement of the solutions as well as testing those solutions in bites and in big chunks.Maybe that is why computational thinking is identified as the bedrock of 21st century skills for today’s world and the future.

References

(1) Kurshan,B.Teaching 21st Century Skills For 21st Century Success Requires An Ecosystem Approach
https://www.forbes.com/sites/barbarakurshan/2017/07/18/teaching-21st-century-skills-for-21st-century-successrequires-an-ecosystem-approach/#116570f73fe6 (accessed Jul 24,2018).
(2) Wing,J.M.Computational Thinking.Commun. ACM 2006,49 (3),33?35.

Download this White Paper – Computational Thinking

Tagged with: ,