Как развиваться новичку в c# и направлении разработки приложений под win?
Недавно я отвечал на другой вопрос: Программа «Информационное окно» для компьютеров в локальной сети?, почитайте, что я отвечал.
Возьмите маленькую задачку, и постарайтесь не просто сделать программу, но сделать правильно, используя различные технологии разработки. Для начала сделайте программку, которую можно сделать за недельку, потому что нанопрограммки за день вас уже не научат сильно.
Сделайте пару UserControl-ов - вы научитесь разделять большую программу на маленькие части.
Код этих юзер-контролов используйте с помощью вьюмодели, не пишите код в xaml.cs-файле.
Освойте свойства зависимости - что это такое, и когда они нужны, а когда можно и без них. Без них сделать хороший юзер-контрол не получится.
Создавайте события для связи между разными юзер-контролами, если по другому не обойтись.
Используйте LINQ.
Установите Resharper (бесплатный EAP).
Используйте Git, даже для своего минипроекта. Научитесь разделять задачу на подзадачи, и каждую подзадачу комитьте. (Вполне нормально делать несколько коммитов в день)
Читайте книги, статьи. Каждый день читайте хабрахабр.
Ни дня без строчки кода :) Есть только один способ стать хорошим программистом - много писать кода.
Мой ответ получился не про то, что делать прямо сейчас, а про то, как развиваться дальше. Многие из советов относятся не к разработке Win-приложений, и даже не к C#. Но уже через полгода вы станете заметно лучшим программистом.
Если вы не знаете, какую задачу начать сделать - спросите, подскажем.
Основные моменты описаны постом ваше, но я тоже от себя добавлю.
Если хотите развиваться именно в .net, то и учить надо WPF, ado.net, Entity, asp.net mvc, WCF.
Много читайте, не ограничивайтесь книгами только по С#, есть много всего, без чего не обходится разработка ПО. Это патерны проектирования, процесс разработки, различные инструменты разработки, фреймворки.