Чисто HTML учить смысла нету. Тут надо азы верстки знать. htmlbook.ru — там есть неплохие статьи, по ним можно начать.
Так же придется выбрать язык программирования, с этим довольно сложно. Я помниться PHP выбрал только потому, что о существовании других как-то и не задумывался. Да и порог вхождения достаточно низкий.
Само же программирование… Самый действенный вариант — сразу же поставить себе сверх задачу (например написание своего фреймворка или CMS на базе фреймворка (желательно своего). Написание велосипедов с последующим анализом (или с предварительным) существующих достаточно неплохо повышают опыт)
Ну а так, когда есть задача — надо пытаться разбить ее на подзадачи и решать. В конечном итоге знания сами будут появляться (посредствам гугла по большей части). Попытки что-то реализовать советую совмещать с анализом готовых решений.
Причем первые варианты можно реализовывать без использования ООП, но в конечном итоге оно само придет. Ну или же функциональное программирование, но тут уже религиозный спор.