В настоящее время помимо основной работы учусь в аспирантуре и работаю ассистентом по совместительству (поступил из-за армии, но сейчас эта проблема решена и продолжаю учебу/работу по собственной инициативе) на кафедре ИКТ в техническом университете (вообще, в политехническом университете).
В прошлом году я вел лабораторные занятия по курсу «Технологии программирования».
Курс, как и лабораторная работа, мягко говоря, вообще не на ТП, а скорее на 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» руководства должна быть готова к началу октября.
Соответственно, к тому времени здесь будут опубликованы все разделы (если это конечно интересно хабралюдям).
И потом, конечно же, окончательная версия руководства.
Теги: #обучение #ООП #книга с открытым исходным кодом #Чулан
-
О Сжатии Видео — Введение
19 Oct, 24 -
Как Стать Этичным Хакером В 2022 Году
19 Oct, 24 -
Оцените Подписчика
19 Oct, 24 -
Хабр + Хабра =?
19 Oct, 24 -
Клещевой Энцефалит: Забытая Опасность
19 Oct, 24 -
Feedburner Подружился С Google Adsense
19 Oct, 24