Learning To Program

Learning to program has been something that has taken an extremely long time for me to do. It has happened in starts and stops, in tiny bits over an extremely long time.

It started probably around grade eight 6 or 7 when I read a book called "Bits and Bytes to C and Beyond". It was a book that described in great detail how a computer actually worked at the level of transistor and how that built up into actual programs. When the book got to the C programming part, I lost interest because I didn't have access or the knowledge of how to get a C program to compile on my computer. I didn't have a project to figure out, the whole thing just settle deep in my brain.

Later, my exploration into 3d computer graphics rekindled the prospect of programming. I started with a 3d program called Pov-Ray that is actually quite similar to C programming code, except entirely design to create computer generated images. With Pov-Ray I actually had projects, and objectives and a goal to reach when I was making images. In that time I learned a lot about syntax, debugging, loops, variables, functions and all sorts of other things. It was a great way to learn because I would just fumble around in the documentation and figure things out.

Once I got further into 3d I ended up moving into more complex computer graphic software packages that don't require programming, so again, the programming knowledge crept back into the depths of my brain.

The next time programming came up was when I student taught a videogame making camp. I learned a version of Basic and for the first time actually made some video games. It was a lot of fun, but once I left the camp, I no longer had anything to code in. I didn't know what language to learn, or what software to work in, and other things distracted me.

Last year I decided that I would get back into it in a more official sense and signed up for object oriented programming in university which will start in a few weeks. I have however been learning a lot of programming in the past few months in two very successful ways.

The first is thanks to Reddit. A man name Carl H. has taken it upon himself to create an online programming course entirely within the context of Reddit.

Carlhprogramming

This is the best introduction to programming that I have ever learned from. It is in depth, correctly paced and allows for a lot of interaction. It is probably one of the best learning experiences I have ever had. The focus is on complete understanding of the topic, not some goal of simple passing a test at the end of the term.

The second thing that has been helping me is Project Euler. It is an online programming challenge. They have hundreds of problems which can be solved using programming. I'm online on about the 10th question. This website has provided me with challenges that I couldn't make up for myself. It is very difficult to learn programming when the objective is not clear. It is also a very interesting website as after completing each problem, other solutions are available to view. It offers a lot of insight into how other people work and what other solutions are available.

The last problem I completed was to add up all of the prime numbers under two million. This isn't particularly hard, except the program is supposed to be able to complete the task in under a minute. This restriction force me to learn more and to analyze my solution to a greater depth.

Hopefully by the end of the year I will have a much great grasp on programming as a whole and will be able to really implement it into my work to a greater extent.

Kyler

No comments: