I've been doing mainly SQL and front-end HTML/CSS stuff for the past 4 years. I've done a quite a bit of (procedural) coding in a BASIC-like language, too. I do not have formal CS training (I have an econ degree).
Now I'm switching gears to OOP in C# .NET full-time. In order to ramp up, I've been reading about fundamental CS topics (e.g., data structures, algorithms, big-O notation) mainly on StackOverflow and Wikipedia. I've also read through sections of Code Complete 2, Refactoring, and Head First Design Patterns.
I get the feeling, however, that my approach to becoming a developer is somewhat backwards. I feel like I need to familiarize myself with the available tools in C# and .NET before I can truly benefit from learning about how best to apply them.
The part I think I'm missing is sitting down and getting familiar with the .NET framework by actually doing some programming. I need to get exposure to the day-to-day tasks that go into building a real application.
Since I don't have a mentor, I was wondering if anyone can suggest a book or website that guides beginner programmers through building a (somewhat) real .NET application as a way to teach them the fundamentals.
Thanks!