Для многих, кто никогда не программировал, обучение программированию кажется невероятно сложной задачей. Как бы то ни было, спасибо тому огромному количеству ресурсов, которые недавно стали доступны в Интернет и являются бесплатными — самообучение программированию никогда еще не было таким простым.
Я начал изучать программирование в начале этого года, и могу сказать по своему опыту, что изучение достаточного количества материала, чтобы создать свой собственный прототип не такая уж и сложная задача, как вам кажется. В самом деле, если вы хотите иметь рабочий прототип в течение двух месяцев, не прибегая к использованию отгулов, это абсолютно выполнимая задача.
Ниже я описал простой путь от ничего не зная о разработке программного обеспечения до обладания рабочим прототипом за восемь недель, который примерно повторяет шаги, которые я выполнил.
Получение начального понимания языка программирования Python и общих методов программирования (2 выходных дня):
- Learn Python the Hard Way. Несмотря на название, это довольно простой способ, он делает изучение основных понятий очень легким, и большинство уроков займет менее 10 минут. Тем не менее, я обнаружил, что данный способ не работает для некоторых, более сложных тем, так что я рекомендую остановиться после урока 42 и двигаться дальше.
- Google’s python class. Читайте заметки и / или смотрите видео и делайте все упражнения, пока вы не будете выполнять их правильно — не подсматривая в ответы. Борясь с упражнениями, которые я постоянно делал неправильно было очень полезным для меня в качестве полученного опыта, и я узнал бы гораздо меньше, если бы я просто посмотрел на ответы и пытался убедить себя, что я понял упражнение.
Эти два ресурса немного взаимозаменяемы. Я рекомендую делать первые несколько уроков из обоих чтобы увидеть, какой вам больше нравится. После того как вы закончили один из них, просмотрите в другом те понятия, которые усвоились не в полной мере, это хороший способ получить дополнительную теорию и практику.
Получение начального понимания веб-фреймворка Django (1 выходной):
- Пройдите Django учебник.
- Удалите весь код, который вы создали в процессе выполнения шагов из учебника.
- Пройдите учебник еще раз, заново.
В первый раз я прошел учебник от начала до конца просто следуя инструкциям, шаг за шагом, без полного понимания, что каждый шаг делает, так как все было в новинку.
Во второй раз я не был так сосредоточен на новизне концепции и смог сосредоточиться на понимании того как все части взаимосвязаны.
Получение более глубокого понимания Python / общих концепций программирования (4-8 выходных дня):
- Udacity’s intro CS class. Udacity курсы, как правило, разделены на 7 сеансов занятий (2-3 часа за сеанс), которые вы можете сделать в своем собственном темпе. (Я большой поклонник педагогики Udacity и рекомендую класс среднего уровня программирования или класс веб-разработки, как последующие для прохождения в этом двухмесячном курсе обучения).
- Unit 1 of MIT’s intro CS course. Действительно полезны в обучении и на удивление легко усваиваются.
Опять же, я хотел бы рекомендовал попробовать каждый из них и посмотреть, какой вам понравится больше. Я делаю оба, но это, наверное, перебор.
Практика построения простых веб-приложений (2 выходных дня):
- Выполняйте упражнения из Django в примерах. Эти упражнения не так строго ведут ученика, как учебник Django, но они предлагают хороший способ, чтобы начать разрабатывать свои собственные простые веб-приложения.
Создайте свой прототип (2 выходных дня):
- Создание прототипа всего за 2 выходных дня? Да, вы будете смущены тем как он выглядит (я точно был), в этом весь смысл (перевод цитаты: «Если вы не смущаетесь первой версии вашего продукта, вы запустили его слишком поздно».
Вот и все. 8 недель (или меньше) и вы ушли от ничего не зная о разработке программного обеспечения до рабочего прототипа. Не так уж и сложно, так ведь?
Следующие шаги:
Само собой разумеется, что существует огромная разница между относительно беглым объемом знаний, необходимого для создания простого прототипа (в разрезе данного поста) и объемом знаний и опыта, необходимые, для того чтобы стать действительно квалифицированным инженером-программистом.
P.S. Ниже приведены несколько другие потенциально полезные ресурсы — пожалуйста, оставьте ссылки в комментариях, если у вас есть предложения по другим ресурсам, которые обучают программированию:
- Stanford’s intro CS courses
- Stanford’s iPhone development class
- Harvard’s intro CS course
- Codecademy
Оригинал: How I Taught Myself to Code in 8 Weeks
Автор: amakhnach