Задать вопрос
Daniel4Sunrise
@Daniel4Sunrise

Как правильно выбрать путь изучения?

Всем доброго времени суток.

Сначала маленькая предыстория.

У меня сложилась довольно сложная (для меня) ситуация. Я поступил в СПБПУ (политех) на направление, связанное с программированием (кафедра телематики). Программировать мечтал класса с 9, если не раньше. Участвовал в олимпиадах по информатике, учил python, c++, c# - всего понемножку.

Но вот именно сейчас, когда уже все определилось и поступил 100% в ВУЗ, я понимаю, что мне намного интересней что-то связанное с железом, а точнее робототехника, электроника и прочее. Может быть программирование железяк то бишь низкоуровневое. А всю жизнь писать код я уже не хочу. Наверное.

Теперь к самим вопросам, а их аж целых 2.

1) Чтобы Вы посоветовали делать в данной ситуации. Понимаю, что она довольно глупая да и сам вопрос из разряда тупых, который можно загуглить. Я хотел бы попробовать себя и в программировании и в "делании что-то руками". В другой ВУЗ поступать я уже не буду - слишком большой риск + я сдавал егэ по информатике, а не по физике => для меня закрыты инженерные специальности.

2) Я составил себе маленький план и хотел бы узнать Ваше мнение: насколько он плох?

1) Поверхностное изучение С++
2) Немножко углубленное изучение С++
3) Введение в математический анализ
4) Введение в дискретную математику
5) Алгоритмы
6) Дискретные структуры
7) The C++ Programming Language - Бьерн Страуструп
8) Алгоритмы: построение и анализ - Томас Кормен

Как видно, пока я думаю только о С++ и алгоритмах. Много онлайн курсов, так как мне сначала легче услышать + увидеть, а потом лишь уже читать серьезную литературу. Страуструпа начинал читать несколько раз - не выдержал, слишком сухо для меня, как человека особо не знающего язык. Но изучать досконально эту книгу буду. Почему именно С++ не знаю. Повелся на фразу многих: "изучив С++, любой язык будет просто понять и в краткие сроки научиться писать". Хотя сам я так не думаю, так как в том же python все совершенно по-другому, вообще все. Также немного смущает, что с этим С++ дальше делать. Геймдев как я понимаю в основном, ну и десктоп.

По тематике которая меня интересует (робототехника, инженерное дело) я так и не нашел никаких особо материалов. Как я понимаю этому обучают в ВУЗе. Буду рад, если подскажете как начать изучение данной темы самому.

Спасибо огромное, если прочитали это полотнище) Благодарю за любые советы.
  • Вопрос задан
  • 1764 просмотра
Подписаться 4 Оценить 6 комментариев
Решения вопроса 1
pi314
@pi314
Президент Солнечной системы и окрестностей
Вам нужно для начала точнее определиться с собственными целями... Если цель пока просто поиграться с железом, чтоб понять, нравится или нет, то самое правильное будет спокойно продолжить получать фундаментальное образование по программированию и делать какие-нибудь DIY проекты. Если же уже понятно, что это "дело всей жизни", то придется еще много чего учить, чего на телематике наверняка не будет (по крайней мере, в нужном объеме) и без чего в низкоуровневом программировании и, особенно, робототехнике делать просто нечего. Это прежде всего физика, электротехника, схемотехника, общие принципы конструирования и разработки систем, плюс, разумеется, технологии производства (тупо уметь паять), измерений (тупо уметь пользоваться осцилографом или LA), стандартизация и т.д. и т.п. вплоть до того же всеми горячо любимого сопромата. Из программирования и математики помимо чисто фундаментальных знаний (типа алгоритмов и структур данных, которые можно учить на любом языке) тоже понадобится много конкретного, например, DSP, криптография, ассемблер, устройство компиляторов, протоколы... английский (как минимум "технический") тут даже смешно упоминать. Одним словом, будьте готовы к тому, что в таком случае Вам фактически понадобятся ДВА образования.

С чего начинать, в каком порядке и как их получать (еще куда-то поступать или учить недостающее самостоятельно) - особой роли не играет. В результате придете к тому же самому. Но хотя бы одно "официальное" образование обязательно нужно... не потому, что там чему-то конкретному научат, а потому, что там дадут возможность научиться учиться.

А вот про "всю жизнь писать код" реально улыбнуло... Как только почувствуете, что устали писать код, паять, измерять, конструировать и, главное, изучать новое - так сразу же и уходите из профессии, ибо дальше в ней делать просто нечего! :)
Ответ написан
Пригласить эксперта
Ответы на вопрос 6
nki
@nki
bezkart.ru готовая система лояльности
Не дергайтесь раньше времени. Учитесь спокойно. Еще не известно, что вам взбредет в голову ближе к окончанию универа.
А всю жизнь писать код я уже не хочу.

Ни кто вас не будет заставлять это делать. Вы в разных сферах IT сможете себя реализовать. Но важно иметь хороший фундамент.
Успехов!
Ответ написан
Комментировать
gbg
@gbg Куратор тега Электроника
Любые ответы на любые вопросы
Умение возиться с железками прекрасно ложиться на фундаментальные знания по программированию. Так что в ВУЗе плотно трамбуйте теорию, а в свободное время заведите себе pet-project. Я вот половину второго курса посвятил изготовлению самопальной ambilight.

Машина у меня была тогда с LPT-портом, так что я собрал программный ШИМ на три канала на attiny15 и посадил его прямо в корпус разъема LPT + лента из светодиодов и нехтрая программа (с применением inpout32.dll для дрыганья ногами LPT).

А в ВУЗе я в это время изучал чистейшую математику и функциональный анализ в частности.
Ответ написан
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
Матанализ и дискретная математика у вас и так будут на первом семестре, но в целом в плане вектор выбран верно. Как изучать "плюсы" подсказать не могу, разве что тут можете выбрать интересующие книги. И для начала выучите английский до уровня чтения технической литературы (догадываюсь по выбору курсов на русском).
изучив С++, любой язык будет просто понять и в краткие сроки научиться писать
Угу, особенно хорошо Хаскель и Форт коррелируют со знаниями С++.
Ответ написан
@mamkaololosha
Инжене(г)ринг везде одинаковый. В робототехнике и схемотехнике Digital signal processing и матан. Основа везде одинаковая. Просто применяется в разном порядке и разными языками. Поищите кружок робототехники. Или какой-нибудь "инкубатор" со стартапами в пределах вуза.
Ответ написан
Комментировать
@evgeniy_lm
Все просто. Не хочешь менять ВУЗ или специальность тогда добросовестно учись там где учишься, а в свободное время занимайся тем что тебе нравится. Посмотри вокруг, может где-то в ВУЗе есть что-то типа кружка робототехники или если чувствуешь в себе силы поступай параллельно в какой нибудь техникум или ПТУ (делать что-то руками в ВУЗах не учат).
PS А план твой полное дерьмо. C++ не стихотворение, его учить не надо, на нем надо писать программы
Ответ написан
@semen-pro
ИМХО, вам, сударь, надо учить не С++, а чистый С, так как микроконтроллеры чаще на нем программируют, т.к. более подходит. Ну, на эту тему много сломано копий и исписано форумов.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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