Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: I want to get a Bachelor's in CS online. What are some good programs?
88 points by rayalez on June 19, 2019 | hide | past | favorite | 61 comments
Hi! I'm trying to find a good online program to get Bachelor's degree in CS, my goal is to switch careers and get into AI and Machine Learning. I will also likely need the degree to apply for the AI/ML Master's program(OMSCS).

I'm a self-taught programmer(web developer), I have a bachelor's degree in a field unrelated to tech.

I want to master the fundamentals of Computer Science, and all the Math I need to be ready for an AI/ML Master's program (and for studying ML on my own). Getting a degree is also important to me - so I need both the knowledge and the credentials.

Can you recommend some good options? What criteria should I use to pick the best one? What should I keep in mind?

I would really appreciate any help!




Something you might not have considered is to forego the time and expense of the degree altogether. Particularly in IT most employers don't care if you have a degree or not - the ones that do can always use your existing degree to check the box. If you can pass the interview questions for development or systems engineering then more than likely you'll get hired. You might have to do temp to hire if you don't have a buddy to vouch for you, but you'll get in the door. There are a number of times I've been the most senior person ever hired without a degree, one Fortune 100 even changed their rules specifically so that they could hire me without a degree. The key phrase to remember is "equivalent experience" and you can usually imply that will be accepted. You will run across the occasional HR robot or insecure manager that thinks otherwise, but they are a slim minority. All of that money you spend on college is more or less a waste unless you are planning to be a doctor, lawyer, or something else heavily regulated where state or federal laws don't even allow you to take certification tests without a degree. (For example, in my state you can't take the bar exam without a J.D. degree and a number of hours as an unpaid intern)

Remember also, particularly in IT, that educating yourself is going to be an ongoing task for you. It doesn't have to be formal but you have to keep up. Read Hacker News and High Scalability, when you see things discussed that you don't understand then take it upon yourself to go understand. I probably spend sixteen hours a week on my own research.


Thank you for your reply, I completely agree that self-education can work great for most purposes.

But some Master's programs may require academic credentials. Degrees are also important for gaining work visas in many countries.

Finally, I feel like structured and more "formal" education would be very helpful to me when it comes to understanding math and more theoretical concepts of CS. I had no problem learning webdev on my own, but for more academic-type things, it would just be easier to attend a program that will make sure I have no gaps in my knowledge.


"that will make sure I have no gaps in my knowledge" - You will always have gaps in your knowledge. It's only a matter of what gaps you'll have - but gaps there will always be.


That is a valid point. Of course I've met a number of people who came to America and found their degrees were considered useless once they arrived. Luckily IT is mostly immune to that also.


Without putting a downer on the CS degree idea, I’ve been learning a lot myself just by going through the same texts (and a few others). It won’t at all compare and there’s no qualification but things like The Imposter’s Handbook are great to get a basic understanding of things.

I’d love to do the CS course myself but £18k’s a substantial investment considering what I’ve managed to earn without the degree.


I have never heard of The Imposter's Handbook. Thank you, this is exactly what I need. Do you have other resource recommendations for self taught programmers?



> There are a number of times I've been the most senior person ever hired without a degree, one Fortune 100 even changed their rules specifically so that they could hire me without a degree.

Aren't these points against your argument? That they had to change the policy to hire someone without a degree implies that it is very uncommon for someone without a degree to get into these upper-level positions to the point that they had never run afoul of this policy before now, or at least that they preferred to keep the policy rather than hire someone without a degree?


I too spend about 16 hours a week on Hacker News :)


Funny you should ask, I’m actually in the process of applying to the online CS degree completion program at CSU Monterrey Bay at this very moment. To my knowledge it’s the only online CS bachelors offered in either the CSU/UC system. [0]

If you’re a resident of California qualifying should not be an issue. See “State-based admission limitations” on the admissions requirements page if you’re a resident of another state as you may not qualify. [1]

I recommend reaching out to Kayla Rolicheck, the program advisor, to see how you qualify or if you have questions about the program. She’s been with the program since its inception and is very knowledgeable. [2]

Please feel free to reach out to me directly if you have other questions about the process. I’m by no means an expert but if I can be helpful I’m happy to answer any questions. I’ll leave a link to my email in my profile.

[0] https://csumb.edu/scd/cs-online-degree-completion-bs [1] https://csumb.edu/scd/admissions-requirements [2] tel: +1(831)582-3621; press 3 for the program


You might be able to get into a Master's program without a Bachelor's in CS, provided you can demonstrate understanding of the material. OSSU has a great curriculum for replicating that: https://github.com/ossu/computer-science

