C++ в МГТУ им. Н.Э. Баумана: итоги сезона 2012/2013

Подготовка начинающих программистов, как и восток, — дело тонкое. Всему и сразу научить невозможно, но и на «Hello, World!» останавливаться как-то не comme il faut. Накопленный за два прошедших семестра опыт оказался вполне успешен: программу подготовки осваивала добрая сотня студентов МГТУ им. Н.Э. Баумана. Чему же удалось научить два потока «бауманцев» и при каких начальных условиях?

Осенний семестр

Входные требования: знания C++98 / C++03 на уровне процедурного программирования.

  • Язык: C++98 / C++03 (углубленно, практика);
  • парадигмы: ООП, обобщенное программирование (практика);
  • библиотеки: std (вкл. STL), boost (практика);
  • архитектура: фундаментальные шаблоны, шаблоны Gang of Four (GoF, 20 из 23) (практика);
  • качество и методология разработки: основы рефакторинга, SQuaRE, Waterfall vs. Agile / SCRUM, SWEBoK (теория);
  • инструментарий: Eclipse IDE for C++ developers (практика);
  • социальные навыки: работа в командах от 2 до 5 чел.

Результат (видение): уравнять численность команд, усилить фазу дизайна (UML), предложить разработку GUI, познакомить с системами управления версиями (VCS) и автодокументирования кода, предоставить возможность развития коммуникативных навыков.

Весенний семестр

Входные требования: знания C++98 / C++03 на уровне базового ООП.

  • Язык: C++98 / C++03 (углубленно, практика) / C++11 (элементы);
  • парадигмы: ООП, обобщенное, функциональное программирование (практика);
  • библиотеки: std (вкл. STL), boost, Qt (практика);
  • анализ и архитектура: UML (диаграммы классов), фундаментальные шаблоны, шаблоны Gang of Four (GoF, 20 из 23), конфликты в ОО-архитектуре («гибкость — простота», CAP-теорема) (практика), «технический долг»;
  • качество и методология разработки: основы рефакторинга, комментирования и документирования кода (практика), ISO/IEC 9126, SQuaRE, Waterfall vs. Agile / SCRUM, SWEBoK (теория);
  • инструментарий разработки: Eclipse IDE for C++ developers, Qt Creator, Git & GitHub (практика);
  • инструментарий анализа и дизайна: Dia / dia2code, Evolus Pencil (практика);
  • прочий инструментарий: Doxygen;
  • социальные навыки: работа в организованных командах от 3 до 4 чел., публичная защита проекта (презентация).

Результат (видение): включить в «курс молодого бойца» элементы языка C и вопросы управления памятью, добавить в проекты на С++ поддержку уровня данных (data layer)… и готовиться писать high-load backend!

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.