The Value of a BS in CS

<p>I have been debating about going to college for about 2 years now. I'm a junior now, and still uncertain.The question comes down to whether or not the cost of a college degree is equal to it's implicit value. The evaluation in my eyes comes down to several quantifiable variables:</p>

<p>-The Univ in question is UT Austin
-UT Austin instate tuition is approx $5,000, or $40,000 for a BS in Comp Sci.
-I am fluent in Python, Java, HTML/CSS, SQL, and consequently basic Network Penetration skills (all thanks to AS)</p>

<p>I have a hard time reasoning the use of $40,000 for an education that I have received for free merely because of the intangible value associated with a college degree. </p>

<p>While the computer industry is sometimes willing to hire those who have self-educated the relevant CS knowledge, be aware that merely knowing some programming languages falls far short of the CS knowledge that is often expected. Of course, getting the first job without a credential may be more difficult if you do not have something else to prove your knowledge and skills (e.g. a high quality useful open-source project).</p>

<p>If want to try self-education, you can use the course materials at <a href=“https://www.cs.utexas.edu/undergraduate-program/courses/class-homepages”>https://www.cs.utexas.edu/undergraduate-program/courses/class-homepages&lt;/a&gt; . The degree checklists at <a href=“Degree Plans | Department of Computer Science”>Degree Plans | Department of Computer Science; can tell you which courses the UT Austin CS department considers the most important (because they are required).</p>

<p>In CS, the piece of paper really is that important, even as a field with lots of learning happening outside of the classroom. Even if you do manage to land a job, your next job will be just as hard to land, even if you have the skills from the first job. In a field where people often switch jobs, this can be a big problem. I know of a programmer who has been stuck at the same company for his entire career because he can’t get his foot in the door at most jobs without the BS, even though he is plenty qualified with more than a decade of experience.</p>

<p>Employers aren’t really looking for whether you know a specific programming language or not. They’d rather find someone who they feel is most likely to pick up what they use and use it well. If you’re describing your skills in terms of language fluency, you might be missing out on a lot of important CS concepts that you could learn in school.</p>

<p>Without a degree you could probably get a job at a start-up if you had some demonstrable apps that showed you knew what you’re doing. Lots of bigger companies require a degree, though.</p>

<p>AS? asperger’s syndrome? associate of science?</p>

<p>Jr in HS or College?</p>

<p>The problem with a lot of self-taught programmers is that they think they are a lot better than they are. I have met a few very good self taught programmers. </p>

<p>However OP thinking being fluent in a few languages is equivalent of a BS in CS is laughable. </p>

<p>First define fluent. Do you use proper coding guidelines (put comments where necessary, know how to write efficient algorithms, know how to use which data structure for said program, do you even know how to use and implement a data structure other than an array?)</p>

<p>Second, can you make a program that someone 3 years down the road can modify without growing a beard? </p>

<p>Coupling and cohesion will be some of the deciding factors of how good code is.</p>

<p>Coupling refers to how modules depend on each other. You want this to be low. The reason for this is that later on it is very likely that code would have to be modified. If there is an unnecessarily high dependence between modules, the changes made to one module can have unwanted side-effects on other modules. Having a high coupling is like having a tangled mess.</p>

<p>Cohesion refers to how related the contents of a module are. If cohesion is low, it means that some code just happened to be where it is without much thought as to why this is the case. Cohesion should be high. </p>

<p>Having a low coupling and high cohesion will help a lot with maintenance. Maintaining software incurs a very high cost and in some cases will not be carried out by the same people who developed the system, so it’s a pain in the ass to fix it. So it follows that taking these two properties into consideration would be very helpful.</p>

<p>I know somebody without a engineering degree but really good programmer. He wrote one of the Atari game for $20,000 back in the 70s or 80s. He’s usually get job through word of mouth because his lack of degree. He is definitely smart but unless somebody knew him, he didn’t have a chance at some of these companies. </p>

<p>In my humble opinion (25 years in CS/I.T., mostly in databases/data architecture and now big data), you do NOT need to spend much money on a CS degree. Hell, you could go my route and have Applied Math as your primary major and CS as a concentration (or super-minor).</p>

<p>On top of that, the 2+2 route is the most economincal for a decent CS-type degree. Do 2 years at a communitiy college and the last 2 years at a good in-state university. There are really only 3 freshman/sophomore CS courses that a 4-year school is going to accept for transfer anyway. The following is a breakdown of the 2+2 route:</p>

<p>At the community college, take:

  • Calculus I
  • Calculus II
  • Linear Algebra
  • Discrete Math Structures
  • Object-Oriented Programming 1 (Java or C++)
  • Object-Oriented Programming 2 (Java or C++)
  • Social Science courses for general education
  • Arts/Humanities courses for general education
  • English Composition courses for general education</p>

<p>At the 4-year university (after transferring) take:

  • Computer Organization/Assembly Language (most 4-year schools won’t accept the CC’s version)
  • Data Structures
  • Operating Systems
  • Database Systems
  • Computer Networks
  • Software Engineering (1 course to “tie” everything together)</p>

<p>Now your major can be any science/engineering program that can allow the above to fit (CS, CIS, Math, Physics or Engineering). I am on the fence with the “Organization of Programming Languages” course. That course certainly will not hurt. With the industry leaning toward big-data and analytics, I would also say taking a Probability/Statistics course as well as a Computational Stats course can help. Besides, you will need to know some Stats for your Computer Networks course.</p>

<p>There you go…an economical path to a CS-related degree to at least get you in the door. Once you are in the door, it is mostly about experience and keeping up with the current technology.</p>

<p>Edward Snowden doesn’t have any degree( not even a high school diploma) and I believe he worked as high paid employee at NASA, well not directly, but through a contractor.</p>

<p>Oops, I meant NSA not NASA in the above post.</p>

<p>Ten chars.</p>

<p>A BS in Computer Science is a requirement for about 90% of the ads out there - With that said, if you have legitimate experience and are really good at what you do, you can get a job and make a lot of money. A lot of the programmers I’ve known don’t have degrees, and make a lot of money. Of course, the issue is getting your foot in the door/first job, and that’s an entirely new/different question.</p>

<p>I think if you do happen to get the first job, you can work and get your degree at the same time. Seems to be what many people do.</p>

<p>

</p>

<p>The job ads I see for programmers usually say something like “Bachelors or Masters in Computer Science, Math, or Engineering preferred.” They don’t limit it to BS in Computer Science because there aren’t enough people with that degree to fill all the software jobs available.</p>

<p>Most programmers I know don’t have CS degrees, although they do normally have some kind of STEM degree.</p>

<p>

</p>

<p>That is often what they expect most qualified applicants to have in terms of education, but they would not necessarily exclude someone with a BA in CS, nor would they necessarily exclude a BA/BS in some other major (or even no BA/BS degree at all) who otherwise has the needed and desired CS skills and experience.</p>

<p>My brother never went to college, but started his own business, sold it to a larger company, and kept moving up and now he works for google (and is finally having them pay for him to get his degree). I wouldn’t go as far to say that just because it happened to him it could happen to anyone; there were a lot of circumstances that went into it. Overall, I would say there is greater job security/appeal to businesses in having a degree, but it is definitely possible to get a job without one in CS.</p>

<p>The prerequisite to succeeding like your brother would be a high enough level of ability and motivation to self-educate the needed stuff and start one’s own business and bring it to success.</p>