Decent online school for programming?

arigo

Limp Gawd
Joined
Feb 1, 2005
Messages
153
I am humoring the idea of becoming a professional programmer, and I was wondering if there were any decent online schools for such a thing. I would want a teacher that looked at my code and gave me feedback. I do not want to just take tests and be graded on them for some stupid superficial piece of paper - that's worthless to me.

I am primarily interested in back end stuff. My current language preferences are C++ and python, but I'm not stuck on anything.

Thanks.
 
What level are you at?

You could hang out on IRC and help people out there and ask for advice on code. You could also play around on github and try to answer (and ask) questions on StackOverflow.

For specific advice you'll probably want to play around with whatever you're interested in, whether it's game programming or web apps or what not.
 
You would be far better off getting an internship somewhere (I am assuming you are college age)
Colleges won't teach you much practical coding, especially online college
 
You would be far better off getting an internship somewhere (I am assuming you are college age)

I have never in my life heard of a programming/IT/software development internship (in the US, at least) that doesn't verify that you are enrolled at an accredited university before allowing you to start the internship, so that won't be of any help to him unless he's already enrolled in some sort of program....and most internships won't take students of online programs.

Colleges won't teach you much practical coding,

No, but they will (assuming they're not a terrible school) teach you the underlying mathematics and computer science, which is without question far, far more important and useful than learning 'practical coding' if one's goal is to become a professional. Developing practical skills from this foundation is not difficult if you have approached and learned the concepts properly, and you'll be better able to maintain and adapt these practical skills with a strong underlying understanding.

especially online college

I would argue that online college represents the worst of both worlds: Paying for the expense of a guided, structured, organized program without the benefit of that guidance, structure and organization. If you're capable of succeeding and truly learning from an online program, you should be capable of simply learning these things on your own using books and other resources, including online peers. Thus, why burden yourself with the expense?
 
College is a long and boring way to learn. Jump into a book and start building something for yourself.
 
I am humoring the idea of becoming a professional programmer, and I was wondering if there were any decent online schools for such a thing. I would want a teacher that looked at my code and gave me feedback. I do not want to just take tests and be graded on them for some stupid superficial piece of paper - that's worthless to me.

I am primarily interested in back end stuff. My current language preferences are C++ and python, but I'm not stuck on anything.

Thanks.
Are there any C++ (or other programming language) user groups in your area? Seems like that is the shortest and least expensive path to getting a peer review... plus, the side effect of meeting professionals in your area, networking, etc.
 
No, but they will (assuming they're not a terrible school) teach you the underlying mathematics and computer science, which is without question far, far more important and useful than learning 'practical coding' if one's goal is to become a professional. Developing practical skills from this foundation is not difficult if you have approached and learned the concepts properly, and you'll be better able to maintain and adapt these practical skills with a strong underlying understanding.

I reviewed code produced from a "programmer" that tried to use 4(read FOUR) cookies to save a radio button choice with only 2 options. That person had a college degree from an accredited school. Since then, I've thrown out all merit of an education background. I dont even look at it when I screen resumes anymore, but I know many still do.

I honestly use to think what you said too. If I have a good foundation from my college education I should be fine! There is so much they dont teach in college that the "foundation" gives a false sense of security. In my 6 years of college, I never once heard of Dependency Injection, Inversion of Control, XSRF, DDD, etc, and those are real world concepts that should be considered when developing anything.

Unfortunately, a college degree is often what will get you the interview. I wouldn't put too much faith in the degree to actually teach you anything concretely useful for practical real world development. Like most recommend (and I wish I knew this years ago), books and self teaching is the only way to go. I wouldnt worry too much about which college you go to, as long as it's not one of those online ones.

Road map
College -> Internship -> Real job. The important part is to not rely on what you learn in College to actually prepare you for the real world. It's sad, I got a double major in CS/SE for my bachelors, and a Masters in CS, and I would say that in the past 2 months of really pushing myself down the MS programming domain, I've learned more useful information in those 2 months than the 2 whole years in my Masters Degree.

Pluralsight.com has been a goldmine for me. It teaches anything I would want to know and use in the .NET world. I've learned MVC, WCF, WPF, ADOMD, and a lot of other great technologies. Becoming a good programmer has nothing to do with the college you go to, but how you push yourself to learn the world of programming(inside and especially outside of class).
 
I don't agree that college doesn't teach you useful programming. I took classes in both electrical engineering and computer science. In EE, we did lots of circuit analysis and such, but never really learned how to make anything practical. In computer science, every class I had projects that required us to write a program that demonstrated some concept. After my 2nd year, I spent a little over a year working a co-op job and was able to jump into that and develop several applications that the business used and were very important.

I didn't go to the most expensive school, but I did go to one that has a good reputation for engineering. I definitely learned a lot of useful knowledge and even programming in school. There is still a lot to learn when you get into the "real world", college can't teach you everything, and I've gotten a lot better at designing an application's structure and architecture, but I definitely came out of college with quite a bit of ability.

My suggestions:

  • Go to college and get a degree. It will be much easier to find a job. You will find a higher paying job. You don't want your career to be limited because you don't have a degree.
  • Get involved in a co-op or internship program. Make sure the college you attend has a co-op/intern office and good relationships with companies. Graduating with experience gives you a huge advantage over other applicants and connections for future employment.
  • Realize you must have some drive to read and learn new concepts on your own. Embrace new ideas, and try to discover what's out there. Try to always learn something new.
 
I honestly use to think what you said too. If I have a good foundation from my college education I should be fine!

Well then you thought wrong, because a good foundation alone is useless. Just having that foundation and expecting it to get you places won't do you any good. It is, however, ultimately far more useful than anything else in the world when paired with good practical skill (obtained from an internship or student employment or some other means of getting experience).

There is so much they dont teach in college that the "foundation" gives a false sense of security. In my 6 years of college, I never once heard of Dependency Injection, Inversion of Control, XSRF, DDD, etc, and those are real world concepts that should be considered when developing anything.

That's because college isn't supposed to be job training. College gives you the foundation upon which to build your skills, but ultimately it's up to you to do that building, not the college.

I wouldn't put too much faith in the degree to actually teach you anything concretely useful for practical real world development.

I wouldn't either. But then, who does? Anybody with that goal in mind clearly has no clue about what education is for.
 
Actually.. there is a post-baccalaureate program at my state university(Oregon State) that I have been considering. They offer all-online course for getting a BS in Computer science that is suppose to be the same as the ones on campus. Whats more ridiculous is that you can choose to complete it in just ONE YEAR (4 terms)..

here is a link http://ecampus.oregonstate.edu/online-degrees/undergraduate/computer-science/

Personally I have a BS in Micro & Molecular Biology already but haven't been able to find a jerb so this makes more sense to me, but it looks like it might be relevant to you too.

damn I should get some sleep (2AM):D
 
Back
Top