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.<p>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).<p>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?<p>Thank you
I am currently a senior in computer science and from what I saw in the <a href="http://teachyourselfcs.com" rel="nofollow">http://teachyourselfcs.com</a> link, that is basically all you would need to know to get started in most sub fields of software engineering. I wouldn't expect many companies to expect you to know much more than that. I would just focus on taking your newly learned knowledge and build awesome projects. That has been key in landing the internships that I have had in the past couple years. Best of luck!