Найти в Дзене
Простые истины

Как начать программировать?

Язык программирования этот тот же естественный язык, и как, например, с английским важно погрузиться в саму среду языка (смотреть видео, читать книги, говорить), так и здесь. Предлагаю список материалов для изучения: 1. Курсы на Stepik а) Введение в программирование (C++) https://stepik.org/course/363/syllabus Отличный курс для тех, кому не давалось программирование в школе. Задорный учитель, хорошие задания. Примечания: последние задания модулей требуют порой много времени, поэтому не стесняйтесь идти дальше, чтобы не пропало желание. б) Программирование на Python https://stepik.org/course/67/syllabus Этот курс для тех, кому нужно, чтобы всё разжевали. Тем более Python более интуитивно понятный. При этом я бы рекомендовал пройти оба курса. в) Python: основа и применение https://stepik.org/course/512/syllabus Курс является логическим продолжением предыдущего. Обязательно к изучению. Это, скажем так, тот минимум, который должен знать каждый. г) Основы статистики https://stepik.org/c
Оглавление

Язык программирования этот тот же естественный язык, и как, например, с английским важно погрузиться в саму среду языка (смотреть видео, читать книги, говорить), так и здесь. Предлагаю список материалов для изучения:

1. Курсы на Stepik

а) Введение в программирование (C++)

https://stepik.org/course/363/syllabus

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

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

б) Программирование на Python

https://stepik.org/course/67/syllabus

Этот курс для тех, кому нужно, чтобы всё разжевали. Тем более Python более интуитивно понятный. При этом я бы рекомендовал пройти оба курса.

в) Python: основа и применение

https://stepik.org/course/512/syllabus

Курс является логическим продолжением предыдущего. Обязательно к изучению. Это, скажем так, тот минимум, который должен знать каждый.

г) Основы статистики

https://stepik.org/course/76/syllabus

При чём тут статистика? При том, что является необходимым орудием каждого программиста и уж тем более тех, кто интересуется машинным обучением. Регрессия и классификация наше всё!

д) Введение в Data Science и машинное обучение

https://stepik.org/course/4852/syllabus

Автор тот же, что и предыдущего курса. Предельно понятно, легко и полезно. Изучите Pandas и познакомитесь с sklearn

е) Нейронные сети и компьютерное зрение

https://stepik.org/course/50352/syllabus

Наверное, самый крутой курс на Stepik'е. Очень просто рассказывают о важном и интересном направлении - Нейронных сетях. Авторы курса - сотрудники Samsung AI Center Moscow

2. Курсы на Courser'а от Яндекса

Основы разработки на C++: белый пояс (также есть ещё 4 пояса)

https://ru.coursera.org/learn/c-plus-plus-white

Довольно полный цикл курсов по C++ от Яндекса. Преподавателей приятно слушать, всё продумано.

3. Книги

а) Нортон - Программно-аппаратная организация компьютера IBM PC

http://read.newlibrary.ru/read/norton_piter/page0/programmno-apparatnaja_organizacija_kompyutera_ibm_pc.html

Эта книга скорее для любознательных. Не советую её изучать тем, для кого слова "стек", "флаг" совершенно незнакомыми.

б) Герберт Шилдт - C++ Базовый Курс

Достаточно интересная книга для тех, кто начинает изучать C++. В придачу к курсам на Stepik'е или Courser'е будет отлично.

в) Джеймс Г., Уиттон Д. - Введение в статистическое обучение с примерами на языке R

Для тех, кому интересно машинное обучение и Data Science. Сложно, много, но если вы осилите большую часть, считайте, что дальше идти по Data Science будет легче

4. Каналы YouTube (только на английском)

а) 3Blue1Brown

Шикарный канал, много математики - наглядной, красивой, понятной

P.S. часть видео переведено

б) Programming with Mosh

Приятный преподаватель, доступно и ярко объясняет

Заключение. План изучения

1) Начните с курсов на Stepik'е или Courser'е, параллельно читая книжку по тому же языку, который вы изучаете. Не стесняйтесь просматривать видео по несколько раз, читать комментарии или задавать вопросы на форумах

2) Придумайте цель - для чего вы изучаете программирование и в какой области вы хотите работать

3) Ставьте перед собой задачи - это придаст вашему обучению некоторый вектор. Например: "Написать Телеграм-бота, который будет ежедневно присылать картинку котика" или "Собственное приложение для изучения английского"

4) Ищите на hh, какими навыками должен владеть тот или иной IT специалист

5) Нужно писать много кода, очень много!

Буду рад, если вы поделитесь своими источниками, книгами, курсами и своим опытом! Удачи в дальнейшем изучении!