# What do Kids Really Learn When They Learn Coding?

Most of the people wonder why we should emphasise kids to learn coding. What are the benefits of kids learning coding that they cannot get in any other subject? And what do kids really learn when they learn coding?

When kids start to learn coding, most of them start young by working on a block-based coding interface like Scratch. As they start to develop the basic tenets of programming, then they move onto text based programming languages like JavaScript, Java, and Python. At this stage, kids are more comfortable with the basic tenets of programming and are looking to solve various problems using basic algorithms and logic. Slowly, they graduate to data structures and slightly more complex algorithms and solve a whole range of problems that kids of yesteryears were practically not having access to.

Essentially programming is all about solving a problem – problem solving using logical thinking, arithmetic, domain knowledge, debugging, sequential logic, algorithmic thinking, and many more skills. In coding classes for kids, some of the problems that kids work on when they’re learning coding look like the below, and these problems give you an idea on how the student can apply his logical thinking and mathematics to solve the below problems.

**Problem 1**: A ball is thrown up by a boy on different surfaces of different planets. Depending on the gravitational pull of the particular planet, the ball has to fall at different rates of gravitational acceleration. Simulate this program in Java starting from Venus, Mars, Earth, Jupiter, and Saturn depending on the g values.

**Problem 2**: Design a Tic-Tac-Toe game with two players X and O using Java.

**Problem 3**: Write a Python program to find the highest Armstrong number below 50000.

**Problem 4**: In a 2D grid, a frog always has a common starting point. The frog can go to any point on the grid. Write a program to find out the number of jumps needed for the frog to reach a particular point on the grid.

**Problem 5**: Write a program to randomly assign seat numbers to a set of students such that two consecutive boys and two consecutive girls (BBGG) combinations shouldn’t be allowed. If the number of seats is less than the number of students, the program should inform ahead of the allocation.

**Problem 6**: Write a program that allows the user to navigate a 6 x 6 maze (provided by user) from the starting point (S) to the ending point (E). ‘S’ – Starting Point, ‘E’ – Ending Point, ‘W’ – Wall, ‘-‘ – Path

6×6 Input Maze example: (in this input you start from S and go right three and go below all the way to the bottom and go left two and go up 1 and left to E.)

WWWWW-

S—W-

WWW-W-

W-W-W-

E-W—

W—WW

**Problem 7**: In an array, the values indicate the number of jumps a robot can do. If the array is as shown arr[] = {1, 3, 5, 8, 9, 2, 6, 7, 6, 8, 9}, then what is the minimum number of steps that can be taken to reach the end of the array.

**Coding and Mathematics will complement each other for development of the child in Science, Technology, Engineering, and Mathematics (STEM) subjects.**

Programming or Coding is a beautiful way for children to learn problem-solving skills by applying all the various knowledge they have with them or learn some of the required knowledge and then apply them to a problem in a logical manner. Students will gain a strong foundation in mathematical concepts that they’re learning by applying them in a practical manner to problems. For example, students will strengthen their basics on topics such as factorials, algorithms, number series, progressions, and permutations and combinations while they’re solving problems using recursion techniques, divide and conquer, searching and sorting, and trees. So, coding and mathematics are both going to complement each other in the overall development of a child in STEM subjects.

**Learning to code will help children to change their mindset about technology**

** **Coding for kids, tweens, and students is an absolute essential today. If you observe the world clearly, there are just two types of people for everything, be it a lawyer or an architect or a software developer – there are creators and consumers. Simple! Now, because technology is touching almost everybody in the form of consumers whether you’re a lawyer or an architect, it makes the creators of technology that much more powerful as compared to an architect over technology creators. Therefore, for the balance to be right, it is important for all future generations to be aware of technology at a high level, if not the low-level details of computing.

**Direct benefits of learning coding for children**

Some of the direct benefits of coding for children are:

- To learn that in life everything is problem-solving
- To use mathematics and logic in real-life problems in an applied way
- To learn to create things and to solve difficult problems
- To persist, iterate and improve in face of difficult problems
- Applying algorithmic thinking and patterns to problems
- Critical thinking and problem-solving applicable to a lot of streams
- Attention to detail and debugging to understand the root-cause of problems
- Creativity and Expression in designing & understanding 3D mathematics
- Solve a range of logical problems that are otherwise not available
- Understand very well how technology is working behind the scenes and not be just a consumer of technology.

Hope this post is useful to shed some light on why the world is going crazy about teaching coding to kids. Thank you for reading this in detail.