Why is programming not thought at my class level?
I am 14 years old I have passion for computer programming and development. I have been going online through many articles and lecture on computer programming please where else can I get more information and learning outlet for computer programming. Why is programming not thought at my class level?
6 answers
Anthany’s Answer
Elizabeth’s Answer
- I started my programming journey actually by not writing any programs. I started off hosting open source software. I did what is called having a "homelab" I hosted a silly website at home using nginx and a rasberry pi. If you want to learn more about home labbing look up Jeff Geerling on youtube! Learning linux and the command line really opens up a whole world of computers. If you want to see some of the most powerful computers money can buy look up "serve the home" on youtube, they show off the super expensive servers that companies like Google buy.
- If you would like to write programs there are a lot of languages to try. Python is a pretty good one, there are a lot of resources to get started and explain a lot of the basics of programming. Once you understand the basics you can move onto other languages pretty easily. My favorite is "Kotlin" its the newer cousin for Java. It's easier to read than java, its more modern and has "functional programming" built in. This makes it very easy to use and write code that is very clean. So if you decide to move on from Python I would recommend "kotlin"!
- One good thing to explore is what part of programming you like to do. While there is programming websites there is also writing programs that make the computers we use. Design engineers at companies like Broadcom, AMD, and Intel use a languages called HDL to write programs that write instructions for making processors. There is a ton of interesting stuff that happens at the hardware level. If you want to know more about the really low level stuff look up "Ben Eater" on youtube. He builds computers from the individual wires and explains things as he goes along, you really get to understand a lot of the details about computers by watching his videos
- If you want to go deeper there are plenty of good books on computer architecture, learning about Von-Neumann architecture, the difference between cpu, and gpu design, how different levels of cache affect program performance, (L1, L2, RAM, Disk). When I was in high school I learned some of the basics about what made different processors better? Why were server cpu's sometimes better than ones we use at home? Why were old cpu's so much slower than new ones? What is an ALU? Why was AMD's Bulldozer so slow with its shared FPU?
- If you want to just see something cool that you can do with all layers of programming, look up "A Volumetric Display using an Acoustically Trapped Particle" on youtube. That person wanted to take a research paper about levitating styrofoam and turn it into a 3d display. He had to use things called FPGA's because regular processors were too slow, its really cool! I don't even know enough that I could do what he did, but I still think things like this are really cool.
And that is the most important piece, have fun! There are so many interesting things you can learn with computers, its not all making websites. People use programs on massive warehouse sized computers to solve some crazy physics problems, all the way to writing programs to make the chips that give you wifi. Go explore, go on wikipedia with something like "cpu", "nvidia", "haskell" and just follow links! You don't need to understand everything right now, just be curious and have fun! Perhaps you make a website for your friends, or make a choose your own adventure game with kotlin. Computers can do so much and right now is the perfect time to see what you find the most interesting!
Elizabeth recommends the following next steps:
William’s Answer
I cannot comment on why a certain field of study is not offered in your local school. That's a question best answered by the local school board.
What I can say is that you are already on a path that many people before you have travelled. There are many examples of people without advanced degrees/formalized learning in computers in their formative years (Bill Gates and Steve Jobs are two famous college dropouts - they seemed to have done ok in the computer world.)
If you are 14 years old, my guess is that money/expense is also a driver. Many teenagers don't have a lot of spare cash to spend on classes. I'd suggest looking around online for free offerings, for example (https://www.careers360.com/courses-certifications/articles/best-free-online-computer-courses-with-certificate-to-learn-right-now).
You can also just search for "free computer classes" from your favorite search engine. However I'd suggest using several different search engines, as the results will vary - you may find an idea on one site that does not appear on another.
Finally, my best advice is "bet on yourself". If you want to do this and the "road" in one direction is blocked, take another "road". Just because your school does not offer the courses you want, don't let that be a deterrent. Explore your other options.
Michelle's response has some good options as well. I'd also suggest "volunteering" as another option. Find a local non-profit (a church, foodbank, homeless shelter, etc.) that needs computer help and volunteer to help with the computer stuff. You get the chance to work with the technology, plus you'll get to see how your work improves the lives of others. One of my first "gigs" many years ago was for a non-profit, and that experience helped me get my first paid job.
Good luck, and don't give up!
Michelle’s Answer
In order to start learning programming, you will have to explore further for it. You live in a city with very rich resources so perhaps looking in places you haven't looked before will get you in contact with the opportunities you may want. Programming is indeed being taught at some high schools, but if it's not at your school, there are other places you can seek training or classes for it. One place would be online at Code (link is below) where you can learn through free courses and activities.
Another possibility is to go to Computer Summer Camp and I have left a link to a search list for you below. You can also visit the Public Library for their Teen'Scape program at which you can read about programming and use their computers. It may be worthwhile to keep informed of their activities and events that may be focused on computer related subjects. The New Technology Expo will be coming soon to your city and that would be another good resource for you to discover information and meet new people. I left the link for their website below along with a link for online classes. So there's a lot out there, you may want to spend some more time doing searches on the internet and use a search engine to come up with the numerous opportunities to learn programming.
I would advise visiting any computer stores and inquiring about any training or classes the staff may know about. In order to find what you are looking for, you'll have to reach out and do first hand research. Once you gather resources, take active steps to be involved.
Michelle recommends the following next steps:
Rory’s Answer
Choose a Beginner-Friendly Language:
Scratch: If you’re new to coding, Scratch is a great starting point. It uses visual blocks to create interactive animations and games. You’ll learn fundamental concepts without worrying about syntax.
Python: For a more real-world language, Python is beginner-friendly and widely used. It’s versatile and has a straightforward syntax.
Online Resources and Courses:
FreeCodeCamp: Check out their YouTube tutorials on programming for beginners. They cover topics like HTML, CSS, JavaScript, and more1.
Codecademy: Offers interactive coding courses in various languages. It’s a hands-on platform where you learn by doing2.
Live Classes and Workshops:
Create & Learn: They provide live online classes taught by experts from Google, Stanford, and MIT. You can explore block-based coding, text-based languages, web development, game development, and more3.
Practice and Projects:
Start with small projects. Create a simple game, a personal website, or a chatbot.
Join coding communities or clubs to collaborate with others and learn together.
Learn the Basics:
Understand variables, loops, conditionals, and functions.
Explore how to solve problems step by step using code.