Teaching Programming To All Ages

The homeschool parent can teach students to code at any age. This is true even if the parent cannot themselves code at first. This article will show one way to teach coding, but learning to code is a journey that never really ends. Very young children, as young as ten years old, can code their own programs, games, stories, and songs. MIT has created appropriate tools for the homeschool curriculum. Like children’s books, kids will grow out of this development environment. The young coder can take the fundamentals learned in a program like Scratch and progress into more complex and more mature languages. The non-coding parent can self-educate to provide guidance to the student.

Gaining fluency in artificial mathematical languages, especially computer languages, is the contemporary approach to improving logical capacity that was once reserved for learning the dead classical languages. Learning programming languages, usually referred to as coding, is designing a set of instructions to provide to a machine that direct it to respond. This is usually applied to computers, but it can be for an assortment of machines. In computer programming the instructions are transcribed into a language the machine can understand. Because the machine can only respond to a specific set of logical instructions, mastering coding teaches people to think logically and clearly.

Today, coding can be something as simple as the “up, down, up, up, down, left, left, right” game hacks of the 1990s video game controllers, or punching in codes to your stove to defrost, then cook a roast. The world is filled with embedded computers that are a part of everyday life. More general purpose computers like smartphones, desktop and laptop machines that are continually used by most families can be programmed to create more interesting things like web pages or memes. Everyone knows Apps, so imagine creating one.

Too Young To Type

How young is too young to begin to teach programming? People are never too young to learn to think clearly, but some forms of abstract thought require a certain level of mature reasoning. Access to some machines also requires a certain level of physical dexterity. MIT solved these problems with the toolkit Scratch. Scratch is designed for children as young as 8 years old.  MIT has almost a century’s experience in designing programming languages. MIT furnishes many free tools and courses like Scratch. For the non-programming parent who incorporates coding into the reading-writing-drawing homeschool environment, even younger children could be involved with the creation of animated stories, songs, and games while watching the parent master the environment.

Scratch

https://scratch.mit.edu/

programming for children
Scratch from MIT

This free toolkit allows the student to create animated stories, games, puzzles, or songs, then to share these online.

The coding model is like snap-together plastic blocks. Each block is a specific piece of programming code and the snapping together provides a syntax backbone. With various tools like Motion, Looks, Sound, Events, Controls, Sensors, Operators, and Variables, operating programs can be assembled without knowing anything about logical calculus, syntax, or Boolean Algebra. The program can be reviewed immediately on the Scratch screen. Over the course of time the student will learn the basic components of programming and how to apply them. The program also lets the student define personal blocks for when the existing tools are too limited.

The program comes with robust tutorials and many example projects to explore. Scratch also offers specific help for parents and educators. An interesting use for this toolkit in elementary schooling, and Scratch is really just for younger students, would be to read some story, write an original story about that story, draw the main characters in the original story, then code it into an animated tale with sound, dialog, backdrops, and music to share online with other homeschool students.

In School

Older students also can begin with a program like Scratch to master the basics of coding. They will soon want to learn something more complex. Learning to build WEB applications that can be run online, on the home computers, or on the smart phone is fun. Most students will already be familiar with iPhone game apps, so allowing students to create apps makes sense. A traditional programming language like C++ or JAVA can take months getting from printing a simple “Hello World” on the screen or on a printer to making a web page. No student likes to defer the fun for months.

Happily, powerful intermediate tools can accelerate the process. One tool is called Ruby On Rails.

Ruby On Rails

 https://rubyonrails.org/

Like Scratch, Ruby On Rails provides an entire framework for building robust web pages. The program has many tutorials and YouTube presentations to systematically teach the fundamentals of using the product without having to master the elements of building a framework, initializing databases, installing resources and the rest of the nuts and bolts of programming.

An interesting project for the parent teacher in the homeschool would be to create a Family BLOG that tracks and manages the homeschool using Ruby On Rails. This allows the parent to learn the resources and the framework before the student begins. The homeschool can present a professional face to the outside world from the start. This BLOG also can manage the details from the local district and track required testing.

Robust Professional Languages

Much of the world has shifted to the Internet of Things (IoT) where security systems, refrigerators, and washing machines are programmable. Many DIY products and science fair projects are easily programmed with Ruby On Rails.

Like education, programming is a journey. Languages, operating systems, databases, and projects are stops along the way. Once the framework of a program like Ruby On Rails is mastered, the teacher and the student will want to learn languages that give more precise control away from the WEB.