A Master's or Ph.D. will help you get into more research-oriented programs where you're working at the cutting edge. If you don't care too much about reading papers and that sort of thing, you can also get good mileage out of Udacity's AI nanodegrees: https://www.udacity.com/school-of-ai

I did the AI nanodegree a couple years ago and was able to get hired in an AI-focused role through their referral program, however I had a decade of software engineering experience to complement it so it was easier for me. If you want to focus on modern machine learning, the AI one might be a bit too general and you'd be more interested in the machine learning program.


I have an associate's in CS and think this might be the best route for me since transferring for a BS/BA might be too much time commitment. You think this is possible without a bachelor's in hand? Any recommendations?


GA Tech will not entertain applications for their OMSCS if you do not have a BS. They don't require that it be in CS, but they are quite clear that you have to have a BS to get in.

You may find other programs that have other requirements, but I'm not aware of any.


Is the OMSCS reputable? I’m actually local to GA Tech but the competition is pretty fierce for the in person programs. The online program is tempting but so is an MBA.


You can always do both. That’s what I’m doing, and it has served me well so far (just graduated from MBA with solid job placement and I have a few courses to go for OMSCS).


Definitely.

#5 in the world I think? And quite rigorous. It's a subset of the in person program -- they don't offer all the on campus classes or programs, and they don't offer the thesis option online.


Are you looking to get into a graduate program in CS? Or just move into a different field?


This hits none of your criteria, but may be useful. Oxford University offer a part-time MSc in Software Engineering. You will need to spend 10 weeks in Oxford, England, over 4 years. People can and do undertake it while living in the USA (and other European countries). It costs £25,000ish. You do not need an undergraduate degree to apply for it. You can take each module by itself for a one-off fee if you're interested in trying before you buy, and there are no entry requirements at all on doing one-off modules. If you do sufficiently well at it, you can use that to "earn your way in". You end up with a real MSc from the real Oxford. More details:

https://www.cs.ox.ac.uk/softeng/


This is indeed helpful for me. Have you done this program?


Yes


Do you recommend doing it? I'm applying to other part-time MSc CS programs right now and this looks interesting.


I learned a reasonable amount, although I suspect the course materials could be improved. Hard to improve on the prestige of a degree from Oxford though unless your backups are Stanford, Caltech, Harvard, Cambridge and MIT.


A Bachelor's in CS is not a requirement for OMSCS, just a recommendation [1]. You can still apply and maybe get with a strong application--things like good recommendations, strong past academic history, a good understanding of core material.

[1] https://www.omscs.gatech.edu/program-info/admission-criteria


Unfortunately I do not have the strong understanding of theoretical fundamentals of CS, or math. I have practical programming experience, but that's about it.

I'm looking to take the program not just for the credentials, but also to cover all of the math/CS knowledge I will need for OMSCS.


Not saying this is the best course for you, just something to consider--

If your endgoal is simply "get into AI/ML" for the fun of it (as opposed to strictly for the money), you might be better served pursuing a BS in Data Science itself. There are some online schools that offer it and they dump you straight into the fun bits you're interested in. Depending on your career ambitions that may be good enough.

You've already committed 4 years to a Bachelor's. I see you planning on another 2 for a generic CS and another 2 for a MS. You'll have wasted a lot of time and money if you only find out in year 7 that AI/ML isn't for you after all.

Regardless of what you intend to do, be wary of cost balloons with all online courses. A lot of online courses tell you it's $x for the course, but after the fact they require you to purchase subscriptions to third-party online services or new-only textbooks with software license keys. Sometimes financial aid covers that, other times not.

Best of luck!


Not sure if this is exactly what you're looking for, but Penn actually has a master's degree program for computer science specifically geared towards students who didn't study CS in their undergrad. Students in it take a mix of classes covering parts of the undergrad curriculum (but only with other MCIT students, not undergrads) and classes from the core CS master's program.

