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
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.
0
Posts
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.
put in the work and get it done, especially since I assume you have the GI bill covering it...?
we also talk about other random shit and clown upon each other
Yes, the GI Bill will be covering it
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.
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.
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.
I really shouldn't settle.
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!
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.
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.
Don't feel like you need to be an expert at a language going in, though.
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.
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.
You can't give someone a pirate ship in one game, and then take it back in the next game. It's rude.
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.
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.
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.
3DS Friend Code: 3110-5393-4113
Steam profile
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.
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.
Other than that, try to get calculus and discrete math ready so you can start those up.
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.
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.
You can't give someone a pirate ship in one game, and then take it back in the next game. It's rude.
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.
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
3DS Friend Code: 3110-5393-4113
Steam profile
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.