1

Этап 1

Основы программирования

2

Этап 2

Язык C++

3

Этап 3

Фреймворк Qt

4

Этап 4

Знания для научных задач, задач по работе

5

Этап 5

Инструментарий разработчика

6

Этап 6

Дополнительно

1

Этап 1

Основы программирования

2

Этап 2

Язык C++

3

Этап 3

Фреймворк Qt

4

Этап 4

Знания для научных задач, задач по работе

5

Этап 5

Инструментарий разработчика

6

Этап 6

Дополнительно

24 апреля 2017 01 января 2018
Цель завершена 31 мая 2017

Автор цели

Карьера и работа

Подтянуть знания по программированию до уровня Junior C++ Developer.

Работаю программистом, в обсерватории. Но программированием занимаюсь на работе далеко не всё время (так же провожу наблюдения на телескопах).

На работе пишу на С++, используя фреймворк Qt.

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

Буду рад комментариям, советам, общению.

Цели могут меняться в процессе, т.к. полной уверенности и представления пока нет.

 Критерий завершения

Резюме, с указанием реальных знаний основ программирования, языка С++, фреймворка Qt, системы контроля версий Git, системой автоматизированного документирования Doxygen или Sphinx, примерами написанных программ.

Пройти тест Junior C++ Developer на сайте Quizful.

 Личные ресурсы

1. небольшое количество свободного времени на работе;

2. опыт программирования на Qt C++ - нерегулярные 2 года;

3. совместно написанная программа управления телескопом (разработка продолжается);

4. участие в разработки программы обработки данных и изображений

5 опыт работы в Git;

6. есть реальные задачи.

 Экологичность цели

Хочу стать хорошим специалистом, чтобы увереннее себя чувствовать, чтобы было больше возможностей заниматься тем, чем хочется. Тем, что интересно.

  1. Основы программирования

    Разобраться основополагающими моментами в программировании, методологии, архитектура, шаблоны проектирования, алгоритмы.

    Для проверки - проходить тесты по C++, ООП, алгоритмам на сайте Quizful.

    1. Алгоритмы сортировки

    2. Прочитать книгу "Объектно-ориентированный анализ и проектирование" - Б. Маклафлин

    3. Прочитать книгу "Совершенный код" - К. Макконнелл

    4. Чистый код. Создание, анализ и рефакторинг (Роберт К. Мартин)

    5. Приемы объектно-ориентированного проектирования. Паттерны проектирования (Э .Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес)

  2. Язык C++

    Прокачать знания C++ до уровня junior-разработчика.

    Посмотреть открытые исходные коды программ (Notepad++, VirtualBox)

    1. Ричард Лафоре - "Объектно-ориентированное программирование на C++"

    2. Курс по C++ на сайте-платформе Stepic.

    3. Стивен Прата - "Язык программирования C++. Лекции и упражнения"

    4. Разобраться что и зачем такое STL

  3. Фреймворк Qt

    Стать уверенным пользователем библиотеки Qt, используя C++.

    Понять основы проектирования приложений, используя фреймворк Qt.

    Уверенно разрабатывать графический интерфейс, используя Qt.

    При необходимости смотреть видео-уроки по Qt.

    Посмотреть исходники OpenSource программ, написанных на Qt C++ (VLC player, Telegram, оболочка VirtualBox, Transmission).

    1. Жасмин Бланшетт, Марк Саммерфилд - "Qt 4. Программирование GUI на C++".

    2. Поработать с QXML

    3. Попробовать QTest

    4. Попробовать Qt UML

  4. Знания для научных задач, задач по работе

    Математика, обработка изображений, особенности программирования в астрономии и автоматизации.

    1. Освоить библиотеку OpenCV (работает под C++ и Python) для работы с изображениями

    2. Посмотреть открытые исходники программ управления телескопами

    3. Разобраться с программами моделирования магнитогидродинамики.

  5. Инструментарий разработчика

    Системы контроля версий, системы автоматизированной документации кода: Doxygen, Sphinx, инструменты построения диаграмм классов, системы управления проектами.

    1. Посмотреть вебинар как быстро работать с Git на GeekBrains.

    2. Оформить документацию по разрабатываемой программе.

    3. Построить диаграмму UML классов.

    4. Сделать wiki-страничку в репозитории на Bitbucket.

  6. Дополнительно

    Более-менее регулярно читать статьи на Хабре.

    Пункты здесь дополнительные и необязательны.

  • 2083
  • 24 апреля 2017, 20:00
Регистрация

Регистрация

Уже зарегистрированы?
Быстрая регистрация через соцсети
Вход на сайт

Входите.
Открыто.

Еще не зарегистрированы?
 
Войти через соцсети
Забыли пароль?