Подтянуть знания по программированию до уровня Junior C++ Developer.
Работаю программистом, в обсерватории. Но программированием занимаюсь на работе далеко не всё время (так же провожу наблюдения на телескопах).
На работе пишу на С++, используя фреймворк Qt.
В будущем (через год) планирую устроится на работу уже полноценным программистом. В этой связи хочу организовать, оформить и структурировать свои знания до такого уровня, что бы не было серьезных проблем с трудоустройством и чтобы был какой-то более-менее твердый уровень в программировании в целом и в этих технологиях в частности.
Буду рад комментариям, советам, общению.
Цели могут меняться в процессе, т.к. полной уверенности и представления пока нет.
Критерий завершения
Резюме, с указанием реальных знаний основ программирования, языка С++, фреймворка Qt, системы контроля версий Git, системой автоматизированного документирования Doxygen или Sphinx, примерами написанных программ.
Пройти тест Junior C++ Developer на сайте Quizful.
Личные ресурсы
1. небольшое количество свободного времени на работе;
2. опыт программирования на Qt C++ - нерегулярные 2 года;
3. совместно написанная программа управления телескопом (разработка продолжается);
4. участие в разработки программы обработки данных и изображений
5 опыт работы в Git;
6. есть реальные задачи.
Экологичность цели
Хочу стать хорошим специалистом, чтобы увереннее себя чувствовать, чтобы было больше возможностей заниматься тем, чем хочется. Тем, что интересно.
-
Основы программирования
Разобраться основополагающими моментами в программировании, методологии, архитектура, шаблоны проектирования, алгоритмы.
Для проверки - проходить тесты по C++, ООП, алгоритмам на сайте Quizful.
-
Алгоритмы сортировки
-
Прочитать книгу "Объектно-ориентированный анализ и проектирование" - Б. Маклафлин
-
Прочитать книгу "Совершенный код" - К. Макконнелл
-
Чистый код. Создание, анализ и рефакторинг (Роберт К. Мартин)
-
Приемы объектно-ориентированного проектирования. Паттерны проектирования (Э .Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес)
-
-
Язык C++
Прокачать знания C++ до уровня junior-разработчика.
Посмотреть открытые исходные коды программ (Notepad++, VirtualBox)
-
Ричард Лафоре - "Объектно-ориентированное программирование на C++"
-
Курс по C++ на сайте-платформе Stepic.
-
Стивен Прата - "Язык программирования C++. Лекции и упражнения"
-
Разобраться что и зачем такое STL
-
-
Фреймворк Qt
Стать уверенным пользователем библиотеки Qt, используя C++.
Понять основы проектирования приложений, используя фреймворк Qt.
Уверенно разрабатывать графический интерфейс, используя Qt.
При необходимости смотреть видео-уроки по Qt.
Посмотреть исходники OpenSource программ, написанных на Qt C++ (VLC player, Telegram, оболочка VirtualBox, Transmission).
-
Жасмин Бланшетт, Марк Саммерфилд - "Qt 4. Программирование GUI на C++".
-
Поработать с QXML
-
Попробовать QTest
-
Попробовать Qt UML
-
-
Знания для научных задач, задач по работе
Математика, обработка изображений, особенности программирования в астрономии и автоматизации.
-
Освоить библиотеку OpenCV (работает под C++ и Python) для работы с изображениями
-
Посмотреть открытые исходники программ управления телескопами
-
Разобраться с программами моделирования магнитогидродинамики.
-
-
Инструментарий разработчика
-
Посмотреть вебинар как быстро работать с Git на GeekBrains.
-
Оформить документацию по разрабатываемой программе.
-
Построить диаграмму UML классов.
-
Сделать wiki-страничку в репозитории на Bitbucket.
-
-
Дополнительно
Более-менее регулярно читать статьи на Хабре.
Пункты здесь дополнительные и необязательны.
- Курс математики на Академии Хана
- Книжка Путь программиста
- Книжка Программист-фанатик
- Для углубления в С++ книжки Б. Страуструпа
- Для углубления в Qt C++ Qt. Профессиональное программирование на C++
- Книжка Философия C++
- 2256
- 24 апреля 2017, 20:00
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением