Photo: Wilton Helm |
Photo: Electronic Design (blog) |
Another reason for my interest is that my work has often led to roles of mentoring and supervising electronic engineers and software developers, even sometimes in the recruiting and screening, and yes, occasionally firing of them. I have taken a keen interest in the dialogue (that has been going on for many years) about the quality of engineering education in the U.S.
My degree is in computer science. I was fortunate enough to take most of my classes from a very intelligent and practical instructor. He just completed his undergraduate degree in physics, but he had a good grasp of concepts and taught us programming languages as tools to implement concepts, not as an end in and of themselves. For example, we needed to learn recursion. But we lacked access to any languages that supported recursion. Rather than throw up his hands, he showed us how to use a variable as a stack pointer and an array as the stack, and subsequently implement recursion in BASIC.
By the time I graduated, he had moved on to industry and was replaced by an instructor who had a master’s in CS. The latter faced the same issue; however, he told his students that they would not be able to try recursion because we didn’t have a language that could do it. One of my classmates who took classes under the former instructor, and happened to be in this class, proceeded to show the instructor how to do it. So much for a master’s degree in CS! Your mileage may vary.
I recently read an article questioning the need for a college education. I have told people over the years that the degree you get in college is less important than the fact that you have a degree. There is still some truth to that, particularly when it comes to salary level and preference in hiring. However, in the computer field, the trend is to snap up bright applicants regardless of their (lack of) formal training. Sometimes this works well, but it often leads to sloppy practices and poor documentation. The CS degree may not be necessary to get the job done, but it may be valuable for writing quality code with minimal bugs that can be read by someone later on.
We all come into life with different strengths and different temperaments. One of my early dissolutions was the rigorousness of college-level math. I never cared much for the proofs of geometry in high school, and my initial goal of a math/physics double major in college rapidly vaporized in calculus class. Fortunately, the college was putting together a CS degree about that time, and I found it much more interesting.
Read more...
Source: Electronic Design (blog)