
Ask HN: I want to get a Bachelor's in CS online. What are some good programs? - rayalez
Hi! I&#x27;m trying to find a good online program to get Bachelor&#x27;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&#x2F;ML Master&#x27;s program(OMSCS).<p>I&#x27;m a self-taught programmer(web developer), I have a bachelor&#x27;s degree in a field unrelated to tech.<p>I want to master the fundamentals of Computer Science, and all the Math I need to be ready for an AI&#x2F;ML Master&#x27;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.<p>Can you recommend some good options? What criteria should I use to pick the best one? What should I keep in mind?<p>I would really appreciate any help!
======
zxcvbn4038
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.

~~~
rayalez
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.

~~~
jjuhl
"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_.

------
esilver
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](https://csumb.edu/scd/cs-online-degree-completion-bs) [1]
[https://csumb.edu/scd/admissions-
requirements](https://csumb.edu/scd/admissions-requirements) [2] tel:
+1(831)582-3621; press 3 for the program

------
robbrit
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](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](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.

~~~
tranced
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?

~~~
jki275
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.

~~~
wil421
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.

~~~
stornetn
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).

------
peteretep
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/](https://www.cs.ox.ac.uk/softeng/)

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

~~~
peteretep
Yes

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

~~~
peteretep
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.

------
sgloutnikov
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](https://www.omscs.gatech.edu/program-info/admission-criteria)

~~~
rayalez
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.

------
jstarfish
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!

------
saghm
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/](https://onlinelearning.seas.upenn.edu/mcit/)

------
jeremy_k
Check out Oregon State's Postbaccalaureate Computer Science Degree.
[https://ecampus.oregonstate.edu/online-
degrees/undergraduate...](https://ecampus.oregonstate.edu/online-
degrees/undergraduate/computer-science/)

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/](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](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!

~~~
gitgreen
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.

~~~
jeremy_k
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.

------
holografix
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.

------
notus
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)

~~~
moate
3K in what currency?

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

~~~
notus
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.

------
psychometry
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.

~~~
TopRattata
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.

------
jjuhl
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.

------
jki275
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.

~~~
rayalez
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?

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

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

------
einpoklum
> 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.

~~~
latexr
> 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.

------
codewritinfool
WGU

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

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

------
inpooling
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.

------
vaastav
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.

------
HNLurker2
[https://scoalainformala.ro/](https://scoalainformala.ro/)

------
bufferoverflow
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.

~~~
ohaideredevs
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.

~~~
sorenn111
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.

~~~
aplummer
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.

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

------
1337biz
What is your budget

