Корректна ли данная программа обучения?

Коллеги, у меня есть цель перейти в разработку внутри банка, сейчас я работаю на позиции эникейщика, и желаемый стек технологий — Java. У меня имеется высшее образование в этой области, но мои знания и навыки устарели. После изучения различных ресурсов и общения с людьми я составил следующую программу обучения:

1. Математика (5-11 класс);
2. Информатика (7-11 класс);
3. Программирование на языке "Паскаль" (по книге "Песни о Паскале");
4. Язык "Си" (для лучшего понимания основ, как рекомендовали другие);
5. Алгоритмы и структуры данных (по книге Н. Вирта);
6. Далее — изучение стека Java.

У меня возникли следующие вопросы:

1) **Насколько оправдана предложенная программа обучения?** Нужно ли изучать "Паскаль"? Хотя книга "Песни о Паскале" написана доступным языком, у меня есть ощущение, что это немного тягомотина. А как насчет языка "Си"? Мне кажется, что как "Паскаль", так и "Си" могут оказаться просто потерей времени.

2) Если у меня есть проблемы с математикой (не умею решать задачи, абстрактное мышление слабо развито), **стоит ли мне переходить к изучению алгоритмов и структур данных без предварительного повторения математики?** Я просмотрел книгу "Алгоритмы и структуры данных" Н. Вирта, и она показалась мне совершенно непонятной, как будто на эльфийском языке.
  • 7 сентября 2024 г. 20:23
Ответы на вопрос 1
Ваши опасения и вопросы вполне обоснованы, и давайте разберёмся с каждым из них.

1. **Насколько оправдана предложенная программа обучения?**
   - **Паскаль**: В современном программировании Паскаль используется редко, и его изучение действительно может показаться устаревшим. Если вы хотите быстро перейти к актуальным технологиям, лучше уделить время языкам, которые сейчас востребованы, например, Java, Python или JavaScript. Если цель — получить базу в программировании, возможно, стоит рассмотреть изучение более современных языков.
   - **Язык Си**: Он полезен для понимания работы компьютера, языков более высокого уровня и базовых концепций программирования. Если у вас есть время и интерес, изучение Си может быть полезным, но это не обязательно. Многое, что вы сможете освоить в Java, включает базовые конструкции и подходы, которые помогут понять и другие языки.
   - **Алгоритмы и структуры данных**: Это важный раздел, и его понимание действительно требует определённого уровня математических знаний. Лучше будет изучить основные концепции без упора на Паскаль или Си.

2. **Что касается математики**: 
   - Если у вас есть сложности с математикой, имеет смысл уделить больше времени именно этой области. Алгоритмы и структуры данных часто требуют логического и абстрактного мышления, которое в свою очередь, развивается через математику.
   - Для начала вы можете изучить базовые разделы математики и основы логики, которые помогут вам в дальнейшем освоении алгоритмов. Для начала можно использовать онлайн-курсы или доступные учебники. Следует помнить, что понимание основ математики — важный шаг на пути к изучению алгоритмов.

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

1. Обновите знания по математике и логике.
2. Перейдите к языкам программирования, отталкиваясь от Java, начиная с основ.
3. Изучите основы алгоритмов и структур данных на языке Java, что даст возможность одновременно учить язык и концепции.
4. Возможно, через какое-то время вернуться к языку Си или другим языкам при необходимости.
5. Углубляйте знания, основываясь на затруднениях или интересах, которые проявятся в процессе обучения.

Удачи вам в обучении и переходе к разработке!
Похожие вопросы