About Coding For Kids – What This Website Is About
This website is about introducing software programming (coding) to kids at a very young age. We use programming languages LOGO and Python to help kids learn to program. The website also introduces graphics programming using Tkinter, Pygame, and Sprites.
The author hopes that the website will help generate kids’ interest in coding. Coding for kids not only helps improve their mathematics and writing skills, but also develops their logical thinking and reasoning.
“Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.” – Bill Gates, Co-founder, Microsoft Corp, and Co-chairman, Bill & Melinda Gates Foundation.
LOGO Programming Language
The first part of the website introduces the programming language LOGO for very young kids, ages 5 to 8 years old. LOGO is a powerful language that happens to be easy to learn. It is fun to learn since the kids move a turtle around a screen to draw graphics.
Using very simple commands, the kids can draw graphics like squares, polygons, circles, etc. In this process, the kids get introduced to basic geometry concepts. The kids can then learn to draw complex shapes such as flowers, spirals, stars, and a lot of fun shapes. The website has program examples for filling the shapes with different colors. Filling colors in shapes lets the kids learn how computers handle colors and control colors.
Python Programming Language
The second language introduced on the website is Python, which is for slightly older kids, ages 8 years and up. Python is an easy-to-learn programming language that introduces object-oriented programming in a simple way. Python is an interpreted language and is thus an ideal language for kids to start learning as the first computer language. This section on Python helps kids learn coding techniques common to all advanced programming languages such as functions, procedures, subroutines, program flow control, loops, and modules.
Coding Examples – Variety of Math, Science, Technology and Social Studies
The program examples on this website have been designed to not only teach orogramming language syntax, but also to gradually introduce mathematics concepts such as rational and irrational numbers, prime numbers, factorials, exponents, etc. Each program example is based on some science, technology, engineering, and math (STEM) concept, so that as the kids are learning the language constructs and syntax, they are also getting exposed to the ideas related to STEM.
Graphics Programming (GUI)
Turtle Graphics
Python has a module called turtle. The turtle module is useful to write interesting fun applications for graphics programming. Turtle graphics programming examples are based on several interesting programs and introduces the reader to turtle animation.
As the kids get proficient with the language syntax, the website then leads them to basic computer graphics programming. In graphics programing, since what you program can be seen on the computer screen, visual feedback helps kids learn programming concepts rather quickly.
This website introduces the kids to graphics programming and to creating Graphics User Interface (GUI) that allows a user to interact with the program. For example, pushing a button will instruct the program to take some action such as taking a different branch of the code. This is in contrast to Command Line Interface (CLI), where the user inputs text commands to the program on the command line.
Tkinter
For graphics programming, we use Tkinter as one of the GUIs. Tkinter is the standard graphical interface of Python based on Tk GUI. We will create User Interface (UI) using what are called ‘widgets’, like Buttons, Check-boxes, Entry boxes, Pull-down menus, and many more. Widgets are graphical components that the user can interact with to create an interesting user interface (UI) to instruct the program to take some action.
Pygame
This website also introduces the kids to Pygame, which is a third-party module to enable programmers for creating 2D games with Python. Pygame can be used for graphics programming as well as for game creation.
Video games are one of the most important inventions of our age. These games are examples of the application of computer graphics and graphics programming. Since computer games are fun, game development is a fun way for teaching programming and coding to the kids.
Animation (Using LOGO, Tkinter, Pygame, and SPrites)
As a precursor to writing games, we will first learn about animation, which is a technique to make the images such as cars, rockets, etc. move on the screen. First, the LOGO Animation page shows how to write animation programs using LOGO.
Second, we do animation by using Tkinter canvas widget by writing a few program examples that make a ball move across the computer screen.
Third, we use Pygame module to develop animation programs.
Finally, we write a few simple games to illustrate how kids can develop their own games, as they become proficient with Python language.
Sprites
The website introduces the concept of sprite, which are two-dimensional bitmaps used in earlier arcade games. We discuss Sprites in detail on Sprite Theory of Operation page.
Recursion and Fractals Coding
To put it all together, we introduce the concept of Recursion using LOGO, as well as Python. The website shows the reader how to write programs using recursion. This is done on the Math Applications page to illustrate that the given problem can be solved using iterative techniques as well as recursive techniques. Using recursive functions, a programmer can draw very complex, intricate designs using such as fractals. Two such designs are Koch Curve and Sierpinski Triangle. We write several programs to draw such designs.
Object-Oriented-Programming
Python is an Object-Oriented language, similar to C++ and other major languages. For the advanced students, the website introduces the objected-oriented programming concepts in detail using program examples.
Let us start the LOGO chapter. Happy learning!
Copyright © 2019 – 2024 softwareprogramming4kids.com
All Rights Reserved