The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.

BS vs BA in Computer Science

FrazFraz Registered User regular
I'm 10 months away from leaving the Army and I plan on using my education benefits to study Computer Science. Where I'm moving after the Army is set and my first choice is to apply for a BS in CS at the university there. My alternate is to apply for an online CS program but there are a few schools that also offer a BA in CS. The only reason I am considering this is because my last degree was not a Science degree and this would eliminate at least two semesters worth of math and science that I'm not entirely sure I'd be able to do online from a respectable school.

So my questions is, how much will it matter if your degree is a BS or an unaccredited BA if they are both from the same school? (None of these are MIT it would probably be something like Florida State)

This difference is probably finishing this two or three semesters early and it is important because I'm already married and old. And I anticipate the science and math that are required for a BS but not necessarily for the CS to be very challenging. I expect the major to be hard enough. And at this stage of my life I'd rather get right into it. I want to develop software, not research or teach but if a BA means I will be overlooked than I can go for the BS.

In short, I'm looking for a shortcut, but if it's a terrible idea I'll do it the hard way.

Posts

  • bowenbowen Sup? Registered User regular
    BS is typically an 'engineer' styled course.

    BA is typically a 'theory' heavy styled course.

    This is why you're noticing the difference in the math/science. I would say, for CS, BS is probably the better of the two. I don't think it'll limit you too much, assuming you expand your skill set with projects and other stuff that interest you. BA is going to be a more liberal arts heavy degree.

    Up to you man, in the long run.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • JasconiusJasconius sword criminal mad onlineRegistered User regular
    the people who care about degrees care about that S, and they care about accreditation

    put in the work and get it done, especially since I assume you have the GI bill covering it...?

    this is a discord of mostly PA people interested in fighting games: https://discord.gg/DZWa97d5rz

    we also talk about other random shit and clown upon each other
  • FrazFraz Registered User regular
    Thanks for the replies

    Yes, the GI Bill will be covering it

  • TofystedethTofystedeth Registered User regular
    Being an accredited course is more the big thing. Depending on the school, the difference between the S and the A can be something like, having taken a few language or music courses as well.

    steam_sig.png
  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    I have a BA in CS and it hasn't been a problem for me. Maybe my resume got filtered out by some software at some point, but I probably didn't want to work for a company big enough to be filtering resumes with software anyways. :P

    But the lack of accreditation seems like it could be a big problem.

  • FrazFraz Registered User regular
    admanb wrote: »
    I have a BA in CS and it hasn't been a problem for me. Maybe my resume got filtered out by some software at some point, but I probably didn't want to work for a company big enough to be filtering resumes with software anyways. :P

    But the lack of accreditation seems like it could be a big problem.

    Yes that is a concern. The school's BS in CS is accredited but the BA isn't. Most of the CS specific classes are the same but the math and science are not.

  • PowerpuppiesPowerpuppies drinking coffee in the mountain cabinRegistered User regular
    BS/BA will matter to some but will be ignored by many. Reasonably safe to play around there to dodge the math and science. Unaccredited translates to no degree for many people, I think. I wouldn't consider going that route for a moment, were I you.

    sig.gif
  • DoctorArchDoctorArch Curmudgeon Registered User regular
    Additionally, if you want to expand your career options a bit, you can take the U.S. Patent Bar with the BS, but not with the BA.

    Switch Friend Code: SW-6732-9515-9697
  • bowenbowen Sup? Registered User regular
    Take the BS Fraz, it'll be worth it.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Inquisitor77Inquisitor77 2 x Penny Arcade Fight Club Champion A fixed point in space and timeRegistered User regular
    Get an accredited degree. It can say "PhD Biggest Dick in the Universe" after the degree, but if it's not accredited you are literally throwing your money away, especially if you have the opportunity to actually get one that is.

    If you really do plan on being a programmer, engineer, etc. then focus on learning as much as you possibly can and being able to produce good work. In this day and age, you can't just show up to a place with a degree and expect a job. Recruiters and HR departments have way too many candidates, so they are lazy and will filter out the "easy" stuff like whether you have a BA vs a BS, or whether the degree is accredited or not.

    But once you get past the first hurdle, you will get interviews beyond the HR stage. Those people will expect a portfolio of work of some kind so they can review it (yes, even at the code level - especially at the code level). And then they will test you and make you write code on the spot to solve a specific problem. And then they might give you a take-home project with a deadline of 48 hours to produce something larger.

    And then you'll get hired as a contractor to prove that you can keep it up and work with everyone for at least 2 months (if not longer).

    At that point the question isn't "does my degree end with an A or an S", the question is "is my work good enough to pass muster?" Chances are the more rigorous course is the one that will better prepare you for that opportunity.

    I only mention this because you seem to have your head on straight and really just want a good job that lets you write code to take care of your family. If that's the case, then making sure you're adequately prepared is a huge first step. It can take several years to get a good career off the ground, and finding out that you got a worthless degree that didn't teach you how to code your way out of a paper bag is a terrible way to start. Another year of school is worth it if it puts you several years ahead in the long run.

  • TerrendosTerrendos Decorative Monocle Registered User regular
    Background for me: I'm a mechanical engineer, so it's not quite the same thing, but still.

    Every job I applied to as an "Engineer 1" had requirements for education similar to the following:

    One of the following criteria must be met:

    1) Possess a 4-year engineering degree from an ABET accredited engineering program based on the year that the engineering program was accredited by ABET, or


    2) Possess a 4-year engineering degree from an institution outside of the U.S. which is accredited through the country's own engineering accrediting body under the Washington Accord as a full signatory, and is a degree that was recognized by the country's accrediting body on or after the date that full signatory status was achieved, or


    3) Possess a 4-year engineering degree from a non-ABET accredited program and a post-graduate engineering degree from an institution where the undergraduate degree in the same engineering discipline is ABET accredited based on the year the engineering program was accredited by ABET, or


    4) Possess a 4-year degree in Physics, Chemistry or Math and a post-graduate engineering degree from an institution where the undergraduate degree in the same engineering discipline is ABET accredited based on the year the engineering program was accredited by ABET, or


    5) Holds or has previously held a valid Professional Engineer license.


    This is copied verbatim from a job posting, and it's pretty much the standard. You can try looking at opportunities for jobs you'd like to have when you graduate and see but I'd bet they'll all have a clause like the above.

  • FrazFraz Registered User regular
    I'm glad I asked about this, and I appreciate the help.

    I really shouldn't settle.

  • [Michael][Michael] Registered User regular
    I wouldn't really worry much about the extra 2 semesters, either! In my experience, getting work experience as a CS major - even before graduating - is relatively easy. I interned for about 2 years while in school, and did my last year working full-time as a software developer. It doesn't seem like an uncommon story, either; I know lots of CS graduates who graduated with 2+ years work experience and their career already well underway.

    My friends in non-engineering / non-IT fields seemed to have to work a lot harder to snag an internship. You picked a good major for "getting right into it" as you put it!

  • DarkewolfeDarkewolfe Registered User regular
    I hire for a number of positions that require a BS or MS, not a BA.

    What is this I don't even.
  • gavindelgavindel The reason all your software is brokenRegistered User regular
    From a friend's experience, the BA will lose out on job opportunities versus the BS. I got a BS and a friend got the BA. His classes didn't cover a lot of the denser theoretical stuff, and his final project was basically a Unity game concept with no backing. At least from his recollection, it sounded like the BA of CS in his school was just plain subpar compared to the BS. Don't settle.

    Also, push for internships starting sophomore year. Hell, start looking freshman year. You may not get one, but the earlier the start the better. I owe the entirety of my current position to a series of upward escalating internships.

    Book - Royal road - Free! Seraphim === TTRPG - Wuxia - Free! Seln Alora
  • lunchbox12682lunchbox12682 MinnesotaRegistered User regular
    I agree with everyone that you should definitely go for the BS. The accreditation is ridiculously important for the big companies. But also look at Computer Engineering, Electrical Engineering, and Software Engineering. Since you are coming from military, there's a reasonable chance that you'll end up at a government contractor at some point (could be Boeing, UTC, or whoever). Recently, the big boys have been wanting degrees with Engineer in them versus Science. It make not be the way you want to go for your career, but at least take a look at what your options are.

  • SerpentSerpent Sometimes Vancouver, BC, sometimes Brisbane, QLDRegistered User regular
    I am looking to hire at my firm right now. We're not programmers but a CS degree is a good qualification specifically because I know it has some extra maths. If you only had a BA I would throw your resume in the garbage.

    Plus, outside of this, I will say that a programmer who hasn't even seen the extra maths (not worrying about being strong at it... just seeing it) is pretty damn useless in my experience. Every once in a while they just can't do it or even understand why they can't do it. Terrible.

  • FrazFraz Registered User regular
    I have about 10 months before I start. What do you guys who have completed CS suggest I focus on to prepare myself for a BS in CS?

  • a5ehrena5ehren AtlantaRegistered User regular
    edited October 2015
    You'll probably want to brush up on your math skills (you'll save a semester if you're ready for Calculus 1 when you show up on campus) and start learning the basics (syntax, tools, etc) of something like Java or C# just so you aren't learning the language and the theory at the same time.

    Don't feel like you need to be an expert at a language going in, though.

    a5ehren on
  • bowenbowen Sup? Registered User regular
    Looks like you said you wanted to be a software engineer right?

    You'll want to focus on things like assembly and c/c++ first. Once you have an understanding of how to write some really basic programs, learn data structures (linked list, tree, etc) and then algorithms (sorting and things like this)

    That'll give you a huge leg up.

    Maybe do some online courses from khanacadamy.

    https://www.khanacademy.org/computing/computer-science
    https://www.khanacademy.org/math/differential-calculus
    https://www.khanacademy.org/math/integral-calculus
    https://www.khanacademy.org/math/linear-algebra

    Also khanacademy has normal algebra if you need a refresher. That thing is a wonderful resource, abuse the fuck out of it.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • bowenbowen Sup? Registered User regular
    Also avoid the 'programming' portion of khanacademy, it looks like it's mostly web based, and anything you learn there will set you back in a CS degree more than likely.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • mRahmanimRahmani DetroitRegistered User regular
    This was the textbook for the first programming class I took, and I still think it's the best one I've seen. It's very short compared to most programming textbooks (maybe 200 pages tops?), but what stands out about it to me is that it focuses on the most important part of a CS degree, and the important part of a CS degree is not the ability to write code. At heart, the entire purpose of a CS degree is to learn how to take a complex problem that you don't know how to solve, and break it down into smaller segments that you do know.

    To that end, the book spends most of its programming exercises taking the same program and slowly adding things to it over the course of the book as it teaches you new material. At the same time, it's not a programming book per se - it uses C++ for the exercises, but it's really a book about building algorithms, with the language just being the method of implementing those algorithms. The book does assume that you're either concurrently taking or already know some physics, though.

  • RadiationRadiation Registered User regular
    CLEP as much as you can while you are in still to get Gen Ed requirements taken care of. I don't know if the Army has it, but the Air Force has a Community College that gave you credits for your AFSC training, and if you did some other Gen Ed stuff would award a Associates in whatever field you were in. Try and find something like that.
    Also to get the best deal out of Post 9-11 bit you need to spend at least half of your full time semester in the school to get the local E-5 BAH thing. Not sure if you'll wind up near an installation but UMUC may be a viable option and you could start knocking out classes while you're still in and use TA.

    PSN: jfrofl
  • tastydonutstastydonuts Registered User regular
    mRahmani wrote: »
    This was the textbook for the first programming class I took, and I still think it's the best one I've seen. It's very short compared to most programming textbooks (maybe 200 pages tops?), but what stands out about it to me is that it focuses on the most important part of a CS degree, and the important part of a CS degree is not the ability to write code. At heart, the entire purpose of a CS degree is to learn how to take a complex problem that you don't know how to solve, and break it down into smaller segments that you do know.

    To that end, the book spends most of its programming exercises taking the same program and slowly adding things to it over the course of the book as it teaches you new material. At the same time, it's not a programming book per se - it uses C++ for the exercises, but it's really a book about building algorithms, with the language just being the method of implementing those algorithms. The book does assume that you're either concurrently taking or already know some physics, though.

    Yeah. Being a computer scientist really boils down to one's ability to do this.

    I'd also like to place emphasis on getting an accredited degree.

    Though, there's really no guarantee that getting a BS will get you a job anymore than a BA. It's a risk, and apparently going for the BS is going to cost you more money and time...

    That said, why is there such a difference in required semesters for you between the two programs? The amount of credits to get a BA vs a BS should be the same, as the difference lies in the distribution of electives beyond the core competencies of the CS degree. But are less credits/semesters required due to acknowledging past credit or something? Assuming you've been out for a while you'll have to bolster your mathematics anyway.

    “I used to draw, hard to admit that I used to draw...”
  • kimekime Queen of Blades Registered User regular
    bowen wrote: »
    Looks like you said you wanted to be a software engineer right?

    You'll want to focus on things like assembly and c/c++ first. Once you have an understanding of how to write some really basic programs, learn data structures (linked list, tree, etc) and then algorithms (sorting and things like this)

    That'll give you a huge leg up.

    Maybe do some online courses from khanacadamy.

    https://www.khanacademy.org/computing/computer-science
    https://www.khanacademy.org/math/differential-calculus
    https://www.khanacademy.org/math/integral-calculus
    https://www.khanacademy.org/math/linear-algebra

    Also khanacademy has normal algebra if you need a refresher. That thing is a wonderful resource, abuse the fuck out of it.

    Gonna pretty much entirely disagree with the bolded. Assembly is not something most software engineers need to know to begin with, let alone something you should study on your own before starting the degree program. It can be kind of nice in some situations so that you know what's actually happening behind-the-scenes, but not something anyone needs to really know starting off.

    And I also wouldn't recommend anyone learn C/C++ on their own before starting school. Granted, I don't much like those languages to begin with :P , but they're going to be a little intimidating for most people as a first, unaided glimpse into "this is programming!"

    So I'd probably replace both of those with an easier-to-self-study language (Python? Ruby?). His school should provide plenty of practice with a C-based language.

    Battle.net ID: kime#1822
    3DS Friend Code: 3110-5393-4113
    Steam profile
  • FrazFraz Registered User regular
    kime wrote: »
    bowen wrote: »
    Looks like you said you wanted to be a software engineer right?

    You'll want to focus on things like assembly and c/c++ first. Once you have an understanding of how to write some really basic programs, learn data structures (linked list, tree, etc) and then algorithms (sorting and things like this)

    That'll give you a huge leg up.

    Maybe do some online courses from khanacadamy.

    https://www.khanacademy.org/computing/computer-science
    https://www.khanacademy.org/math/differential-calculus
    https://www.khanacademy.org/math/integral-calculus
    https://www.khanacademy.org/math/linear-algebra

    Also khanacademy has normal algebra if you need a refresher. That thing is a wonderful resource, abuse the fuck out of it.

    Gonna pretty much entirely disagree with the bolded. Assembly is not something most software engineers need to know to begin with, let alone something you should study on your own before starting the degree program. It can be kind of nice in some situations so that you know what's actually happening behind-the-scenes, but not something anyone needs to really know starting off.

    And I also wouldn't recommend anyone learn C/C++ on their own before starting school. Granted, I don't much like those languages to begin with :P , but they're going to be a little intimidating for most people as a first, unaided glimpse into "this is programming!"

    So I'd probably replace both of those with an easier-to-self-study language (Python? Ruby?). His school should provide plenty of practice with a C-based language.

    Thanks for the replies.

    I'm on my second Python book right now. I also downloaded the syllabus for what will be my first programming class and the language used is C. The text is all online which is nice so I will work through it when I'm done with this Python book.

    Considering my non-science background and how long it has been since I've studied math, I think my other focus should be math an science. Specifically the stuff I avoided in college: Physics and Calculus.

  • bowenbowen Sup? Registered User regular
    Introduction languages among programmers is a heated topic, your life will be much easier if you can grasp some of the concepts like pointers before you even get into a classroom

    You probably don't need assembly, but you absolutely should be picking up c or c++, I will fight that to the death.

    Once you're comfortable with a C based language, feel free to move on to the 4GL like python and ruby, and definitely C#.

    You can work in reverse too, starting with python and moving back to C or C++, but you will need to know it in comp-sci, and trust me you want to get into it sooner rather than later, because if you struggle with something now, that means you can focus on asking questions when it comes time to go to lecture and lab.

    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • CarpyCarpy Registered User regular
    I know you said you already have a degree but depending on how long it's been since your last math class I would highly reccomend making sure you are rock solid on your fundamentals. The CS curriculum, especially the first 2 years, is designed to teach you the basics of programming, and unless you end up starting in math 45 the math classes will take a bunch of knowledge for granted. Having just graduated with a BS in CS where I started with zero experience coding and an 11 year gap since the last time I had done any math more complicated than balancing a checkbook the knowledge gap in math had a much larger negative impact than the the coding gap.

  • [Michael][Michael] Registered User regular
    Gonna echo Bowen about at least giving C or C++ a shot. It'll at least let you know where you might struggle.

    Other than that, try to get calculus and discrete math ready so you can start those up.

  • GanluanGanluan Registered User regular
    I will say this - I used C++ in one class (I graduated 10 years ago) and have never used it since, everything else was Java in school and I now use .NET for the job I've had since I graduated. While understanding some of the concepts that .NET hides away (garbage collection, memory allocation, pointers, etc.) is great, someone just learning development would be much better served to use something like C# or Python where they can get into the core concepts of logical thinking while programming. Aside from specific fields, almost everything I've seen for enterprise/business development has shifted to Object Oriented languages or firmly into madness like Node.js where scripting is used instead.

    To the original question - I've seen a lot of resumes and have hired people both with and without degrees. If you do have a degree, having one from an unaccredited school is basically worthless. I have also had terrible experience with candidates from the for-profit schools like Devry, University of Phoenix, etc.

  • mRahmanimRahmani DetroitRegistered User regular
    edited October 2015
    I see a lot of back and forth over what languages to start with, but I don't really think that's an important question. Any of the C languages or Java would work fine. (I'm not familiar with Python/etc so I can't speak to those.) Learning the concepts of how to design and build a program effectively are much more important than whether you put C++ or .NET or Java on a resume.

    I say language is irrelevant because as a developer, you're going to be expected to learn new languages and tools constantly anyway. For me, that's been Java, Javascript, and Go in the last year, and I'm starting Matlab now. Previously I was doing SQL and C#, and prior to that it was mostly C++ in school. Once you know how to write in one language, you'll be able to transfer the skills to other languages pretty quickly as you need to. Pick one language, stick with it, and use it to learn the basic concepts as thoroughly as possible.

    mRahmani on
  • lessthanpilessthanpi MNRegistered User regular
    Sorry, I'm a bit late to the conversation.

    I'm a college mathematics teacher and I interact with most of our Computer Science students via the Calculus and Discrete Math courses. Over the last few years the students with the minimal mathematics backgrounds have been having a very difficult time getting positions beyond things like geek squad and IT gigs provided they're able to even get interviews.

    My former colleagues and fellow students who went down the CS route have strongly reccommended a double major in CS and Mathematics or CS and Applied Mathematics. This is especially crucial if you ever intend to enroll in a Masters program of some sort be it CS or an MBA.

    I'll also add my voice to the "be sure it's accredited" contingent. This is probably the single most important aspect of the modern post-secondary educational quagmire. You can't simply ask a college if they're appropriately accredited either, many of the fly-by-night for-profit colleges have begun to make up bullshit accreditation boards that look legit but mean nothing on the job market.

    If you're unsure where to begin try just checking something like wikipedia to see if they are a public school funded by a state. That's a pretty sure bet. Private colleges that aren't long established names like Harvard, USC, Chicago, etc can be shady.

    If nothing else send me a list of prospective colleges and I'll spot check them for you.

  • kimekime Queen of Blades Registered User regular
    mRahmani wrote: »
    I see a lot of back and forth over what languages to start with, but I don't really think that's an important question. Any of the C languages or Java would work fine. (I'm not familiar with Python/etc so I can't speak to those.) Learning the concepts of how to design and build a program effectively are much more important than whether you put C++ or .NET or Java on a resume.

    I say language is irrelevant because as a developer, you're going to be expected to learn new languages and tools constantly anyway. For me, that's been Java, Javascript, and Go in the last year, and I'm starting Matlab now. Previously I was doing SQL and C#, and prior to that it was mostly C++ in school. Once you know how to write in one language, you'll be able to transfer the skills to other languages pretty quickly as you need to. Pick one language, stick with it, and use it to learn the basic concepts as thoroughly as possible.

    The bolded is why I suggested not C, actually. If the OP studies a C-based language, then first and foremost he'll be studying a C-based language. If he starts with something easier to pick and and run with like Python, then he can get into actual programming practices, etc. C/C++/Java are not bad languages, objectively speaking, but if you are self-studying programming for the first time, then you have to put in a lot of effort learning the language, and not programming.

    In the end, whatever the OP picks will end up fine if he sticks with it, I'm sure. Just the drive to prepare before beginning the program already puts him above most of his peers :)

    Battle.net ID: kime#1822
    3DS Friend Code: 3110-5393-4113
    Steam profile
  • Pure DinPure Din Boston-areaRegistered User regular
    I've taught Computer Science at the college level, and am currently a software engineer at Google. I hope you don't mind if I add a few thoughts:

    1. I agree with everyone above who recommended internships. They generally pay well (you should walk away from anything unpaid), and give you a chance to get work experience.

    2. I also agree that a B.S. would be better for your situation, though a few years of work experience tends to the blur the distinction (see above).

    3. I don't think it particularly matters what language students start with, because no matter what the language, new programmers end up thinking in that language because that's all they know. The only way to fix this problem is to learn a second (third, fourth, fifth...) programming language, and that will happen in time.

    4. I have a friend who volunteers for operationcode.org . It's a non-profit founded by and for veterans. They offer 1-on-1 mentoring, career networking and advice, and even help review the code you write. It's 100% free and online, so definitely would be good to check that out right away.

    5. I don't think this is a good idea, but I'm telling you because you deserve to know all your options: There are "coding camp" schools for learning how to program; the website I mentioned above has a whole list of them. They focus on teaching a very narrow set of skills in just a few months so you can get on the job market as soon as possible. Obviously the upside is less time spent in school. No GI bill, but you're out there making money all those years you'd be in college.

    However, keep in mind that many of these places prepare you with just the bare minimum skills to do the entry-level job. I know people without CS degrees who work as junior positions for years and just can't move up, not because of the lack of degree, but because there are certain core concepts that are more difficult to learn outside of school, and going back to school never gets easier...

    That turned into a bit of a ramble, so I think I'll leave it there. :)

Sign In or Register to comment.