Как стать автором
Обновить

Написание учебного пособия по ООП — требуется помощь хабракоммунити

Время на прочтение3 мин
Количество просмотров1.1K
В настоящее время, помимо основной работы, учусь в аспирантуре и работаю на четверть ставки ассистентом (поступал из-за армии, но сейчас эта проблема решена и продолжаю обучение/работу уже по собственной инициативе) на кафедре ИВТ в Техническом Университете (вобщем в политехе). В прошлом году вел лабораторные занятия по курсу Технология Программирования. Курс, как и лабораторные работы, мягко говоря, совсем не по ТП, а скорее С/С++, что для 5 курсе (да-да, именно 5, в этом году вроде как уже будет у 4) как минимум выглядит глупо, ибо С начинают изучать на первом курсе, и активно на нем пишут на 2-3 курсах (С++ особо не рассматривается в других учебных курсах). Отсюда, появлось желание переработать курс ТП основательно. Лекционный курс будет перерабатывать мой непосредственный коллега по основной работе (он сейчас так же является старшим преподавателем на кафедре), методическое пособие для семинаров и курса лабораторных работ (а после и сами лаб.работы) будем разрабатывать вместе.

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

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



В настоящий момент уже точно определены и согласованы (в т.ч. и с замом по учебной работе) следующие моменты:
  • Основная канва пособия — ООП
  • Все описание и примеры (а так же курс лаб. работ) будут на 2х языках — C#/.NET и JAVA (возможно это самый спорный момент, но решение по нему уже принято)
  • Все примеры рассматриваются на обоих языках одновременно (на том уровне, какой будет нужен в пособии, различия будут не столь велики)


Далее опишу некоторые моменты которые я вижу в этом пособии:
  • Прежде всего, оно должно давать только основы всего описываемого материала
  • Спектр рассматриваемого материала должен быть достаточно широк
  • Написано пособие должно быть так, чтобы не теряло актуальности длительное время (небольшие коррекции периодически, само-собой, потребуются, ибо это не фундаментальный труд)


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


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

Для чего я все это написал тут.
Я трезво оцениваю свои способности и возможности, и понимаю что самостоятельно действительно хорошее пособие я не осилю (вопрос опыта и знаний). А как писал выше — очень этого хочется. Чтобы специалистов в нашей сфере становилось больше (коллега ездил пару недель на сапорт одного проекта, пока разработчик той компании находился в отпуске, и потом рассказывал страшилки про 600 полей в одной таблице БД и т.п.). Ну и вобще, хочется повысить уровень образования на отдельно взятой кафедре по близкому мне предмету.

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

«Beta 1» пособия должна быть подготовлена к началу октября. Соответственно, к тому времени все разделы будут опубликованы тут (если это конечно будет интересно хабралюдям). Ну а потом, конечно же, и финальный вариант пособия.
Теги:
Хабы:
Всего голосов 12: ↑6 и ↓60
Комментарии8

Публикации

Ближайшие события