Anitha Raman, Founder, codePannu

Explaining Scratch to parents

Let’s see some of the features of Scratch programming language.

Scratch is a visual programming language. In it, coding is done by dragging and dropping blocks of built-in code. Writing code line by line is not needed. This makes programming fun, even for a five-year-old. Just drag and drop to create animations, games, etc. That’s what Scratch is all about.

Here are some reasons Scratch will be loved by kids:

1.  Kids can create animations by themselves. 

Make a cat walk!

Make a bird fly!

Make a balloon float!

All it takes is the dragging and dropping of blocks!

2. There are a lot of colours to play with. Kids can change background colours, add different characters and even make them move.

3. Kids can grasp this language very easily and they are introduced to coding the fun way. The blocks of code come in various colours – blue, purple, pink, yellow, orange, green etc. Each colour represents a different feature. This makes it easy to choose and remember the functionality of the blocks of code.

Why should we teach children Scratch?

We do not have to compulsorily teach children Scratch. But, Scratch is a good way to introduce the concepts of programming to kids. They become familiar with keywords, i.e., words or terms commonly used in all programming languages to denote a functionality.  

Here are some keywords that kids will be using in Scratch:

   Loops – Loops are used for repetitive tasks. Children can differentiate between running the loop 10 times, 20 times, or forever i.e. indefinitely.

  Events – An event occurs when we trigger something.  E.g. Click on a cloud to make it move. Here, clicking is the trigger and the cloud moving is the event. 

  Conditions – Conditions are used for making decisions. E.g. If condItion1 happens, change colour else don’t change colour.  

  Variables – These are names given to the data.

They can also understand how a procedural language is executed line by line. A procedural language is a computer programming language that follows, in order, a set of commands.

Scratch helps children enter the beautiful world of coding.

Why codePannu has a higher course completion rate?

At codePannu, we have a course completion rate of over 90%. We use several proven teaching approaches in our courses. Of all the approaches we have taken, we are confident that one aspect of our teaching model has been the reason for our success. That technique is about teaching students in small groups. The model is very popular in western countries but not much implemented in India. We, at codePannu, have adapted it with flair.

  • Group learning takes the pressure off the students, which they otherwise face when taking up one-on-one tutoring.
  • Group learning also gives assurance to each student that there are other students like them, who also go through different learning curves.
  • Group learning allows for interaction between students which makes learning effortless and fun. At the same time, a small group averts the chaos of a larger class.
  • Group learning brings out natural qualities in students such as supporting, helping within the group.
  • Group learning helps the kids handle group discussions well.
  • the forum to interact with students from across the world brings exposure and encourages tolerance towards other cultures and the environment

We have experimented a lot with groups as small as 2 students, up to groups with 7 students and we noticed that 5 is the best number for our training. When the group is too small, the students are quiet and don’t interact much. When the group is too big also, some of the students become quiet and let the others speak. But when the group has 5 students, all of them get an opportunity to talk and express themselves.

How is our teaching approach designed to create the best learning experience for our students?

Different students learn at different paces. We at codePannu encourage group learning with students of different learning abilities and yet we have managed to create a great learning experience for our students. This is how we did it:

  1.  Our students watch our videos and come prepared for the live sessions. This replaces whiteboard teaching with self-paced learning. They can watch the videos any number of times at their convenience to understand the topic. In the world of memorizing concepts, this also helps them watch, listen and learn by themselves from the videos and thereby increases their self-learning abilities.
  • Writing programs where students are constantly asking questions, challenging the trainer, bringing out their creativity through code etc., makes the sessions very lively and highly interactive. We make our live sessions as interactive as possible through a practical hands-on approach. Debugging is the skill of identifying and fixing errors in programs and this skill can only be developed with practice. Hence students who are learning to write programs for the first time do not have the ability to debug their own code. During our practice sessions, we help our students develop the confidence and ability to debug their own code, which is crucial for all budding programmers. Just like maths, programming is also a skill that is developed with practice.
  • We conduct group learning in small batches (5-6 students) where kids are comfortable with expressing themselves and collaborating with each other. We encourage students to teach and explain concepts to others, which improves their communication and teaching abilities. 
  • We interact in regional languages as much as possible, because we have noticed that it increases the comfort of our students. Although there are students speaking different languages in the group, we communicate in their respective languages and it instantly creates a connection between the trainers and the students.

Why are computer science students seeing programming as a difficult subject to learn?

The primary reason computer science students are seeing programming as a difficult subject is that the teaching approach is flawed and it leaves them with programming knowledge that is often underdeveloped, even after 3 or 4years of studying and graduating with good marks. We have listed down the reasons why we think the teaching approach is flawed.

