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

Я школьник (15 лет). Программированием интересуюсь три года, но занимался сам где-то года полтора, уча языки прыгая от одного к другому (от Pascal до C#). С некоторыми языками знаком неплохо, основы по крайней мере знаю. Если освежу память, смогу решить олимпиадные задачи (месяца три назад смотрел на просторах интернета задачи уровня 9-10 класса, большинство смог решить).
Хочу после этого класса идти в колледж в направлении разработки программного обеспечения, и думаю, что неплохо было бы не просто знать основы, но и быть на порядок выше знаниями, чем остальные. Многие пишут, что сначала нужно учить С, потом C++, затем С# или Java, или что нужно учить сразу С++ или Java.
Интересует подробный план (можно без сроков, но приблизительно, чтобы я смог успеть за лето, при занятии 2-3 часа в день в течении 60-80 дней закончить материал): 1-Учить до деталей один язык, или же выучить основы одного языка и перейти к другому? (указать эти языки) 2- книги по языкам (авторы + названия книг).
Заранее спасибо.
  • Вопрос задан
  • 6584 просмотра
Решения вопроса 1
TanVD
@TanVD
Джуниор C++/QT
Почитай "Алгоритмы. Вводный курс." Кормена. Очень помогает ввестись в базовые алгоритмы и структуры данных. По языкам - прекрасная книга Кернигана и Ритчи "Язык программирования Си". Потом можно почитать Таненбаума, у него целая серия книг по основным сферам технологий.
Есть ресурсы типа CodeAcademy, они помогают ввестись в синтаксис языка. (Например javascript, python. Но начинать советую всё же с С или С++).
Посмотри Stepic, там сейчас выложены лекции Computer Science Center. Лекции по алгоритмам, архитектуре компьютера и основам программирования на С++.
Очень советую начинать слушать подкасты, типа Радио-Т, devzen - начнёшь втягиваться в современную ситуацию в мире IT (тем более это не обучение и так можно отдыхать).
Так же посматривай HabhHabr(технологии), Geektimes(научно-популярное), Мегамозг(вопросы менджемента и маркетинга в IT). (И это всё гораздо веселее чем звучит тут)
Нужно научиться жить в IT (что однако не означает, что нужно непременно бросить читать любимого Шолохова), когда твоя учёба будет занимать не 2-3 часа в день, а все 14 часов бодрствования.
На тему подробного плана. Я в 10 классе занимался так:
1) Разбирал язык Си по книге Кернигана и Ритчи
2) Смотрел лекции по Си на 100ege (прекрасной заменой могут стать лекции stepic)
3) Попиливал свои проекты, например шифровал текст обычным XOR, составлял словари частотности из текстов, даже писал проверялку орфографии в словах.
4) Почитывал книгу Кормена.
Если найдёшь проект, интересный тебе, сразу станет легче изучать. Из-под палки вряд ли что получится.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
ArthurG
@ArthurG
Наиболее оптимальным языком считается Python, поэтому рекомендовать буду относительного него.

Курсы:
  1. Intro to Computer Science — тут самые основы.
  2. How to Use Git and GitHub — это опционально, но в будущем сильно поможет.
  3. Developing Scalable Apps in Python — это уже в специализацию веб разработки, если душа ляжет.

Удачи!
Ответ написан
Комментировать
@estj
prepodavatel Vuza po background programming
Если считаешь, что надо делать проекты , то надо их делать, а книги, лекции -- это фон....

Спланируй так, -- вот 21 лекция Курячего из ВМИК МГУ -- как раз, только закончились, и там не
только пайтон , но и разработка на нем ... и пайгейм есть, и джанго, и гит, и сфинкс и ....

www.uneex.ru/LecturesCMC/PythonIntro2014
или на ютубе смотришь ....

Первый месяц слушаешь все лекции (по -2-3 раза), можешь скачать и потом пропускать на скорости
где-нибудь в полтора раза быстрее, но с конца месяца начинаешь проект - и это обязательно и потом,
уже именно по проекту и будешь специализироваться , а не по языку...

Направлений программирования - много -- от параллельного (если есть нвидиа карточка , то CUDA тебе как флаг тебе в руки) , если гаджетовое - то для роботов или смартфонов (тут свои технологии) -- модный наступающий мейнстрим - интернет вещей -- IoT.... , если веб, то смотри куда тянет больше (в т.ч. и пайтоновская джанго как технология может помочь)....
Главное - повторяю, проект на лето, и свой, выстраданный,
и до конца (до промежуточного финиша хотя бы)...
Ответ написан
Комментировать
djdeniro
@djdeniro
DeNet
Раз ты знаешь C++ можешь спокойно прогать на любом Cи подобном языке.(PHP, JS например), попробуй сначала написать что-нибудь на JS, потом PHP.

Если хочется что-то новое, то можешь пробовать писать на Python. Напиши на нем змейку с использованием pygame. Откроешь для себя интересные вещи:)
Ответ написан
Комментировать
Neuroware
@Neuroware
Программист в свободное от работы время
Если по C# могу посоветовать книгу Библия C#
Ответ написан
Комментировать
@potan
Функциональный программист
Рекомендую старый-добрый SICP. Очень хорошо продуманный учебник.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы