This is my first post on Daniweb so forgive me if I make any mistakes.
Introduction:
I recently graduated from Dev Bootcamp. It is an accelerated 9-12 week camp which teaches Ruby and Rails.
A traditional computer science degree will teach students algorithms, data structures etc before moving onto higher level languages. However, since the camp is so short they go on to teach Ruby and ROR directly.
At present, I have a fair bit of knowledge in Ruby, Rails, Javascript and JQuery and can write and deploy apps if I wanted to. But, I know I have only scratched the surface if I intend to become a good software developer.
Queries:
I have read a fair bit of questions of Daniweb and other websites and there seem to be 2 schools of thought:
The first is that learning a lower language like C is essential to become a good software developer and the second is that it is not and that it is irrelevant in today's world. Being an engineering graduate, I am inclined to agree with the former. However, that is not what the question is about and I do not intend to start a flame war.
In short, I am curious on how to proceed with my education:
Should I go ahead and learn about algorithms and data structures via an online course on Coursera or MIT Courseware or should I start off by learning the C programming language from scratch and then move on to algorithms and data structures? The reason I am leaning towards the latter is because many of the online algorithm courses require a basic understanding of C.
Another option would be to continue to build Rails apps and get better at it with practise completely ignoring the fundamental CS concepts.
Eventually, I would like to develop in higher level languages. If I decide to go forward with learning C, at what point should I stop and switch back to developing apps in higher level languages (Ruby with Rails)?
Format: I do not want this topic to be closed because this is a genuine concern and with the amount of information and various schools of thought available on the internet I seem to have reached a point of 'paralysis by analysis'. I know my queries are kind of open ended but please try and keep this thread clean.
A recommended format of a response would be:
I think you should do **** to move forward with your education because ****. Some recommended resources are ****.
If you decide to learn C, you should learn until ****.
Thanks a lot guys.
Daniweb has helped me a lot in the past and I hope the responses on this thread too can help other people in the same boat as me. I'm sure there are many.