Hi, I am a front-end developer since 2 years freelancing for local clients. A week back I fell in love with computer internals and now want to learn CS fundamentals and become a full time software engineer. The problem is I am graduating a university with a civil engineering degree in a few months, so I want to self-learn CS and not attend another university.
So far, I have started with http://teachyourselfcs.com and have been independently auditing Berkeley and MIT courses online (from OCW and Archive.org, following their CS curriculum).
Could you give me a roadmap for how I should go about learning CS fundamentals? What books and papers should I read? How did you learn, what step and approaches did you take?
Thank you