1) Most of the programming languages are taught as a theory. Practice and lab hours are significantly fewer than theory sessions. Exams are also majorly focused on theory and not practical.

2) The syllabus for a programming language covers everything from the basics to the advanced topics in the same semester. So, this gives lesser time for students to understand the basics well and build a strong foundation. Since students don’t get time to understand the basics, they find it difficult to understand the advanced concepts.

3) The practical sessions are not updated with the recent IT industry requirements. The same algorithms are being given for many years as practice exercises, and students are used to memorizing the algorithms and writing the programs without understanding new-age technical challenges and concepts.

4) Debugging is a crucial skill to develop for programmers, and high focus should be placed on it. However, no specific subject or practice sessions are provided in colleges to help students build this essential skill. Hence, even if they understand the logic of coding, they are unable to write complex programs without knowing the approach to fix the errors in their programs.

What are the challenges faced by students when learning programming through online mediums?

Challenge 1: One-way Teaching

Platforms such as YouTube and Udemy involve the one-way teaching technique where the instructions are given via pre-recorded videos. If the learner has a doubt, there is little to no way of approaching the instructor and clearing it. While learning to program, students keep encountering several errors while coding. During such times, there is no one to guide him/her in identifying the errors and correcting them. He/she is stuck with the errors, and unable to proceed further.

Exceptions: If a student has prior knowledge and experience in any other programming language, then they are already familiar with debugging techniques and one-way teaching will not be an issue to them. 

Challenge 2: Lack of Reinforcement of Basic Concepts

All online programming language courses cover three levels– Basic, Intermediate and Advanced. Often, the content of all three levels are put together in about 20 to 30 videos. At any level, no concept is taught repeatedly or reinforced, hence there is no depth in the knowledge gained. There is a vague understanding of concepts that lacks clarity.

Challenge 3: One-on-one Tutoring

There are so many premium brands that tutor students one on one. What’s the problem with this?

In the one-on-one approach, there is just one student who has to deal with a lot of expectations from the instructor. This can be exhausting for the student. The need for constant interaction and the pressure to perform makes learning more difficult. If a kid can grasp very fast, and has good logical thinking skills, personal tutoring will be extremely helpful to him. He can learn faster with continuous and full attention. But, in the case of a student who takes a lot of time to grasp concepts, this is an impossible situation to actually thrive in and it can affect her/his performance badly. What he/she needs is group learning which will encourage and enable them to do better.

So, How do trainers at codePannu teach Scratch?

We, at codePannu, follow the ‘active learning’ approach to help the child be an independent learner and develop confidence. We encourage self-learning techniques at every level so that their analytical, exploratory, and logical skills are sharpened.

The course is structured into three levels. 

Level 1 – Basic

• Children are introduced to the basic features available in Scratchthrough self-exploration. There is no spoon-feeding involved. A relevant demo video of about two minutes is shown to the children, after which they are directed to identify, navigate, recognize and use the features on their own. They get extremely comfortable exploring the tool and gain a strong foundation to move on to the higher levels.

Level 2 – Intermediate

• This level involves doing complex projects based on two themes–games or scenes. Children are encouraged to choose between games or scenes, as per their liking. Based on their area of interest we guide them to create more projects using all the concepts and logic they learned in level one. As children are the decision-makers, choosing their own area of interest, they feel important and are more likely to be relaxed, enjoying and retaining the concepts learned better. 

Level 3 – Advanced

•  Children are paired up with peers. They interact among themselves, teaching and learning from each other. This is done under the keen observation of the instructor who steps in to give inputs and correct only when necessary. This approach has been experimented with on a few batches and has been a great success. We are working on standardizing the process for enhanced and upgraded learning. 

codePannu is a kid-centric organization and our complete focus is on how to make learning an enjoyable experience for kids. We have been consistently working on evaluating and refining our teaching strategies and will continue to do so. With each student we teach and each trainer we hire, our approach is becoming more refined and we are confident about creating a world-class learning experience for our students.


(கவனிக்கவும்: இது ஒரு விளம்பரதாரர் அறிவிப்பு; இதனை உருவாக்குவதில் செய்தியாளர்கள் எவரும் ஈடுபடுத்தப்படவில்லை.)

அனிதா ராமன்: டெக் மொழியின் சிற்பி இவள்

பிள்ளைங்க கோடிங் கற்றுக்கொள்ள சிறந்த இடம் “கோட்பண்ணு”


Please enter your comment!
Please enter your name here