A parent at a recent meeting I was attending lamented that her child's school no longer taught coding. I was blessed that my high school offered classes in programming back in 1973. I wrote about that six years ago on this blog. Today, I'd like to offer some suggestions to that parent and to any parents or students out there who can't go to formal training for one reason or another.
The good news is, there are multiple free and low-cost resources out there to help people of all ages learn to code. For most beginners, my recommendation is to start with Khan Academy. They even start with a "what is programming" intro to get users oriented.
There are other sites that have resources for novices and beginners in the field, also. Codeacademy is one such site with a good reputation. There way too many other options to mention here.
Where Do I begin?
Either of these languages would be a good place to begin because they can be used themselves in real projects and the concepts they use can be easily transferred to learning other languages. That can be a real benefit as few programmers end up using a single language for all their projects.
Java and Python advocates will say similar things about those languages, too. If you have access to materials that teach those languages, and especially if you know someone who can help you over the rough spots, those can be good choices, too.
Regardless of language choice, the magic step here is to practice and then practice some more. Absent a live instructor, structured assignments, and critique on those assignments, developing good, reliable secure code is difficult. Fortunately, some online courses provide that feedback. If the course you take doesn't, there are alternatives. In some communities, there are "Makerspaces" where hardware and software enthusiasts gather to work on projects. Some of those may offer tutorials or individual help. Another option is to learn the basics of a particular language at the site or with the tools that works best for you and then take an intermediate class at a potentially non-free site that offers feedback.
Learning Tree and I would love for you to take a Learning Tree class, of course, but we know that is not always an option, particularly for school-age learners. My best advice is "do what works for you." I learned to program some languages in high school, many in college, some from books, and some from trial and error. Don't be afraid to try, there are many ways to learn.