[SPO600] Final Thoughts

Coming to the close of this semester I just wanted to make at least one post regarding the entirety of the SPO600 course with Chris Tyler.

The thing I want to start off saying comes from the “SPO600 – Information for Prospective Students” page:

Is this an easy course?
No! – It’s a challenging course.

Chris is definitely right about this. This course definitely is challenging. There were many times where I felt like I wasn’t ready for this course. A proficient understanding of Linux is required to get anywhere in this course. Just using makefiles, installing applications, using different compile flags, egrep, and a host of other different things were things that I personally had to work through (with a lot of help from Google) just to keep up with the other students in the class. However having the other students in the class be more proficient with Linux wasn’t all bad, because of this I was forced to learn so much more about Linux than I had even learned in the course that we have to take about using Linux.

Chris goes on in the “SPO600 – Information for Prospective Students” page:

However, it covers material which is not covered elsewhere in the program, and if you like to understand technology in detail, you may really enjoy this course. The knowledge and skills covered in this course are of practical value to programmers and system administrators.

Sometimes education in college is all too practical and leaves the theory out because of time constraints or other reasons. Although I understand the reasoning to this method (and have chosen it for myself) sometimes the understanding of the technologies we are working with are left out and can be of “practical value to programmers and system administrators”. I feel like this Chris does a good job with this course teaching some of the more theoretical parts of our future careers that may be glossed over in other courses. Things like XOR, branch prediction and the many methods of optimization are things that definitely have not been taught in any other course I have taken and are extremely interesting to me.

This course of obviously deals with more practical concepts as well. Concepts like the basis of assembly, how the registers work, and, because not all of us programmers (or sys admins) are going to be dealing with assembly, what I think to be most important working in open source and in a community in general.

Overall I feel like although I thought this course would be mostly dealing with learning to code in assembly that instead what I got from it was so much better, I feel like I learned the general concepts of so many things that will definitely help me in the future instead of learning just how to code in assembly which may be happening less and less because of improving compilers. I’m glad I took this course and hope to use what I have learned in the future to help my career.

Leave a comment