I am a self taught developer with a shocking lack of education. I'd rather not go into the why (for fear of sounding like a sob story), but suffice it to say i'm far older than my resume would lead you to believe. Despite all of that, i am very fortunate that a position fell into my lap in a startup, and i moved my way into an engineer position, to which i'm doing alright. I've been there many years, but now, i'm looking to move on to a new job.
With that said, i feel like a CS fraud. My knowledge of computer science is woefully small, and competency i do feel i have is purely in building apps and (thankfully) writing clean code. However, i fear that clean code won't get me through an interview process. Memory management, bit shifting, algorithm design and computational cost, these are the things i'm terrible at and would love to feel competent at. So, i am attempting to fix that.
I've picked up a book about interview questions as recommended by a friend (Cracking the Code Interview, for those interested), and now i want to get a more focused understanding of computer science.
Are there any CS MOOC courses that you would recommend? I am hoping to find not only a good course, but one that will also teach me the fundamentals i'm missing. In a perfect world, it would skip much of the tedious setup that a lot of classes go through, but i suspect i may just have to bite that bullet.
I've heard good things about CS50x (on edx), but i fear it focuses to much on real world applications - something i have a fair handle on already. I need CS understanding, for interviews.
As an aside, feel free to recommend any MOOCs you think might help. I seek knowledge to fill my shortcomings.
Thanks to any replies!