Написание Туториала По Ооп — Нужна Помощь Habracommunity

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

В прошлом году я вел лабораторные занятия по курсу «Технологии программирования».

Курс, как и лабораторная работа, мягко говоря, вообще не на ТП, а скорее на C/C++, что для студента 5 курса (да, именно 5, в этом году похоже это будет 4-й курс) как минимум выглядит глупо, потому что C начинают изучать на первом курсе, а активно пишут за 2-3 года (в других курсах обучения C++ особо не освещается).

Отсюда и возникло желание основательно переработать курс ТП.

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

вместе.

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

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

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

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

На данный момент уже четко определены и согласованы (в том числе с заместителем по учебной работе) следующие моменты:

  • Основная схема руководства – ООП.

  • Все описания и примеры (как и ход лабораторных работ) будут на 2-х языках - C#/.

    NET и JAVA (возможно, это самый спорный момент, но решение по нему уже принято)

  • Все примеры рассматриваются на обоих языках одновременно (на том уровне, который будет нужен в руководстве, различия будут не столь велики)
Далее я опишу некоторые моменты, которые вижу в этом руководстве:
  • Прежде всего, в нем должны быть изложены лишь основы всего описываемого материала.

  • Спектр рассматриваемого материала должен быть достаточно широким.

  • Руководство должно быть написано так, чтобы оно не теряло актуальности в течение длительного времени (небольшие исправления периодически, конечно, потребуются, ведь это не фундаментальная работа)
Что я хотел бы рассмотреть в этом уроке:
  • Основы ООП (немного истории, основные принципы: абстракция, полиморфизм, инкапсуляция)
  • Область применения свойств/методов (в том числе readonly, конечно, отметим, что не во всех языках он есть)
  • Абстрактные классы и интерфейсы
  • Исключения
  • Коллекции
  • Библиотеки (пакеты/пространства имен)
  • Другие возможности языка (здесь все обсуждается, о чем стоит упомянуть, о чем лучше написать подробнее)
  • Работа с XML (мне кажется, это очень важная тема, и ее обязательно стоит затронуть, чтобы люди хотя бы знали, что DOM и SAX существуют)
  • Дизайн приложения (ассоциативные карты, функциональная спецификация, UML)
  • ООП-шаблоны
  • Рефакторинг
  • Системы командной разработки (несколько слов о CVS, SVN, BugZilla, Flyspray, GroupHub)
Еще раз хочу отметить, что «Прежде всего, здесь должны быть изложены только основы всего описываемого материала».

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

Зачем я все это здесь написал? Я трезво оцениваю свои способности и возможности и понимаю, что с действительно хорошим руководством самостоятельно мне не справиться (вопрос опыта и знаний).

И как я писал выше, я очень этого хочу.

Чтобы специалистов в нашей области было больше (коллега поехал поддерживать один проект на пару недель, пока разработчик той компании был в отпуске, а потом рассказывал страшилки про 600 полей в одной таблице базы данных и т. д.).

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

Очень хотелось бы увидеть мнения по этому вопросу в комментариях.

Предложения и пожелания, что бы вы хотели видеть в таком учебнике (если вы студенты).

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

«Бета-версия 1» руководства должна быть готова к началу октября.

Соответственно, к тому времени здесь будут опубликованы все разделы (если это конечно интересно хабралюдям).

И потом, конечно же, окончательная версия руководства.

Теги: #обучение #ООП #книга с открытым исходным кодом #Чулан

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.