Python

 https://www.python.org/

Python is the contemporary leader in professional and hobbyist programming. It is as powerful as earlier production languages like C, C++, COBOL, JAVA, and FORTRAN, but has a more forgiving syntax, simpler object handling, and simple error tracing tools.

The homeschool that wants to incorporate 3-D Printers, program Strawberry Pi’s, create mathematical analysis tools, or manage BLOB data, Python is a simple and powerful language that can do any professional task.

JAVASCRIPT and HTML

 https://www.javascript.com/

HTML and JAVASCRIPT have been the core tools of web developers for decades. Most JAVASCRIPT programmers do not even realize they are programming. Almost anything that can be done with another language can be scripted in the web world. The results are more immediate, not requiring complex compilation or assembly of the code.

 https://html.com/

People who want more control over components in Ruby On Rails or Python can go directly into HTML to create them and enhance the WEB project.

JAVA and Oracle

 https://www.java.com/en/

JAVA is another very powerful commercial production development language. It was developed by SUN Microsystems, so it has much of the power of that open source environment. It was acquired by Oracle, so has been adapted to a database focus. Needless to say JAVASCRIPT works well in the JAVA environment.

C# and Windows

 https://docs.microsoft.com/en-us/dotnet/csharp/

For the Microsoft developers, the easiest language to learn is C#. It is very powerful and simple to use. The only limitation is that it only works in a Windows environment.

Teaching Programming To All Ages

programming for children

Teaching programming to all ages assures the homeschool student one great skill for finding and getting work later. Software engineering is one career that still requires no university degree. Mastering Ruby On Rails or Python will open many doors to your student’s future. Mastering Python or JAVA well enough to take the certification in the language, will open career doors. Programmers are hired on merit and certifications can substitute for college degrees in Software Engineering positions for most companies. What you can do is more important than a degree.

Online Technical Training and Certification for Homeschoolers

Technical certification is one path for homeschool graduates. Technical certification and training leads to employment in specific fields and for specific companies. Technical certification helps while applying to some tech companies, but vitally, to any other companies that use that specific technology in their business.

Technical workers and contractors have upgraded skills this way for decades. These certifications are not all math. Many technical jobs like project management or product technical support involve soft skills and human interaction more than discrete math.

Technical Certification

The Silicon Valley giants are great places to look for online free technical training and reasonably priced certification. They need skilled manpower that the local schools cannot provide. Oracle, Cisco, and Google stand as our examples, but many more companies have free training and certification for prospective employees.

Oracle

Twenty years ago Larry Ellison, the founder and CEO of Oracle, floated the idea of providing a quality private school for employees’ children as a benefit, like health care or stock options. While all the employees loved it, the California teacher’s unions and Bay Area politicians did not. Human Resources finally scuttled the idea after examining the legal complications of tying children to the parent’s terms of employment. The idea morphed into technical training programs for teachers, web development contests for students, and on-line courses in India. An internal training program emerged for employees, customers, consultants, and educators. When the company began to offer these classes outside the company, it became Oracle University.

Oracle Corporate Headquarters
“Consult the Oracle” by  jurvetson 

Oracle University offers The Oracle Learning Explorer program for free with entry-level training courses and accreditation for Oracle’s entire product portfolio. The model has always been to provide free on-line training and relatively expensive certifications. The cost of certification discourages the casual test-taker and provides valuable evidence of competence to an employer. The certified professional can work at Oracle, but more importantly, can work for any of the tens of thousands of companies that use Oracle technology.

https://education.oracle.com/learning-explorer

Cisco

Cisco is a networking company with an interest in both hardware and software development, sales, and configuration. Cisco offers many interesting courses through The Cisco Networking Academy. Students can learn the fundamentals of networking, the Internet of Things (IoT), Cybersecurity, and programming in Python, C, and C++. Most introductory courses are free and online. Some that require an installed network are only offered through institutions and the costs depend on those institutions. A handy search tool will give you an extensive list of places near you. Some are high schools. Some are colleges. Some are prisons. Prisons.

https://www.netacad.com/

Cisco Systems Headquarters
“Cisco Systems Corporate HQ” by gtmcknight

Google

