1

Step 1

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

2

Step 2

Язык C++

3

Step 3

Фреймворк Qt

4

Step 4

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

5

Step 5

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

6

Step 6

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

1

Step 1

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

2

Step 2

Язык C++

3

Step 3

Фреймворк Qt

4

Step 4

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

5

Step 5

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

6

Step 6

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

24 April 2017 01 January 2018
Goal completed 31 May 2017

Goal author

Ярослав

Russia, Пятигорск

32 years old

Career & Work

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

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

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

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

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

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

 Goal Accomplishment Criteria

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

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

 Personal resources

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

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

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

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

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

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

 Goal ecological compatibility

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

  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. Дополнительно

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

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

  • 2104
  • 24 April 2017, 20:00
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?