Very soon I will be graduating with a B.S. in Computer Information Systems. To be honest, I was pretty disappointed with my undergrad program. It ended up being a business degree with a few programming classes mixed in. Luckily, I have a good job(that I intend to stick with) and a couple years' worth of my GI bill benefits left. I would really like to get a formal education in Computer Science or at least the applied aspects of it, and so I am looking for advice on the best way to proceed. Because I have a family and a full-time job, I am only willing to attend online schools.
My coursework in CIS included two introductory programming classes that didn't go beyond simple command line programs, an introductory discrete mathematics class, and a pretty decent web application course where I made a simple application on a LAMP stack.
My problem is that I haven't done any of the following:
Algorithms/Data Structures
Calculus
Linear Algebra
Operating Systems
Intermediate programming
So, with this information in mind, what's the best way to proceed? I'm not sure if I would be prepared for a MS because I lack some of the more important classes, like algorithms. Oregon State has a BS designed for people with a Bachelor's degree in an unrelated program. Harvard has a graduate certificate in software engineering that looks good, and there might be other good options.
Can anyone recommend a good online program. Does anyone have an opinion on what the best course of action might be? Also what undergrad courses, if any, would you consider essential before starting a Master's program? Thanks.
http://www.extension.harvard.edu/professional-certificates/software-engineering-certificatesoftware-engineering-certificate
http://ecampus.oregonstate.edu/online-degrees/undergraduate/computer-science/curriculum.htm