Как наиболее правильно подойти к обучению программированию с нуля?

Некоторое время назад решил радикально сменить свою профессиональную сферу - научиться программировать. Целевая область на данный момент - веб. Окей, сказано - сделано, почитал какие языки бывают, выбрал для изучения Python. Скачал книгу М. Лутца, начал читать-изучать. Хорошо, с синтаксисом вроде проблем нет, но понимаю, что помимо знания ЯП, нужны некоторые более фундаментальные знания, надо копнуть глубже. Хорошо, погуглил, решил в качестве такого фундамента почитать SICP. Читаю - опять понимаю, что чего-то у меня в голове не хватает. Решил параллельно учить математику. Сейчас скачал книгу Р. Хаггарти по дискретной математике. Собственно план такой: сначала параллельно освоить базу по "computer science" и математике, потом уже приступить к изучению собственно программирования. Вопросы:
1) База по CS: SICP я так понял хорошая книга, что еще посоветуете фундаментального для изучения, в каком порядке?
2) Математика: дискретка я так понял строго обязательна, какие еще разделы необходимы и полезны (матан, линал, диффуры, тервер и т.д.)? С чего лучше всего начать?
3) Одобрите/осудите мой выбор книг. Что еще необходимо изучить чтобы в конечном итоге стать высококлассным специалистом? В каком порядке все это добро изучать? Ну и вообще, буду благодарен за любые советы :)

Английский язык немного знаю, но бегло читать техническую литературу не осилю, так что просьба советовать издания только на русском языке.

Немного о себе: закончил экономфак (математика всякая-разная была, но все уже давно забыто), получать второе высшее считаю нецелесообразным (слишком много времени уйдет на "лишние" предметы вроде философии), работаю (не в IT), так что свободное время сильно ограничено.
  • Вопрос задан
  • 9210 просмотров
Решения вопроса 1
Если ваша цель сменить работу и ресурсы ограничены, то может быть имеет смысл сосредоточится на более простых путях?

Питон отличный язык для обучения, но найти работу джуниором без боевого опыта на нем будет сложновато. Можно поискать веб-студии, которые разрабатывают на Питоне и предлагающие стажировку у них - это очень хороший путь.

А так для старта я бы посоветовал смотреть в сторону фронт-энда. Учить HTML, CSS и JS для начала потом можно уже выбрать серверный язык. Можно постепенно углубляться во фреймворки, автоматизацию фронт-энда, адаптивность и пр.
Работу найти намного проще. Обучение более наглядное и быстрое.
Материалов на русском просто завались.
Это все подходит, если цель именно сменить род профессиональной деятельности как можно быстрее. В любом случае придется заниматься учебой регулярно (как мне кажется не менее получаса-часа в день), но отдача от фронт-энда быстрее.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 7
@vilgeforce
Раздолбай и программист
Матан не нужен: модульная арифметика и прочие прелести дискретной математики в Web-программировании вы вряд ли встретите :-)
Ответ написан
thestump
@thestump
программист PHP
Думаю что стоит посмотреть книгу автора Кнут, и посмотреть серверный яп РНР. Позже на питон перейти или руби, если будет на то необходимость. А вообще программирования надо изучать с изучения яп ассемблер и с/с++.
Ответ написан
@OhMyNuts
советую взять таки этого же Лутца и паралельно пройти курс на Treehouse, а потом на CheckiO, причем если на Чекио начнете, то на Трихаусе будет халявка бонусом.
Ответ написан
Комментировать
@thyratr0n
Сам учился так же нифига не на околоITшной спец. Книги не читал никогда специализированные - только общетеоретические (DDD, Design Patterns etc.). Языки (PHP, Phyton) изучал по мере выполнения задач.
Проблема в изучении сразу большого числа литературы в том, что в голове образуется каша, и как ее применять на практике, далеко не всегда ясно. Так что, имхо, на книги можно смело забить и начать смотреть различные good practice и готовые проекты по различным фреймворкам/CMS, попутно стягивая их себе и пробуя "тыкаться". Так получите гораздо быстрее практические навыки. Потом можно "сухую теорию" по разработке смотреть.
Конечно, базовую теорию по языку тоже надо почитать, но на это потребуется вряд ли больше одного-двух вечеров.
Но все это при условии того, что в общем и целом понимание того, что такое программирование, присутствует. Если нет, то Turbo Pascal в помощь для изучения общих принципов алгоритмистики.
Ответ написан
Комментировать
@timur_m
Помимо всего вышесказанного, советую иногда слушать подкасты на IT тему. Например Разбор полетов, SDCast и другие. У Якова Файна (програмист из Америки) обязательно послушайте 76 выпуск, как раз по данному вопросу.
Подкасты и мотивируют, и помогают влиться в мир другой профессии.
Ответ написан
Комментировать
а мне всего 21 и я сижу парюсь, не поздновато ли мне поступать в универ it технологий (после школы не стал поступать из-за кое-каких обстоятельств).. уже год работаю it специалистом в одной компании, пришел туда как стажер, два месяца обучался, раньше работал где придется.... Автор спасибо за статью, поднял мне дух))
Ответ написан
struggleendlessly
@struggleendlessly
.net Senior developer
штмл, потом яваскрипт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы