Что и на чём программировать в 13 лет?

Ситуация такая : мне 13 лет , знаю на уровне не очень сложных программ Java и C# (писал чаты , небольшие игры) . На уровне хеллоуворда и калькуляторов знаю Python и C++ . Куда двигаться дальше ? На чем остановиться , на чем сделать свой выбор ? С математикой все хорошо , английский средне. Что делать , чтобы к 16-17 годам я был неплохим программистом и мог поступить в ВУЗ ? Дайте совет !
P.S Не знаете,так ли важен школьный аттестат ?(У меня с этим все хорошо :D)
  • Вопрос задан
  • 6993 просмотра
Решения вопроса 7
@Puchryamba
Студент-программист
Как мне показалось, грамотного ответа дано ещё не было. В 13 лет хочется конкретики, а тут всё вода типа "изучай какую-то абстрактную ерунду", а что конкретно для этого делать - непонятно.
Помню, как сам примерно в таком же возрасте просто не знал, куда обратиться за помощью, за тем, чтобы подтолкнули. Судя по описанному, автор сейчас подкован в программировании лучше, чем я в том же возрасте.
Так вот, если бы я вернулся в 13 лет, в первую очередь я участвовал бы во всевозможных олимпиадах. Но это не олимпиады а-ля Кит или школьные (или какие там ещё бывают?), которые проводятся раз в год, а всевозможные онлайн-олимпиады, проводящие соревнования каждую неделю. Это ко всему прочему ещё и интересно! И гораздо разнообразнее, чем просто читать книжку по олимпиадному программированию.
Хороший сайт с олимпиадными задачами на русском - Codeforces.com. Для решения допускаются все самые популярные языки, так что с теперешними вашими знаниями можно сразу включаться в состязания.
По теории хорошо бы изучать различные структуры данных и алгоритмы (да, тут я сам говорю "изучать какую-то абстрактную ерунду" xD). К сожалению, по этому поводу не могу ничего посоветовать кроме Никлауса Вирта "Структуры данных и алгоритмы", и то эту книгу нам советовала препод в вузе, а сам я её так и не открыл :) Но в целом вектор такой: изучать всякие списки, очереди, стеки, матрицы (это если ещё не знаете о них), устройство всевозможных деревьев (для начала бинарных деревьев поиска), классно было бы получить базовое представление о теории графов (о которой я слыхом не слыхивал до университета). А также различные алгоритмы сортировки, вещи наподобие алгоритма Кнута-Морриса-Пратта и многое-многое. Если всё-таки знакомиться с теорией графов, то там также имеется несметное количество алгоритмов.
Но совет: не стоит зачитываться теорией, все полученные знания необходимо применять на практике. Идеально: поставить себе какую-нибудь задачу, например написание того же калькулятора, но не просто +, -, *, /, а с учётом больших чисел (тут уже надо будет самому написать структуру, поддерживающую очень большие числа), с возможностью задания переменных (для их хранения можно использовать ассоциативные массивы), с учётом прямой/обратной польской записи выражения (узнать что это за записи такие и реализовать их) и со всевозможными другими фичами. Причём важно не ошибиться: задача должна быть такая, что вы не знаете на 100% её реализацию, но примерное смутное представление имеете.
И очень важно углубить свои познания в математике. То, что даётся как математика в школе - на самом деле мало чего стоит. Ближе к старшим классам конечно лучше, но с вузом не сравнить.
Что касается поступления в вуз: на данный момент (во всяком случае два года назад было так :D) ЕГЭ по информатике очень лёгкое, я думаю вы можете уже сейчас открыть задания (их можно взять например на reshuege.ru) и с лёгкостью решить большую часть. Так что при нормальной подготовке нет ничего невероятного в том, чтобы сдать на 100 баллов. Другое дело математика - её надо подтягивать и подтягивать. Но вообще: не знаю как обстоит дело в Москве, Санкт-Петербурге и т.п., а у нас в Краснодаре поступить было не сложно - куда сложнее удержаться. На студента в первую сессию валится много-много новой информации. Но об этом думать вам пока рано =)
Ну и да, конечно русский язык тоже надо знать: баллы по русскому также влияют на поступление.
Выше дали правильный совет изучать физику: во многих вузах на программистские специальности в качестве третьего экзамена рассматривают не информатику, а физику. Да и вообще знание физики лишним никак не будет.
И естественно без английского тоже никак, стоит попробовать читать про различные технологии программирования прямо на английском - сначала сложно, но вскоре становится довольно легко.
Получилось длинно, но надеюсь, что максимально подробно =)
Ответ написан
ThePyzhov
@ThePyzhov
iOS Ninja
Я бы не назвал математику в 13 лет математикой.
Много куда можно двигаться.
Полезно было бы позаниматься математическими олимпиадами и олимпиадами по программированию. Физика так же будет не лишней. Из олимпиад по программированию не плохо можно подучить алгоритмы.

Если из чего-то более конкретного могу посоветовать идти в сторону С++, C#, Java:
1. Изучайте ООП
2. Паттерны

Можно будет писать программки по серьезнее(освоить ту же самую Qt - для С++).
А там уже графика: WinAPI, OpenGL ну или что вам будет интересно.
Ответ написан
Комментировать
@asd111
Купи книжку с задачами по олимпиадному программированию для школьников.
И книжку на тему алгоритмы и структуры данных.
Участвуй в городских и областных олимпиадах по информатике.
Олимпиадное программирование очень хорошо развивает программистские навыки.
Из языков думаю хорошим выбором будет python или С#.
Я верю что ты сам писал чаты и простые игры, многие начинают как раз в 12-13 лет.
Ты молодец. Не останавливайся на достигнутом. У тебя все получится.
Ответ написан
petermzg
@petermzg
Самый лучший программист
В школах всегда надо программы для тестирования. А это редактор для рисования простых картинок, список вопросов и ответов, механизм предоставления результатов и т.д. Так как сейчас все уходит в веб, то это сайт.
Для разработки бери на выбор Java или C#, либо Python.
К 16 годам сделаешь, это будет твоим портфолио для трудоустройства в компании.

Школьный аттестат важен для поступления в ВУЗ.
Ответ написан
Комментировать
DanielDan0
@DanielDan0
Начинающий программист на Python и не только.
Я сам начал программировать в 10 лет на Python. Язык довольно простой, выучил за 2 месяца (не совершенно). Но большая часть материала по Python на английском, и поэтому тебе нужно подтянуть технический английский. Если хочешь быть неплохим программистом - пиши программы разного назначения, участвуй в опен-сорс проектах, читай книги и различные статьи, читай мануалы и документацию и так у тебя уже будет хорошее портфолио.
P.S. Удачи!
Ответ написан
@ASX4
Если ты серьезно это все умеешь , глупо тебе рекламировать delphi , иди в сторону java и C#/C++, сейчас мало кто в твоём возрасте подобное может, мне самому 15, я дошел до уровня java , проходя до этого паскаль и делфи. Учись , пиши интересные проги , ходи на конкурсы , представляй свои проекты , сделаешь что-нибудь крутое , поедешь в Москву на конкурс Всероссийский , займешь место , на тебя обратят внимание, и у тебя обязательно найдутся люди заинтересованные тебе , изучай математику на перед, удачи тебе.
Ответ написан
Комментировать
@ChymeNik
Прежде всего хорошо учи математику. Прорешай весь "Сканави" к 15-17 годам. Про Английский забывать тоже не стоит
Из ЯП - учи любой из C++, C#, Java, Python. Хорошо умеешь программировать на одном - без труда научишься на остальных.
На оценки в школьном аттестате можно забить. Они не имеют никакого значения. По крайней мере на сегодняшний момент
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 6
@IceJOKER
Web/Android developer
Hаучитесь пользоваться поиском.
Поищите перспективные варианты и остановитесь на том, что больше всего вам нравится

p.s. топик выглядит как хвастовство =\
Ответ написан
heksen
@heksen
на питоне
Ответ написан
Комментировать
SerJook
@SerJook
кодер
На хаскеле искусственный интеллект
Ответ написан
Комментировать
Dit81
@Dit81
Security researcher, pentester, internet-marketer
Сейчас лучше сосредоточиться на поступлении в ВУЗ и изучать, что там нужно... А уже потом начать что больше нравится... Т.к. технологии изменяются и может быть нужно будет программировать роботов, беспилотные автомобили и ИИ. А языки это дело второе. Т.к. язык это отражение образа мышления и зависит от стоящей задачи!
Ответ написан
Комментировать
@MaxLich
java developer
Как тут уже писали, нужно сначала хорошо закончить школу, хорош сдать ЕГЭ и поступить в хороший вуз по специальности. А это всё не совсем связано с программированием. Так что хорошо было бы прокачиваться в математике и информатике для начала. Ну и олимпиады будут в любом случае плюсом (и для поступления, в том числе).
Как говорится, у программисты есть две функции - собственно программировать и устраиваться на работу. И эти две вещи не сильно между собой связаны. Что нужно для прохождения собеседований, не всегда нужно для самой работы. И наоборот - если ты пишешь хорошие программы, но не знаешь общей теории и тонкостей языка, то можешь и "не добраться" до работы. То есть ты просто не пройдёшь собеседование и всё. Тут такая же аналогия: одно делать это непосредственно программировать, другое дело выполнять всё сопутствующее, чтобы собственно этим программированием заниматься. А в данном случае сопутствующее - это математика и информатика в школе, сдача выпускных экзаменов, поступление в ВУЗ (ну и учёба в ВУЗе, его окончание на хорошие оценки).
По поводу языка - точно не знаю, но если изучать джаву, то потом можно заняться андроидом. Обычно подросткам и молодым парням это нравится (программировать для андроида).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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