A little about me

As a kid, I idolized Thomas Edison; I thought he was such a cool person and read everything I could about him. I actually live in Schenectady, a city where Edison once lived, which is nicknamed “The Electric City.”
There was even a temporary museum there featuring his inventions. This was all before I learned about his less-than-stellar reputation.
Edison never gave up, even if he may have “borrowed” some inventions from his employees. He filed over one thousand patents in his lifetime.
Growing up, I was always dreaming of my own inventions, but I struggled with the physical side of things, like assembling or disassembling objects. I also never had the right tools, which is probably for the best . I would likely be missing a finger by now!
In programming, however, you are inventing something out of nothing. You design how it works and then bring that vision to life.
Sometimes it takes a week or two just to figure out the best way to perform a task, but half the fun for me is figuring out how to make the code run exactly the way I want.
Spending weeks researching a topic only makes it feel better when you finally solve the problem.
Occasionally, I’ll lose interest for a bit, but when I pick the project back up, I have fresh eyes and can finally solve the issue. It might take months, but the result is always the same: once I find the solution, I feel like I’m on top of the world.
What I have Learned

I started learning to program around 2014. My first projects were not very good, but over the last couple of years, I have started to learn how to code using the best industry standards.
I believe that programming a project is like creating a piece of artwork. You must take the time to design exactly how you want it to work.
When I am dealing with complex ideas, I like to break the problems down into segments. After I finish those individual segments, I add all the pieces together.
One of the features I love most about programming is that when code is run, the output is almost always predictable.
Aside from buffer overflows and other similar attacks, the logic remains consistent. For example, if you tell a script to loop through an array, the result is predictable.
We live in a world that is mostly unpredictable. However, if you write a script to perform an arbitrary task, that code will perform the same task consistently every time.
Coding allows you to express your ideas in a way that makes them a reality. It allows you to be creative in a new form that can be run on any computer and used in multiple ways.
Learning to program also teaches you how the websites and programs you use daily actually function. You see how they begin as a simple idea and eventually become a finished product.
My specific process involves breaking the code into parts, getting the pieces working one by one, and then ensuring they work together as a whole. Once I know the system is functional, I modify the code to optimize it or to make it less repetitive.
During my senior year of high school, I took a required economics class. We had to perform math to figure out the supply and demand of certain theoretical scenarios.
I had trouble with it at first, so I wrote a Ruby script to help me understand the logic.
I eventually got the script working, and it helped me with a lot of my homework for that class.
This experience proved that you can use programming to understand and solve math problems. Ultimately, coding teaches you how to break down any problem into smaller, solvable parts.
The Future

I believe that programming should be taught in grade school instead of cursive. There are starter programming languages like Scratch that are specifically designed for kids. Introducing these early would help students think better while learning basic logic and math.
It might even spark a lifelong interest in technology. Eventually, students could move on to Python, which is a language that is very easy to understand.
Learning to code allows children to invent their own programs. This can make them feel a sense of fulfillment similar to the pride I feel when I successfully complete a project.
Programming teaches you how to solve problems and how to be creative. Some articles even claim that you can teach the core skills of programming without using any technology at all.
Pre-schools could start using these unplugged methods to teach the basics before students ever touch a computer.
Later in their education, students could use those early lessons to improve their skills and learn how to turn words into functional programs. As they grow, they will build more complex systems.
Even if schools only have traditional classes during the day, they could offer after-school clubs where coding, IT, and cybersecurity are taught to the next generation.
Studies have shown that when kids are taught programming at a young age, they are better equipped to apply problem-solving skills to data analysis and pattern recognition.
Teaching programming improves a student’s ability to learn other subjects that require the same type of thinking, such as math or logic. Most children are naturally curious about technology and often view it as something magical.
Kids today are exposed to technology at an increasingly young age, and many are more proficient than their parents or grandparents.
If we direct that curiosity toward programming or any STEM industry, we can help them learn important skills and foster the idea that technology can be used to create things out of nothing.
By teaching them to program, we are teaching them how to think computationally and giving them better critical thinking abilities.
The idea is similar to physical education. In PE, kids play games to learn skills and exercise while the teacher hides the actual workout within the game. The same can be said about programming.
When you teach a child to code, you are really teaching them how to question how things work and why they work that way.
Programming also provides skills that can be a great way to earn extra income on sites like Fiverr. It is a productive hobby for students who have free time. It can improve customer service skills and provide experience with different technologies.
According to one study, 89% of parents believe that computer science helps develop both soft and hard skills.
I believe that both male and female students should be taught to program. Even if they do not go to college, they could use these skills to get a certification or a freelance job.
Programming should be treated as a trade, just like welding, HVAC, or automotive repair. You do not need to spend a fortune on an education to learn how to code.
Since many girls tend to shy away from science and technology by middle school, we need to change the culture.
We can do this by giving both genders the ability to learn these skills at a young age.
We should also hire more women to teach these classes or invite female professionals to speak to students about their careers.
Having women as teachers and mentors is a powerful way to encourage young women to pursue a career in the programming field.

All of the forty-nine students complemented a pre writing assessment that purpose was to measure writing skills and development of ideas, writing organization and grammar.
They also took a post writing assessment. Reportedly the finding of the study mentioned above shows that learning programming skills helped the students with writing skills.
The study shows that there was a significant increase on the assessments given to the students. This study was only done on small scale.
I think that they should try to repeat the study with more kids in different states as there could be economic, cultural differences that could affect the study.
Resources to Learn
In the year 2020, Christopher Swenson filed a Freedom Of Information (FOIA) request to get resources used by the NSA to teach python.
It is a great way to get your feet wet, they have different objectives that you give to students to learn. The best part is that it is legal and FREE.
