Do you want to start your child coding? As we noted in previous blog posts, the earlier kids begin to learn to code the better. And we recommend you start when your kid is at a 2nd-grade reading level. But there are many questions unanswered:
In this post, we cover the basic questions that parents often ask
The reason to start coding at an early age is to build computational thinking skills in your son or daughter. Computational thinking is accessible to very young children and does not require well-developed reading skills. . For children ages 8 or under, we recommend starting with simple problem-solving exercises or games that allow them to identify and complete simple patterns. We do not recommend apps or purely screen-based programs for children under 12. Children of this age lack the abstraction skills necessary to make these tools effective. While they are great fun for play, they have very limited educational value. We do recommend physical objects – Lego or Bricks. One of our favorites is Little Bits, which is remarkable for kids this age. Oh and do not forget CodeSpark – it is the only app that teaches computational thinking. We love it.
For kids 9 years of age and older, the easiest way to begin is with a program that uses a Block interface. There are several available, but the most popular is Blockly, the successor to Google’s App Inventor. It is a visual block programming editor that acts as a library for adding drag-and-drop block coding to an app. The name Blockly is based on its user interface which resembles a child’s toy box, consisting of multi-shaped, multi-colored blocks.
Blockly works by linking colored blocks of code to a function and rendering the result. Each block type usually illustrates a concept or some type of conditional logic that is used in ‘real world’ programming languages. Both use a drag-and-drop system with small functional blocks of code, making syntactical errors literally impossible. This has proven to be an effective learning tool for kids who have not yet developed typing skills
Learning to code is generally a difficult task as it commands a high cognitive load for young students, as well as introduces a variety of new concepts that are often difficult for young learners to grasp. Block interfaces simplify this problem – picking a block from a selection is far easier than remembering a word. The block format relies on recognition instead of a recall, which in turn facilitates learning at a faster rate. http://www.scratch.mit.edu
Once you have graduated from blocks you will likely focus on a programing language. There is a debate among established programmers as to the easiest language for novice coders to learn. While most languages share the same fundamental concepts, there are some important differences that should be considered, particularly between Java and Python which are among the most popular.
Python is widely adopted as a first language because of its relatively simple syntax which is based closely on the English language. This means non-programmers can often make sense of a simple script – which is very important for kids.
Java on the other hand, is considered to be far less user-friendly and requires a tighter grasp of core programming concepts before achieving any meaningful output. Java uses ‘strict’ typing – meaning that the user needs to be precise in their commands and error feedback can often be ambiguous to newcomers. Those who learn with strict programming languages usually have a tougher time learning, but likely end up with a better understanding of core fundamentals. This is unlike Python which will get the job done without necessarily requiring in-depth understanding which is perfect for new coders.
One, it is fun! Kids have a great time which means that engagement is high and if engagement is high, learning retention is high. But more importantly, programming concepts can often be abstract and difficult to understand for young learners. Students brains are not fully developed and they typically have difficulty relating the code on the screen to the objective of the exercise. They simply do not yet have the necessary abstraction skills.
By giving students control over a robot that can easily demonstrate errors students quickly learn the need for clarity and precision in their instructions. It is a bridge that ties the code on the screen with the actions of the robot. In this way, students gain an important understanding of how these subjects link together. We have a great course that focuses on building computational skills for ages 9 to 11 that uses a virtual robot. Kids that take this course emerge as much stronger thinkers and problem solvers.
Feedback and examination are critical to the learning process; it is essential to evaluate whether the educational goals and standards of the lessons are being met. Curriculum-Based Measurement (CBM) is a form of academic assessment which is commonly used by teachers to shed light on students’ progress in academic areas.
Unfortunately, there are very few online or after-school programs that are curriculum based. Yes, many will claim to have a curriculum, but these are not curricula in the traditional sense of having a set of concepts that they teach and evaluate against. What they offer are “project” based learning experiences that are loosely combined and offered as a curriculum. This is particularly true of “apps” . The only one that we can recommend is CodeSpark, as it is designed to build computational thinking skills. The rest of the apps in the market are really for “play”, even if they claim to “teach kids to code”. And play is great, but do not expect any real learning outcome
At UCode, students typically require 50 hours of time to complete an Introductory course. This time commitment would allow you to master HTML/CSS, Python or other advanced languages. Typically, we see after-school coding programs charging $250 per month for a 60 minutes group class each week. UCode is significantly less expensive with individual instruction at $179 per month for 4 classes. That’s 1:1 instruction at an affordable price. Oh, and our teachers have been teaching for years – they are not college kids like our competitors. So why not start your child coding today?
if you start your child coding, you will see that learning to code teaches kids how to think computationally. It helps them break down difficult problems into more manageable pieces and then apply a range of possible solutions to find the most effective one. It trains a logical way of approaching situations. This ability to think computationally will:
In summary, programming a computer is an important skill in a world that runs on technology. Computational Thinking is even more important! So, start your child coding! We would love to work with your student. Why UCode? a nationally recognized curriculum, seasoned instructors and great technology. We also have a “pay as you go” plan. No more monthly subscriptions or missed classes.
Checks us out at www.homeschool.ucode.com