Я бы отталкивался от того, что хочется создавать, а потом выбирать под это технологии. А не наоборот: изучать технологии, а потом думать, к чему их применить.
Это и есть начальный уровень. Обычно описывается в главах книг для новичков.
Троелсен, Шилдт и т.д. + книги Data Structures and Algorithms in **** (java/c#/c++)