(Disclaimer: I didn't attend this program, but while an undergrad at Penn, I TA'd for a couple of professors heavily involved in the program, and some of the other TA's were MCIT students. Everyone I talked to had great experiences with the program, and the students I interacted definitely demonstrated considerable skill in computer science despite not having studied it before)

https://onlinelearning.seas.upenn.edu/mcit/


Check out Oregon State's Postbaccalaureate Computer Science Degree. https://ecampus.oregonstate.edu/online-degrees/undergraduate...

Its basically exactly what you want, an online degree geared only for Computer Science classes because you've already completed a Bachelor's.

I graduated with my Bachelor's in CS in 2012. Of the curriculum at that time I would say this: The degree gave me a very good foundational understanding of CS. The courses were mainly in C, besides the intro Java courses Freshman year. There was a course offered that gave an introduction to other languages, but didn't go too deep. There were also two Software Engineering courses that just happened to be taught by new faculty at the time and I didn't feel like they did a great job of truly capturing what it means to be a professional Software Engineer. But given all that, I still got a job at a startup in SF after graduation and I believe am a competent Software Engineer.

Also I've gone back and recruited more than a handful of graduates who are all doing very well at my current company.

However, that span of 2008-2012 was quite awhile ago. Looking at the full courses offered (https://catalog.oregonstate.edu/courses/cs/) I now see courses on Web Development, Introduction To Security, Machine Learning and Data Mining, Parallel Programming, etc.

There is also an internship program called MECOP (https://www.mecopinc.org/universities/osu) which helps place you into two 6 month internships. Not sure if this is offered through this degree path, but it is something to look into.

Hope that helps!


One big thing that's changed since you graduated is that the program is going to Python as its language of choice starting this fall. C will only be taught in one or two classes. IMO this is a mistake but one rationale coming down from the director is that a lot of programs are shifting this way and that it'll be a softer intro to CS for the newbies so there will be less washing out.

I graduated from the OSU Post Bacc program last week.


Yeah I didn't mind learning C and the two operating systems courses were both heavy into Unix and C, which really gave me an idea of what was going on under the hood.

But I would have liked that to have been complimented with more Python or Ruby or something. I ended up learning iOS for my capstone project and went to the startup to build them an app, but also was thrown into needing to understand Ruby and APIs and everything that modern web development depends on. If I had even been slightly exposed to Rails or Django in school that would have been super helpful.


Thank you very much for your reply!

One thing that concerns me - I don't see math courses within this program. I would need to learn calculus, linear algebra, probability/statistics.

Do you know if they offer those courses? Could I take them in addition to the core program, or instead of something like web development?


https://ecampus.oregonstate.edu/online-degrees/undergraduate...

Scroll to the bottom there and it talks about the math. I took up through Calc 2 in high school so I only needed to complete the discrete math course. But as it mentions, some of the upper division CS classes do require upper division math courses. OSU 100% offers the courses, though I don't know about online.


Although ML and AÍ sound very exciting the reality is that a lot of the quick wins have been largely automated today.

If you want to be ahead of the pack from a ML/AI point of view you need PhD level education. Even to get a good job, PhDs are often a requirement.

Leveraging your experience I’d focus on demonstrable, practical solutions where you tie together multiple different technologies to achieve an outcome.

Show me how you started with a hypothesis then pulled data from multiple disparate sources, combined it and washed it, created synthetic columns and applied a cutting edge technique to get to your outcome.

Be the guy that can use the tool really well. To be the guy that _invents_ the tools you’re looking at 8 years of study.


Check out the program through University of London, Goldsmiths on Coursera. I'm currently halfway through the first term. It was a little buggy at first but it is getting better. The teaching style is pretty engaging. It is about 3k USD per term and there are 2 terms per year and the program is 3 years total.

UK CS programs are a little bit lighter on math than US programs but they still try to cover quite a bit. The first term courses are:

- an introductory programming course taught using P5.js. I was initially skeptical of that approach but it turned out being a lot of fun.

- a numerical mathematics that attempts to cover pretty much everything

- web development course

- how computers work course (similar to a computer architecture course)


3K in what currency?


According to Coursera, Total cost "10,088 - 15,132" pound sterling, depending upon geographic location of student.


this is the total cost of the entire program just for clarification, not the cost of a term or a year. It was ambiguous for me since American Universities always do by term or annual cost.


sorry USD, the cost depends on what country you are in I'm pretty sure. I'm in the US. You also have to pay for the exam fees at a local university but not all classes require a final exam. The cost of the exam depends on where you do it.


I understand why a college degree may seem attractive and you surely learn something while studying for it. But I personally have never seen a need for it. I dropped out of highschool myself, studied programming on my own, got jobs; learned on the job (and studied at the same time). Never got a degree. Never had a problem getting a job. Have seen lot's of people green out of university who couldn't code their way out of a cardboard box, and lots of self-taught people who could... I wouldn't put too much value on that whole "college degree" thing. In the end it all comes down to "can you do the job" and "do you know your subject matter"? How you learned it doesn't really matter. All that matters is whether you know it or don't know it. If someone is getting hung up on diplomas; find somewhere else to work. Formal education is seriously overrated for someone who is capable on learning on their own. In my humble opinion.


You don't absolutely have to have a BSCS to get into the OMSCS. However, without it (or something like it, or equivalent experience) you will be at a major disadvantage and will probably not be successful. So your desire is the correct one.

-Regis University has a good BSCS online program. 8 week semesters, relatively inexpensive, ABET accredited.

-Regional accreditation and ABET accreditation are the standard for a BSCS program. Don't go to any program that doesn't meet that criteria.

You don't need a degree to get into AI/ML, you can study and learn it on your own. Udacity has courses to cover the basics of CS, edX has course from MIT and Harvard, etc.


Thank you very much for your advice!

Some people recommend WGU. From what I see, WGU "is accredited by the Northwest Commission on Colleges and Universities (NWCCU), a regional accreditation". Is having NWCCU instead of ABET accreditation an issue?

Between Regis University and WGU, which one would you choose?


Regis, though I don't know much about WGU.

ABET is an engineering accreditation -- it is not the same as regional accreditation.


ABET accreditation for Computer Science undergraduate degrees is utterly pointless and should not be used as criteria for selecting a CS undergraduate program.

For example. https://cs.stanford.edu/degrees/undergrad/Considering.shtml

"Like the CS department, the EE department is no longer ABET accredited. While such accreditation is useful in certain disciplines such as civil engineering, it has no practical significance whatsoever in computer science."


Stanford doesn't really have to worry about accreditations. Their place in the academic world, especially in CS, is well established.


> I want to get a Bachelor's in CS online.

You probably don't. There is much added value in an actual university experience - in a reasonable CS department at a reasonable university at least.

> My goal is to switch careers and get into AI and Machine Learning.

In that case, getting a B.Sc. may not be the best expenditure of your time. Typically, a B.Sc. in Computer Science is more general and less focused on one subject, and also not caught up to the latest technological fashion (for better and for worse). Also, a B.Sc. is designed to help you reach a basic maturity in the field of science or engineering your studying, which you likely no longer need help with.


> You probably don't. There is much added value in an actual university experience

OP already has a bachelor’s degree, so they may have already gone through the “university experience”. I agree it’s a valuable experience to have at least once in life, but OP may be older and not have the patience or desire to go through that part again.


WGU


Yeah this the best option IMO as a college dropout who went back.

-Pay by the term not credit hour (3750~ for 6 months!) AND test out as much as you want

With this combination you could realistically have a Bachelors within a year.

I've personally completed 60 credits in 6~ months while working full time.

People also use this program to get into OMSCS.


Currently at WGU. These people actually give a damn about what they are teaching.


Depends on which mentors you get. My current one, I am not pleased with at all. Very glad I am on the last term.



There are a lot of free on-line materials today related to CS, or AI/ML. You can check out "Crash Course for Machine learning" by Google - they released all the materials that they use to train googlers about machine learning.


UBC has a 2 year BCS (Bachelor in CS) programme for people who already have a prior Bachelor's degree. It's not online but pretty much equivalent to a normal CS degree.



I have a bachelors in CS from a regular state 4-year college, and never had a problem getting hired. There's not enough good developers.

Obviously, there are better CS programs out there. If you can get into MIT, that will be the best experience of your life.


I have a degree in something entirely unrelated. Always wondering if I should bother getting a Masters in CS if I plan to stay in the field long term. Seems to only be worth it if I get into a top 5 school, and even then, it seems like a year of study might be worth more than a degree.


I disagree. Degrees matter in terms of credential signalling. I wish the world were a different way, but degrees are a signal that employers do NOT ignore no matter what the HN crowd says about autodidactic CS learning (even though I agree with them on that). Georgia Tech has a great online Master's program which many of my peers took which I think is more readily accessible.


On the anecdote train I studied fine arts and work as a dev in a FAANG. 5 years practical experience and a few months optimizing for leetcode. Nobody seemed to care about my degree and getting final rounds was easy enough.


Good fore you. Agree that practice is the key to success in programming!


What is your budget


You don't need another bachelor's. That would involve ~4 years full-time work including general education requirements. Just take the math/CS prereqs you need and apply to whatever master's program you want. Lots of state schools allow adults to take undergrad classes for relatively cheaply. There are also online courses at Harvard Extension School and other universities that you could take remotely.


This is not necessarily true. Oregon State's CS postbac only requires in-major classes. I did mine in three years, mostly part-time, including eleven months off for internships (so more like two). My first bachelor's was completely unrelated to tech.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: