<p>I can’t comment on the reality, but let me comment on the possibility, from a student’s point of view. There are many advantages of taking classes (earning a computer science minor, by completing those requirements). One of the best is you can start earning money as a freelancer once you have acquired the skill. Be it writing Android app, making a website using web framework, etc.</p>
<p>Given that you are an engineering student, you probably won’t have a lot of time exploring programming on your own. Many people, including myself, cannot do a lot of self teaching because either we are too lazy, or have no time, or simply can’t find help when we are stuck. </p>
<p>But if you take classes, you either pass with efforts, or fail miserably. In the end, your grade will appear on your transcript, so it is up to you whether you will take it seriously or otherwise.</p>
<p>The fact that you are formally introduced to the material, and you are given assignments and exams, your knowledge will be tested. They are still very little to help you become valuable in the job market, but classwork keeps you connecting with the computer programming.</p>
<p>Once you overcome the hurdle of your introduction to computer science, and when your classes become more project-oriented, you will be asked to Google things days and nights. You will begin to find new stuff that will interest you. </p>
<p>Whether you will end up with a software job or not (not necessarily as tough as writing for Google), you can always be a freelancer. My point is classes keep you moving, as long as you are doing the work. Meanwhile you and your friends may come up with some ideas that worth turning into a startup business. God knows.</p>
<p>If you are doing a research project, it is very often that you need to analyze your data. Sometime you may want a quick algorithm to do what you want but the existing one is either too complicated to be use, or simply doesn’t exist / doesn’t meet the requirement. You then can write the algorithm yourself, and you can get more knowledge just by writing an algorithm to compute and analyze your data because now you are in charge of the sequences of instruction. It is like teaching a class of ■■■■■■ (computers are the most ■■■■■■■■ thing on earth, and you have to make sure they work flawlessly That’s more than just knowledge reinforcement. They are only good at doing simple operations - no more than moving things around or doing arithmetic operations. The best they can do is matrices).
These are ideals. </p>
<p>As an engineering student, you will have to take a computer science course anyway. You still have time. You don’t have to declare a minor.</p>