не зависимо от языка нужно знать основы.
-ООП, encapsulation, polymorphism, inheritance
- какие есть алгоритмы сортировок, просто названия
- паттерны проектирования (design patterns) Эрих гамма, можно для чайников.
есть как на русском так и на англ. обратить внимание на паттерн singleton, Не обязательно понять, главное на этом этапе знать что такие они есть и как называются.
- MVC паттерн model-view-controller.
- sql, что такое Relational Database, cartesian join. Как смоделировать many-2-many, one-2-many.
Подойдет база MySQL. Для практики не помешает установить локально, создать пару таблиц и поиграться с ними.
- UML. понять чем отличается aggregation от composition.
- что такое XML и JSON
- что значит клиент-сервер, многозвенная архитектура.
- service oriented architecture
Это все может занять 4 недели. 1-й курс компутер сайнс пройден.
Теперь допустим вы веб програмист php, html, javascript,
- Web2.0 что это такое, основные элементы.
- выбрать IDE. Я пользую eclipse для всего. Но больше для java. Еще есть
http://aptana.com/
- не обязательно, но скачал бы FarManager и FarColorer к нему. удобно быстро редактировать файл. для html, javascript есть синтаксическая подстветка. Так же FTP имеется.
HTML:
- нарисовать простую html страницу, поробовать выложить ее на бесплатный хостинг, по FTP.
- понять как работают теги div и span.
- немного глянуть на CSS в привязке к div и span. Поменять форму и расположение этих элементов используя только CSS.
Пока достаточно.
Javascript:
- скачать фреймворк JQuery
- сделать пустую страницу в html с текстом по середине. Превратить этот текст в бегущую строку с помощью javascript
- поменять CSS стили для div, span из предыдущего примера, но использую javascript, JQuery
- что такое closure
- поробовать canvas, нарисовать в ней квадрат и заставить его двигаться, или даже менять цвет на click.
- понять это
http://mckoss.com/jscript/object.htm
- заставить ваши примеры работать в разных браузерах. научится дебажить (debug) javascript.
(для firefox есть firebug плагин. chrome и IE имеют встроенный по F12)
Вы javascript эксперт.
по моим оценкам эта фаза на 6-8 недель.
----------
про php не могу насоветовать, может кто поможет.
финальным забегом будет нарисовать html страницу используя AJAX, php и данные полученные из БД.
Все что вы сделаете, можно будет предъявить на интервью.
Основной инструмент программиста - GOOGLE,
в базовых вопросах wikipedia дает быстрое и понятное представление, книга может оказаться более долгим и запутанным путем.
Cамая трудная стадия это начать.