Самойлова Т.А. ПРОБЛЕМЫ WEB – ПРОГРАММИРОВАНИЯ КАК УЧЕБНОЙ ДИСЦИПЛИНЫ

advertisement
Самойлова Т.А.
г. Смоленск
Смоленский государственный университет
ПРОБЛЕМЫ WEB – ПРОГРАММИРОВАНИЯ КАК УЧЕБНОЙ
ДИСЦИПЛИНЫ
Поддержка функционирования Web-систем, имеющих в настоящее
время самого массового пользователя,
предусматривает подготовку
образовательными учреждениями большого числа специалистов для
следующих основных видов профессиональной деятельности:
- Информационное наполнение уже созданных разделов сети, т.е.
подготовка материалов к Web-публикации, их редактирование и дизайн.
- Расширение возможностей Web-систем за счет разработки новых служб
и пользовательских приложений.
- Администрирование Web-серверов.
Хотя вопросы дизайна, литературного содержания, маркетинга,
менеджмента и другие особенности Web-систем являются достаточно
актуальными, предмет нашего внимания – проблемы подготовки
специалистов по Web-программированию. Именно их важная роль в решении
трех перечисленных выше задач (информационное наполнение, расширение
возможностей и администрирование) заставляет обратить внимание на
проблемы Web-программирования как учебной дисциплины.
Рассматривая вопросы Web-программирования, необходимо обратить
внимание на стандартную для компьютерной индустрии ситуацию: наличие в
ней
общесистемной
и
прикладной
частей.
Программирование
общесистемной части включает, например, разработку новых и
модификацию уже существующих Web-серверов и Web-браузеров. Такими
разработками занимаются обычно крупные специализированные фирмы,
имеющие возможность вкладывать большие средства, как в создание
собственно программных продуктов, так и в их продвижение на рынок
программных средств.
Распределенные по многочисленным Web-узлам массивы HTMLстраниц, файлы ресурсов и прикладные программы в совокупности образуют
прикладную часть Web-системы. Именно разработка прикладной части Webсистемы является массовой деятельностью, требующей привлечения
большого количества программистов, дизайнеров, авторов Web-страниц,
редакторов и других специалистов, областью деятельности которых раньше
были (и остаются) издательское дело, кино-фото промышленность,
телевидение и реклама.
Программирование, относящееся к прикладной части Web-системы,
предусматривает:
- оформление стандартных (типичных) HTML-страниц (хотя эту работу
можно не относить к программированию, т.к. авторами HTML-страниц
могут
быть
люди
вовсе
не
знакомые
с
классическим
программированием);
- разработку сложных HTML-страниц, включающих коды JavaScript и
диалоговые формы;
- создание страниц для воспроизведения трехмерных объектов и
моделирования виртуальной реальности;
- разработку серверных сценариев для обработки (на стороне сервера)
специфических запросов от Web-клиентов.
А теперь о главном источнике методических проблем в преподавании
Web-программирования. Практически в каждой учебной дисциплине,
относящейся к программированию, должны быть отражены:
- базовые принципы (теория предмета);
- особенности современной аппаратно-программной реализации базовых
принципов;
- приемы практической работы (ремесленные навыки).
Процентное соотношение между тремя перечисленными частями
существенно зависит от целей обучения и предварительной подготовки
обучаемых. Однако в любом случае трудность постановки и последующего
преподавания практически любого курса в области программирования
связана с фантастической скоростью изменения аппаратно-программных
средств, реализующих базовые принципы. Именно эта изменчивость среды
(аппаратно-программной реализации) заставляет преподавателей вновь и
вновь пересматривать как набор, так и содержание учебных дисциплин,
обеспечивающих подготовку программистов и специалистов по
информационным технологиям. В работе по модификации и обновлению
содержания учебных курсов приходится постоянно сохранять "равновесие"
между глубиной проработки теоретических вопросов, ясностью описания
современного состояния среды реализации и практической направленностью
обучения специалиста. Другими словами, процентное соотношение между
указанными частями, при котором должно соблюдаться "равновесие",
существенно зависит от целей обучения и является проблемой номер один.
При постановке курса программирования для Web необходимо четко
разделить вопросы обучения программированию для компьютерных и
некомпьютерных специальностей. Следует учитывать, что обучаемым может
быть:
- студент учебного заведения, не специализирующийся в области сетевых
информационных технологий и программирования ("предметник");
- студент, обучающийся по специальностям, непосредственно связанным
с сетевыми информационными технологиями и программированием
(обобщенно назовем его программистом).
Студент – будущий автор Web-страниц, содержащих материалы по его
специальности
("предметник"),
может
быть
знаком
с
Webпрограммированием в объеме языка HTML и навыками работы с
современными программными средствами для автоматизации подготовки
HTML-страниц. Необходимость освоения специализированных средств для
разработки
динамических
Web-страниц,
включающих
средства
взаимодействия с пользователем (язык JavaScript, серверные сценарии и т.д.)
возникает, обычно не на этапе обучения, а в процессе будущей работы
специалиста (не профессионального программиста). Поэтому включение в
учебную программу указанных вопросов зависит от возможностей,
интересов и особенностей конкретной кафедры или факультета. Наряду с
началами Web-программирования "предметнику" нужно уделить внимание
задачам комплексного системного проектирования своих Web-страниц
(дизайн, графика, стилистика, связность документов, редактирование и т.д.).
Что касается студентов, обучающихся по специальностям,
относящимся к информационным системам, сетевым технологиям и
программированию, то Web-программирование для них должно учитывать
существование двух групп программных средств – прикладные программы и
общесистемная часть. Известно, что количество специалистов по
прикладному программированию для Web-систем существенно превышает
число программистов, занятых разработкой общесистемных средств.
Подготовка специалистов по прикладному Web-программированию требует
изучения следующих вопросов:
- Базовые понятия об Internet, включая принципы адресации и систему
протоколов.
- Локальные и глобальные сети ЭВМ; особенности реализаций
технологии "клиент-сервер" для разных ресурсов сети Internet.
- Гипертекстовая технология и ее расширения за счет мультимедийных
средств.
- Язык Web-публикаций HTML, правила и рекомендации по разработке
HTML-документов.
- Архитектура сети и динамика ее функционирования (включая
принципиальные особенности Web-серверов, Web-браузеров и обменов
между ними).
- Язык JavaScript как средство расширения возможностей HTML-страниц.
- Разработка серверных сценариев средствами PHP, движков, Java и
ASP.NET.
- Механизмы и средства связи Web-сервера с базами данных.
Подготовка специалистов по системному Web-программированию
дополнительно к перечисленным вопросам должна включать следующие
темы:
- проектирование и программирование Web-серверов и Web-браузеров;
- разработка программ автоматического поиска информации на узлах
Web-системы (Web-роботы, Web-агенты и т.д);
- администрирование Web-узлов;
- разработка
и
применение
утилит
защиты
Web-узлов
от
несанкционированных посещений, сбор статистики, организация
авторизованного доступа, шифрование информации.
Для усвоения материала курсов по Web-программированию у
студентов должна быть соответствующая предварительная подготовка.
"Предметники" – будущие авторы Web-публикаций – должны обладать
компьютерной грамотностью и общей культурой в области информационных
технологий. Требуемый набор знаний и навыков для них обеспечивает
современный курс информатики, включающий подготовку данных в
текстовых и графических редакторах, навыки работы в конкретной ОС.
Базовая предварительная подготовка для курса по прикладному Webпрограммированию должна предусматривать изучение дисциплин:
- Объектно-ориентированное программирование и алгоритмические
языки (язык Си в обязательном порядке).
- Базы данных, включая язык SQL.
- Основы операционных систем.
- Машинная графика.
Для будущих специалистов по системному Web-программированию
дополнительно к названным выше дисциплинам будут полезны курсы:
- Администрирование операционных систем и компьютерных сетей.
- Системное программирование с ориентацией на мультизадачные
операционные системы и параллельную обработку данных.
Необходимо отметить тот факт, что главным требованием, которое
предъявляют к квалифицированным Web - специалистам – хорошее знание
одной – двух технологий разработки серверных сценариев. В условиях
ограниченного времени при обучении разработке серверных сценариев
преподавателю придется сделать непростой выбор между двумя совершенно
различными технологиями, равнозначно популярными на сегодня в мире:
ASP.NET и PHP. ASP.NET – это концептуально новая технология Microsoft,
созданная в рамках идеологии NET. Ключевыми сторонами NET являются
масштабируемость, кроссплатформность, межъязыковое взаимодействие и
шаткое понятие "безопасное программирование" (safe-programming). PHP наоборот, открытая и бесплатная технология, но создать крупный проект на
PHP дорого и трудно. Теоретически под ASP.NET можно писать программы
на любом языке, для которого имеется соответствующий компилятор.
Однако на практике для создания ASP.NET-приложений используются
главным образом Visual Basic.NET и C#. Открытым в настоящее время
остается вопрос о том, какая из этих двух технологий легче в обучении и
написании приложений. На мой взгляд, ASP.NET приложения пишутся по
привычным классическим технологиям, а это в свою очередь помогает
пользователям быстро и без особых усилий и трудов перейти с разработки
«десктопных» приложений на разработку Web-приложений. Те, кто пишут на
Delphi, очень легко перейдут на ASP.NET. ASP.NET – это быстрый способ
разработки приложений, без детального понимания логики работы
приложений и различных архитектур сетей. Также хочется отметить, что
огромным плюсом ASP.NET является Visual Studio, как удобная визуальная
среда проектирования.
Именно разработка серверных сценариев является наиболее сложной
частью учебной дисциплины, но и наиболее полезной. И здесь открывается
огромное поле для работы в методическом плане. Как преподнести так,
чтобы появился интерес, и было не сложно? При наличии времени основной
упор в обучении должен быть сделан на сравнительное изучение разных
технологий,
дополненное
соответствующим
сопоставлением
сред
разработки. Такой подход не нацеливает на доскональное изучение
конкретного инструмента, но разве это является целью образования? Здесь
цель – подготовка специалистов в области компьютерных наук, а не
программистов. И задачей образования является не столько предоставление
конкретных знаний, сколько подготовка фундамента для дальнейшего
становления специалиста. Профессиональное же освоение своего
«программистского» инструмента возможно только в ходе длительной
практической работы и самообучения. В образовании акценты нужно делать
именно на тех моментах, которые могут реально пригодится в будущем.
Преподавание и изучение дисциплин "Программирование для Web"
невозможно без организации полноценного практикума, включающего
курсовую работу и лабораторные занятия по большинству из названных
выше разделов. Здесь образовательные учреждения, факультеты или кафедры
могут находиться в разных условиях и поэтому добиваться единообразия в
организации практикума нецелесообразно и невозможно. Важно отметить,
что для подготовки специалистов по Web-программированию подключение к
сети Internet только желательно. Обучать нужно Web-программированию, а
не навигации и путешествиям в глобальной сети Internet.
Несмотря на то, что в рассмотренных проблемах были учтены
основные тенденции развития Web-технологий, скорость развития этих
технологий и конкурентная борьба фирм-производителей программных
продуктов требуют от преподавателя постоянной методической работы, что
возможно только на основе регулярного повышения его профессиональной
квалификации в области Web - программирования.
Download