Google is the best known Silicon Valley big tech company because their search engine has become the generic term for searching the Internet. “Just Google it” is the equivalent of “Let me grab a Kleenex”. Google had the same problem as the other tech firms in finding quality employees and keeping the existing employees trained in the protean technologies of the Internet, telecommunications, and software development. They developed materials to allow people around the world to learn the technology and gain competence in Google-specific tech. Their cloud certifications are particularly valuable. Other training supports development of apps on the Android phones and software for AI devices.

Grow with Google
Grow with Google

Recently Google introduced Grow with Google, a free training platform that covers training in Google core technologies, but also many other avenues of employment. It still offers certification in Android Development, but also in IT Support, Data Analytics, Project Management, and UX Design. All the training is free, but preparation for and testing for certification is pricey. One interesting feature of the Grow With Google page is in the “Free Training” link on the web page. Because Google knows more than your mother about you, clicking on it will find “free training in your area.” You can search some other area, but it will default to where your computer or tablet sits currently. The “Working From Home” link has a wealth of tools and training for educators, students, and workers who work remotely.

 https://grow.google/

Science, Technology, Engineering, and Math for Students

Avoiding that horrible acronym STEM for a moment, the Internet offers unlimited opportunities to learn about science and technology, to master engineering skills, and to learn every sort of math. The technical certifications from the companies above are preparing for a career. Before that step, many free sites can teach younger students the basic skills to qualify for technical certification. One very fine and very free resource is the Open Learning Initiative.

open learning initiative free homeschool resources
“Open Learning Initiative: using learning science to iteratively improve course design” by giulia.forsythe

The Open Learning Initiative (http://oli.cmu.edu/independent-learner-courses/) has free courses on the “independent learner’s track.” For the family who are homeschooling online, this is a very good resource for introductory courses, but not just technical subjects. The homeschooler can take intro to Chinese too.

Another great free resource is the Khan Academy. It is more like K-12, but not tied as tightly to the public schools.

The Khan Academy (https://www.khanacademy.org/) is a non-profit organization dedicated to providing free, quality education to everyone everywhere. It was designed to augment schools, but as a homeschool you can get access to teacher and student resources. The curriculum is very good. They offer hundreds of topics in video for math and science training online.

Other Technical Jobs with Certification

wind turbine trade schools
“Turbine Tower No 25 undergoing final testing” by Paul Anderson

Many careers require training and technical certification. Homeschool graduates find that the employers in these careers usually care little or nothing about public school transcripts. These technical certification are usually associated with trade schools and community colleges. None of these are available online. It is hard to imagine becoming a Medical Assistant or Phlebotomist at home, so this type of technical certification moves beyond the scope of this article.

If you are interested in any of these technical certifications, explore your local schools. Most programs are reasonably priced and come with financial aid, that is, government backed loans. Be sure to ask for a list of graduates who currently work in the field who you can call for references. Not all trade schools are equal. But you can choose to study in many interesting and well-paid careers.

  • Wind Turbine Technician.
  • Phlebotomist.
  • Massage Therapist.
  • Landscaper and Groundskeeper.
  • Medical Assistant.
  • Cosmetologist.
  • Nail Technician.
  • Dental Assistant.
  • Ophthalmic Medical Technician.
  • Medical Records Technician.
  • Licensed Practical and Licensed Vocational Nurse.

Final Warning About Big Tech

Not all tech companies offer anything useful to the home school. Some popular names are toxic.

not a technical training platform
“Yah baby how you feeling now? A farmer holding a pitchfork and his sinister spinster daughter, house, American Gothic, skulls frame, Halloween, Microsoft, Bear Creek, Redmond, Washington, USA” by Wonderlane

Microsoft

Microsoft has a training environment like other tech companies, but it is focused primarily on “educators.”

The Microsoft offerings for educators are deeply imbued with Critical Race Theory. In the words of one Ken Shelton/ Microsoft class:

Anti-racism journey for educators with students”

By: IIRP, LLB, Ken Shelton, US2, and Microsoft

Date published: 2/11/2021

“Educators must be courageous and confident in their journey to fully participate in dismantling racism in their learning environments. The intention of this learning path is to deeply question power, privilege, and fragility to interrupt teaching practices that marginalize, isolate, and exclude BIPOC students whole-learners in the classroom. The courses in this learning path are intended to be taken in order and were written with United States K-12 educators in mind. Others may also find them helpful.”

Not all free training is good for you. You might find the MS site useful in building your case for getting your children away from United States educators. Other than that Microsoft appears to offer nothing useful, technical or otherwise.