Tuesday, July 29, 2008

The programming course I am taking is a joke

This is the second day of a 5 day C programming course at my company. There are 3 levels of programming starting from the very introductory level, intermediate and advanced level. Supposedly at this level, by the end of the program we are supposed to write our own fprint program.

This is day 2 and about 11 hours into the program... I have programmed for all of about 30 minutes on a microprocessor connected to a little robot that runs around a track painted on a board. I did this kind of stuff in second year university... almost 5 years ago. I am ridiculously annoyed with this course. A complete, utter, waste of time.

The other things is that some how the teacher for this course has gotten into the guts of assembly language without a good primer into the subject. I am quite certain that most of the other students in the course have no idea what is going on when it comes to the inner workings of assembly or how a microprocessor works. This is terrible!

The people that are teaching these courses, internally at the company are former employees that have started their own education company to teach the new recruits some basic skills. They charge about $600/week/person. There are about 20 people in the class. Doing the math, that yields, $12,000 per week or $48,000 per month! And I only paid $250 for a microcontroller course at UBC which is sufficient to dance circles around this class.

Hell, I have learned way more about programming on my own compared to what these people teach. I've found ways of interfacing programs directly into the Windows memory system, written automation programs, data analysis, a 2D differential equation solver and a monte-carlo robot position tracking system (a real simple one, albeit) over the past few years and I am some how in a class which is reviewing how to use *pointers.* And we have been doing this for the entire morning. If this were UBC, we'd probably have covered the topic in about 1.5 hours with far better depth.

In a sense, I am really happy to have gone to UBC, especially graduating out of the Engineering Physics program. I honestly have to say that surviving Eng Phys was a miracle. Even for me, I took more than the average course load and some how managed to graduate on time. There were tons of stuff I was learning at the time that I really never understood, until I started seeing their applications in research while in grad school. Simulation techniques that was in my head from a Electro-statics course was perfect for me to model electric fields for my research project as a grad student. The 2D differential equation calculus was rather useful for application to a multi-variable robotics course... where people were using complicated math packages to simulate an equation, where I did some really simple calculations in excel and was done in half the time it took everyone else... and yes, I even did find a use for my quantum mechanics (which I did rather poorly the first time around when I took the course) for an electron beam emission project.

I see application to the knowledge I learned everywhere and think the mathematics and physics I've learned is incredibly applicable, especially from the project experience I've had. I honestly have to say that there is nothing I have seen in Japan so far that comes remotely close to the educational experience I've had in Canada. Though I would no go far as to say that I learned nothing while in Japan, most of my learning came from the self-study I've done while working on research and project opportunities while over here.

I will have to remind myself that taking courses are not a real good use of time. The only problem is that I wonder if they wouldn't mind me taking a week out of work time to do some self-study to find new/better techniques of getting the job done.

No comments: