Эффективная организация содержания профессиональной подготовки для повышения уровня квалификаций будущих веб-программистов
Осадчий Вячеслав Владимирович д. пед. н., профессор, заведующий кафедрой информатики и кибернетики, Мелитопольский государственный педагогический университет имени Богдана Хмельницкого, 72312, Украина, Запорожская обл., г. Мелитополь, ул. Ленина, 20, +380979308618
poliform55@gmail.com
Круглик Владислав Сергеевич к. пед. н., доцент, доцент кафедры информатики, программной инженерии и экономической кибернетики Херсонский государственный университет, 73000 Украина, г. Херсон, ул. 40 лет Октября, 27 krugvs@gmail.com
Аннотация
В статье проанализированы этапы организации профессиональной подготовки будущих веб-программистов для повышения уровня их квалификации. Раскрыты профессиональные компетентности инженера-программиста. Проанализирован опыт подготовки будущих веб-программистов в университетах Украины. Освещено содержание дисциплины «Веб-программирование» для получения знаний и умений по разработке веб-приложений, рассмотрена структура учебного пособия «Основы разработки веб-приложений». В статье приведены результаты педагогического эксперимента.
The article analyzes the stages of professional training management to improve the future web developers qualifications. Disclosures professional competence of a software engineer. The experience of the future web developers preparation in the universities of Ukraine have been analysed. The content of the discipline "Web Development" for the knowledge and skills acquisition to develop web applications is enlightened , the structure of the textbook "Fundamentals of Web application development" is rewieved. The results of the pedagogical experiment also are provided.
Ключевые слова
веб-программист, сертификация программистов, уровни квалификации, веб-разработка, учебно-методический комплекс.
web programmer, programmer certification, qualification level, web development, teaching materials.
Введение
С каждым годом растет интерес выпускников средней школы к профессии программиста потому, что она одна из самых востребованных специальностей в современном обществе. Но далеко не все представляют, что нужно знать и уметь, чтобы стать высококвалифицированным специалистом в области программирования [1].
На сегодняшний день одним из самых распространенных видов программирования стало веб-программирование, которое является мейнстримом в разработке программного обеспечения. Развитие облачных вычислений, бизнес-решений на основе модели программного обеспечения как услуги (SaaS - software as a service), сервисы Google четко показывают, что современные веб-приложения могут на равных конкурировать с классическими десктоп программами, иногда даже превосходя их возможности. Интернет не только стал платформой для создания систем и приложений, но и, имея несравнимые возможности коммуникаций и организации совместной работы в сети, ввел в оборот много полезных вещей вроде клиентов мгновенных сообщений, видеозвонков, форумов, социальных сетей, многопользовательских онлайн игр, систем дистанционного обучения и тому подобное.
Конечно, такой рост услуг не мог не сказаться на потребностях рынка труда. Количество рабочих мест веб-программистов за последние годы увеличилось в несколько десятков раз. Так, например, заработная плата программистов составляет от 100$ до $15000 в месяц в зависимости от должности, позиции, языка программирования и местоположения. Начинающий программист в будущем сможет претендовать на должности руководителя группы программистов, менеджера проекта, IT-директора. Также можно перемещаться в рамках специальности, профессионально совершенствуясь [2].
Веб-программирование предусматривает не только разработку веб-приложений (программ, обеспечивающих функционирование динамических сайтов Всемирной паутины), но и выполнение функций, связанных с управлением проектом. Как следствие, в основные обязанности веб-программиста входит [3]:
- определение вместе с непосредственным руководителем целей и задач проекта, обеспечение их своевременного и качественного исполнения;
- осуществление выбора среды разработки, языков программирования, необходимого программного обеспечения;
- разработка удобного, с точки зрения навигации, интерфейса web-сервера (продуманное гипертекстовое представление страниц узла);
- разработка концепции развития веб-сервера;
- осуществление администрирования web-сервера и операционной системы, под управлением которой работает web-сервер;
- разметка HTML-документа;
- настройка web-сервера, службы удаленного администрирования, брандмауэров;
- обеспечение безопасности web-сервера;
- осуществление анализа трафика (статистики посещений);
- организация рекламы web-сервера в Интернете;
- разработка прикладных программ;
- осуществление взаимодействия с сотрудниками других отделов для выполнения совместных задач.
Следует заметить, что ввиду наличия таких специфических обязанностей, требования к веб-программистам должны выдвигаться соответствующие. Так, нами были выявлено, что в украинском сегменте при собеседовании на должность веб-программиста к кандидатам предъявляются следующие требования[3]:
- протоколы и принципы функционирования сети Интернет;
- распространенные веб-браузеры;
- язык HTML, CSS, JavaScript;
- операционные системы, под управлением которой работает веб-сервер
(*nix);
- основы веб-дизайна;
- графические программы (Adobe Photoshop);
- языки программирования (PHP, SQL, JavaScript), стандарты HTTP, сервер БД (PostgreSQL, MySQL);
- техника владения нюансами программирования в многозадачной, высоконагруженной системе;
- основы обеспечения комплексной безопасности веб-сервера;
- грамматика и стилистика русского языка;
- английский язык на уровне чтения документации.
Веб-разработка делится на две большие части: front-end и back-end разработки.
Front-end разработчики - это специалисты, которые хорошо знают web-программирование клиентской части веб-сайта. Можно сказать, что их задачей является создание привлекательного и удобного веб интерфейса, который в свою очередь является показателем качественного программного обеспечения. Также от веб-дизайна зависит количество пользователей Интернет-ресурса, что важно учитывать программисту при разработке веб-приложения. Умение правильно использовать web-дизайн является большим плюсом для разработчика. Front-end программист должен хорошо владеть HTML-разметкой, CSS, языком программирования JavaScript и фреймворком этого языка, таким как JQuery, а также должен знать основы разработки пользовательского интерфейса. Хорошему front-end программисту желательно знать и серверные языки. Это необходимо для понимания взаимосвязи клиентской части с серверной стороной, а в этом вопросе не обойтись без Ajax технологии [4].
Таким образом, выделяем основные требования работодателей к front-end разработчику:
- глубокие знания HTML, CSS, JavaScript, JQuery, HTML5 и CSS3;
- базовые знания серверных языков программирования;
- кроссбраузерная вёрстка;
- понимание Agilе-методологий разработки;
- опыт командной работы по методике SCRUM;
- свободное владение техническим английским (средний и выше среднего уровня/уровень B2-C1);
- опыт работы с системами контроля версий.
Back-end программист - это специалист в области web-программирования, который программирует и создает серверную часть web-сайта. Он обеспечивает вывод необходимого контента из базы данных в нужные участки web-сайта, автоматизирует процесс сбора информации о пользователях, защищает сайт от взлома и всевозможных DoS и DDoS атак [5].
Соответственно, основные требования работодателей к back-end разработчику такие:
- базовые знания HTML, CSS, JavaScript, JQuery;
- глубокие знания серверного языка программирования;
- опыт работы с сервером БД (PostgreSQL, MySQL и т.д.)
- свободное владение техническим английским (средний и выше среднего уровня/уровень B2-C1);
- понимание Agik-методологий разработки;
- опыт командной работы по методике SCRUM;
- опыт работы с системами контроля версий.
Классифицировать профессиональную деятельность программиста можно по следующим критериям [6] (таблица. 1):
а) уровень квалификации - Junior, Middle, Senior;
б) технологические направления - PHP, Python, Java, .Net, C++...;
в) роль в проектах - стажер, начинающий программист, программист, ведущий программист, технический лидер, аналитик, архитектор, инженер по
качеству, менеджер по качеству, специалист по связям с заказчиками, руководитель проекта.
Таблица 1.
Профессиональная компетентность в структуре личности инженера-программиста
Уровень квалификации
Опыт (знания, умения, навыки)
Качества
Направленность
Рефлексия
Стажер, начинающий / Junior
• Знания и опыт работы в определенной технологии программирования.
• Восприятие новой информации.
• Настойчивость.
• Внимательность. Ответственность.
• Способность к поиску новой информации.
• Инициативность. Умение работать в коллективе.
• Способность понимать
программы (строки кода, структуры алгоритма и данных, общее назначение программы)._
• На
профессиональную деятельность;
• Освоение новых технологий;
• Поиск
профессиональной информации и самообразование.
• Способност ь к анализу, синтезу, сравнению, сопоставлени ю,
оцениванию информации.
• Способност ь
анализироват ь собственные ошибки.
Разработчик / Middle
• Умение видеть дальше одной,
разрабатываемо й в данный момент, программы.
• Умение применять и комбинировать хорошо известные приемы программирования и типичные алгоритмы.
• Умение обобщать типичные ситуации.
• Умение модифицироват ь программу.
• Критическое мышление.
• Оперативность мышления..
• Быстрое овладение определенной предметной областью.
• Способность отлаживать программы
• На дальнейшее профессиональное развитие.
• На расширение знаний и практических навыков за счет участия в различных проектах.
• Самооценк а профессионального уровня и программа личностного профессионального самосоверше нствования.
Ведущий • Умение • Широкий • Для выполнения • Самооценка
разработ- видеть проект кругозор. сложных задач. профессионал
чик / Senior вообще. • Высокая • Высокая ьного уровня
• Умение работоспособность мотивация на • Адекватная
самостоятельно и выполнение самооценка
принять исполнительность поставленной
решение. в работе. цели.
• Умение • Способность
заранее модифицировать
определять программы.
этапы. • Умение
принимать
решения в
условиях
ограниченного
времени.
• Умение
создавать себе
рабочее место,
которое
способствует
повышению
производительност
и труда
• Внимание к
деталям,
готовность
проверить и учесть
каждую деталь
Менеджер, • Базовые • Коммуникабель- • Направленность
Лидер знания по ность на результат.
команды ведению • Лидерские • Для повышения
проектов качества престижа
Team (модель • Способность специальности
Leader управления работать в программиста.
проектами и стрессовых
спецификации ситуациях
ПО), • Умение создать
организации дружественный
работы в стиль отношений.
команде,
методам
контроля и
оценки
результатов,
управления
качеством.
Специалис • Понимание • Доброжелатель-
т по бизнес- ность.
работе с процессов и • Терпимость.
клиентами постановка • Отсутствие
(внедрение, задач, которые пренебрежительног
сопровожд автоматизирую о отношения
ение) т-ся. • Знание стандартов качества сопровождения документации • Понимать потребности пользователя • Уметь оценить удобство конкретных форм интерфейса
Архитектор • Знание различных моделей и опыт построения ПО. • Способность определить архитектуру программы. • Умение видеть задачу одновременно на разных уровнях детализации. • Умение представлять себе процесс, который проектируется в динамике. • Способность абстрагироваться от задачи и путей ее решения
Аналитик • Умение формализации, знания анализа системы, умение сформировать требования и оценить возможности • Гибкость и стратегичность мышления; • Творческие свойства мышления
Руководитель проекта • Знание управления рисками, работы с подчиненными и клиентами. • Гибкость и стратегичность мышления; • Способность работать в стрессовых ситуациях
Выбор языка веб-программирования для обучения
Существует множество языков программирования, которые применяются в веб разработке.
Клиентские языки выполняются на компьютере пользователя (клиента). Обычно клиентские языки встраиваются в HTML-код веб-страницы [7].
Самыми распространенными клиентскими языками являются JavaScript и VisualBasicScript (VBS). Для того чтобы браузер мог их понимать и выполнять, в него встроен специальный инструмент - интерпретатор.
JavaScript, разработан компанией Netscape и первоначально использовался только для браузера Netscape Navigator. В настоящее время этот язык получил очень большую популярность. VisualBasicScript (VBS) это аналог клиентского языка от компании Microsoft.
Серверные же языки выполняются непосредственно на самом сервере специальной программой. Это значит, что их работа не зависит от браузера пользователя, поскольку все вычисления будут проходить на удаленном компьютере (сервере) [7].
Наибольшую популярность, среди серверных языков получили Ruby, Perl, C#, Java, Python, PHP.
Так как языки программирования постоянно развиваются, существуют и некоторые системы их оценивания. Голландская компания TIOBE Software BV [8] -знаменитый автор рейтинга популярности языков программирования, который рассчитывается на регулярной основе (таблица 2). Создавая рейтинг популярности, TIOBE учитывает количество языковых экспертов, курсов изучения языков, количество поставщиков, которые поддерживают язык, а также количество кода, что индексируется поисковыми системами.
Таблица 2.
Рейтинг TIOBE за январь 2015.
Место в рейтинге
Java 2
C# 5
PHP 6
JavaScript 7
Python 8
Perl 9
Ruby 15
VisulBasic 17
Данные второго столбца таблица 2 свидетельствуют о том, что PHP - это один из самых популярных языков веб-программирования. PHP имеет Си-подобный синтаксис, используется в веб-программировании и имеет низкий порог вхождения. Таким образом, можно утверждать, что PHP активно используется в индустрии и лучше всего подходит для обучения веб-программированию.
Опыт подготовки будущих веб-программистов в университетах Украины
Во многих ВУЗах Украины, существует несколько дисциплин, связанных с веб-программированием: «Основы Интернет-технологий», «Программирование
Интернет», «Веб-программирование», которые отличаются глубиной изучения и количеством часов, отведенных рабочими программами. Для примера мы рассмотрели дисциплины «Веб-программирование» в двух университетах: Херсонском государственном университете и Мелитопольском государственном педагогическом университете имени Богдана Хмельницкого. Так, на факультете физики, математики и информатики Херсонского государственного университета отведено 108 часов на аудиторную работу, из них 32 часа - на лекционные и 76 часов - на лабораторные занятия при значительном количестве часов, отведенных на самостоятельную работу (54 часа), а на факультете математики, информатики и экономики Мелитопольского государственного педагогического университета имени Богдана Хмельницкого отведено 81 часов на аудиторную работу, из них 16 часов - на лекционные и 26 часов - на лабораторные занятия при значительном количестве часов, отведенных на самостоятельную работу (39 часов).
На основании проведенного сравнительного анализа учебный материал дисциплины предлагается привести в соответствие с унифицированной рабочей программой и структурировать на две основных части: клиентское программирование и серверное программирование.
Лекционные занятия полностью охватывают весь материал, необходимый для освоения дисциплины. Изучение начинается с основ Интернет: история развития Интернет, клиент-серверное взаимодействие, браузеры, cookie. Разбираются понятия клиентского и серверного программирования. Следующим этапом изучения веб-программирования является ознакомление с языком разметки гипертекстов HTML, с историей его развития, основными тегами, необходимыми для работы, значениями их атрибутов. Рассматривается структура HTML-кода. Следующим разделом в изучении веб-программирования является язык CSS и его применение в создании HTML-страниц. Студенты слушают лекции о преимуществах стилей CSS, способах добавления стилей на страницу, рассматривают базовый синтаксис CSS, правила применения стилей, стилевые свойства и их значения. Далее, в соответствии с рабочей программой, читаются лекции по языку JavaScript и его применению при создании HTML-страниц, а именно: рассматриваются основы JavaScript, структуры данных, функции, объекты и методы JavaScript, события и взаимодействие с посетителем сайта.
Лекционные занятия, которые касаются серверного программирования начинаются с основ, рассматриваются средства настройки на сервере и у клиента. Далее лекции посвящены языку программирования PHP, где рассматриваются основы PHP, переменные, константы, структуры управления, функции, массивы, работа со строками, формами, базами данных. Отдельной темой лекционного курса является объектно-ориентированное программирование. Рассматриваются основы ООП, объявление класса, создание экземпляра класса, наследование, методы и свойства класса, конструкторы, деструкторы, интерфейс, исключения, а также библиотека SPL. Необходимым является изучение безопасности при построении веб-приложений: основные типы уязвимостей, защита от взлома. Заключительной темой курса является рассмотрение PHP-фреймворков: архитектура CMF-системы, ModelView-Controller, Code Igniter, Zend Framework, Yii Framework, Cakephp.
Лабораторные работы имеют типичную для такого вида работ структуру: название, цель, литература, краткие теоретические сведения, пошаговая инструкция, снабженная по необходимости графическим материалом, вопросы для самопроверки. Инструкции построены таким образом, что задания последующей лабораторной работы основываются на выполнении предыдущей. В процессе выполнения лабораторных работ студенты индивидуально или в группах создают проекты, во время работы с которыми знакомятся с основами работы с библиотекой jQuery и методами валидации введённых данных в HTML-форму, создают серверную логику,
используя PHP и MySQL, изучают SPL Framework. Лабораторные работы, а именно проекты студента, идут в личное портфолио.
Задания для самостоятельной работы содержат теоретический материал, который не был рассмотрен на лекциях, а также практические задания, позволяющие студенту развить навыки, сформированные на лабораторных занятиях.
Наше исследование мы проводили со студентами специальности 6.040302 Информатика, в соответствии с которой они получают квалификацию специалист по информационным технологиям и смогут работать: техником-программистом; специалистом по информационным технологиям; специалистом по разработке и тестированию программного обеспечения; преподавателем-стажером.
Согласно образовательно-квалификационной характеристике данного направления подготовки специалист в сфере веб-программирования должен уметь:
- разрабатывать модель и структуру Интернет-сервера, используя технологии распределённых приложений;
- проектировать информационные веб-ресурсы с интеграцией внешних данных и программных продуктов с помощью технологий Java, Perl, PHP и т.д.;
- владеть знаниями о распространённых протоколах Интернет;
- владеть основами веб-дизайна;
- владеть методами защиты информации в Интернет-ресурсах;
- владеть основами Интернет-технологий и методами администрирования Интернет-серверов, разработки и поддержки информационного портала Интернет, веб-интерфейсов;
- уметь разрабатывать программное обеспечение для локальных компьютерных сетей, Интернет-серверов, информационных порталов Интернет, веб-интерфейсов;
- уметь настраивать и обслуживать программное обеспечение Интернет-серверов, информационных порталов Интернет, веб-интерфейсов [9].
Вместе с тем, стойкая тенденция уменьшения аудиторного времени ставит перед высшим образованием серьезную проблему, связанную с недостаточной профессиональной подготовкой студентов после окончания ВУЗа. Кроме того, программист должен постоянно повышать свою квалификацию через практику. Как известно, одним из главных факторов подготовки качественного специалиста является наработка практического опыта не менее 10000 часов по выбранному направлению [2]. Только в этом случае он наберется практического опыта и сможет решать поставленные перед ним задачи.
Один из путей решения данных проблем заключается в повышении мотивации при изучении веб-программирования, которая должна рассматриваться наравне с материальной заинтересованностью. Кроме того, содержание дисциплины «Веб-программирование», которая изучается студентами на этой специальности, должно быть сориентировано на сертификацию знаний и соответствовать базовому уровню знаний, умений и навыков при работе с современными технологиями в сфере веб-программирования с ярко выраженной практической направленностью и соответствовать требованиям рынка труда.
В результате прохождения курса «Веб-программирование» студент должен получать опыт работы с основными веб-технологиями, необходимые знания и навыки для подготовки к экзамену для сертификации, а также должен подготовить свой проект для портфолио.
Сертификация знаний и умений будущих программистов
Сегодня высшее образование уже не может стать стопроцентной гарантией успешного трудоустройства, особенно это касается 1Т-специалистов.
Дополнительные сертификаты, подтверждающие квалификацию в той или иной предметной области, повышают шансы на популярность среди работодателей [10].
Знания, которые предлагает классическое высшее образование, все меньше соответствуют реальным требованиям рынка труда индустрии информационных технологий. Такое положение дел в первую очередь связано со скоростью развития IT.
В сфере веб-программирования существует несколько показателей компетентности, опыта и знаний. Одним из них является сертификат по конкретному направлению, который можно получить в соответствующих центрах сертификации.
Под сертификацией программистов понимается подтверждение соответствия их квалификации тем требованиям, которые связаны с выполнением определенных задач в области компьютерных и сетевых технологий. Сертификат с подтверждением квалификации IT-специалиста выдается органом или организацией, проводившими сертификацию. Программисты должны сейчас владеть достаточно большим объемом знаний, чтобы быть как можно более универсальными и уметь решать любые поставленные задачи. Сертификация программистов представляет собой стандарты, применяемые для оценки профессионального уровня и качества знаний IT-специалиста. Естественно, наличие конкретного сертификата не означает 100% получение работы в соответствующем направлении, однако, наличие данного документа может во многом помочь при трудоустройстве и дальнейшей работе, а именно [10]:
1. Процесс подготовки к экзаменам помогает сфокусироваться на изучении конкретных направлений программирования и развитии соответствующих навыков на основе систематического подхода.
2. Задания, изложенные в сертификационных экзаменах, предполагают наличие соответствующих знаний и умений. В этом аспекте претендент на получение сертификата повышает свою квалификацию и становится более конкурентоспособным.
3. Наличие сертификата имеет определенные преимущества при трудоустройстве по отношению к другим кандидатам на должность, которые сертификацию не проходили. При этом стоит отметить, что опыт работы все равно имеет больший удельный вес.
4. Некоторые серьезные компании требуют от своих сотрудников обязательной сертификации и наличия соответствующего сертификата. При этом наличие конкретного сертификата зависит от предпочтений и требований самого работодателя.
5. В ряде случаев факт наличия сертификата в конкретном направлении позволяет получить больший оклад или более высокую должность.
6. Наличие сертификата высокого уровня приносит уважение среди коллег.
Существует несколько видов сертификации программистов в данном
направлении, например:
1. Сертификация по библиотеке ITIL (библиотека, описывающая лучшие из применяемых на практике способов организации работы подразделений или компаний, занимающихся предоставлением услуг в области информационных технологий [11]). Это достаточно востребованная форма сертификации программистов, которая подтверждает не только его профессиональные знания и умения, но также и его управленческие навыки. Сертификация ITIL подтверждает квалификацию программистов, дает оценку их способностям решать задачи, возникающие в процессе предоставления и поддержки информационных систем на предприятии.
2. Сертификация программистов ITSM (IT Service Management — подход к управлению и организации IT-услуг, направленный на удовлетворение потребностей бизнеса [12]). Это признанный стандарт, применяемый для оценки знаний и навыков
программистов в области управления IT-подразделениями компании. Высокими уровнями сертификации программистов является IT Service Manager, ITIL Expert и ITIL Master. Специалисты с таким уровнем сертификации высоко ценятся в любой организации.
В условиях информатизации общества и развития сети Интернет, распространяется создание On-line сертификационных центров. Создание On-line сертификационного центра предусматривает свободное (семь дней в неделю, двадцать четыре часа в сутки) нахождение центра в сети Интернет и прохождение контроля знаний для получения сертификата в любой отрасли. On-line сертификационный центр имеет те же значения, что и региональный, а именно [13]:
1) позволяет получить документально оформленное свидетельство профессионализма;
2) отражает реальное качество знаний и полученного опыта;
3) позволяет проверить собственные силы;
4) предоставляет работодателю возможность осуществлять более качественный подбор специалистов узкой квалификации;
5) дает определенные преимущества при устройстве на работу;
6) создает благоприятные условия для осуществления карьеры;
7) способствует получению повышенного оклада;
8) повышает престиж;
9) способствует психологическому воздействию: привлекает внимание, внушает доверие и уважение;
10) свидетельствует о целеустремленности специалиста.
Кроме того, известны и такие преимущества как:
1) скорость обучения и сертификации - респондент имеет возможность за короткий срок (в зависимости от собственных возможностей: свободного времени, доступа к сети Интернет, целеустремленности и желания) пройти обучение и тестирование по определенному курсу, а после получения необходимого количества баллов заказать сертификат;
2) независимость от времени и срока обучения - клиент имеет возможность в любое время суток и за сколько угодно короткий или долгий срок пройти обучение и тестирование по курсу;
3) территориальная независимость - клиент имеет возможность не приезжать в сертификационный центр лично, чтобы пройти обучение и тестирование для получения сертификата;
4) комфортные условия обучения - клиент имеет возможность в удобных домашних условиях пройти обучение и тестирование для получения сертификата или просто проверки своих знаний по определенной профессиональной тематике;
5) интерактивная связь через электронную почту и другие средства связи.
BrainBench - лидер онлайновой сертификации. Сертификаты признаются
большинством крупных компании мира и являются свидетельством вашей квалификации. BrainBench - единственная подобная компания в мире, получившая сертификат ISO 9001 (ISO - это международная организация, занимающаяся стандартизацией). Этот сертификат подтверждает, что процесс тестирования BrainBench имеет мировое качество.
BrainBench проводит тестирование более чем в 600 категориях. Тесты самые разные, но абсолютное большинство касается компьютерных программ и технологий (Windows, Word, Excel, Internet Explorer, Netscape, Photoshop, CorelDraw, 3D StudioMax, PowerPoint, FrontPage, HTML, Java, Oracle, Linux, TCP / IP, ASP , C / C +, Cisco, Internet Security ...) [10]. Во время экзамена можно пользоваться справочной информацией, но на каждый вопрос дается всего около трёх минут. Соответственно, если суть вопроса непонятна, то искать ответ в поисковых системах нет смысла. Вопросы по большей части имеют направленность на решение практических задач.
Очень много тестов BrainBench посвящены именно веб-технологиям, что позволяет проверить качество знаний.
Также существуют сертификаты, которые сдаются в стационарных центрах. К ним, как правило, больше уважения, чем к on-line сертификационным центрам, поскольку процесс сдачи экзамена контролируется высококвалифицированными специалистами.
PHP:
Zend Technologies Ltd. - компания-разработчик ядра языка PHP предлагает сертификацию для PHP-программистов, после успешного прохождения которой программисты получают статус сертифицированного специалиста Zend, также известного как ZCE (Zend Certified Engineer) [14].
MySQL:
Корпорация Oracle проводит международную сертификацию специалистов в различных областях, связанных с технологиями Oracle. Oracle обновляет сертификационные экзамены при появлении новых версий программных продуктов. Для поддержания постоянного уровня своей квалификации специалист обязан отслеживать их появление и сдавать тесты по этим обновлённым технологиям или версиям продуктов.
Программы сертификации включают [15]:
Oracle Certified Associate (OCA) — Сертифицированный специалист начального уровня по какому-либо направлению программных продуктов и/или технологий Oracle.
Oracle Certified Professional (OCP) — Сертифицированный специалист высокого уровня по какому-либо направлению программных продуктов и/или технологий Oracle.
Oracle Certified Master (OCM) — Наивысший статус для специалиста по технологиям Oracle.
Oracle Certified Expert (OCE) — Специалист по конкретной технологии Oracle. Как правило, для получения данного статуса необходимо сдать один экзамен.
Java Script:
The Certified Internet Web Professional (CIW) - образовательная программа, которая была создана сообществом веб-дизайнеров и разработчиков в 1997 году [16].
CIW курсы и сертификаты разработаны с использованием ведущих технологических стандартов.
Есть несколько путей сертификации CIW. Наиболее популярным является Master CIW Designer, он обновляется чаще всего. Этот сертификат дается тому, кто проходит следующие три отдельных экзамена:
Site Designer;
E-Commerce Designer;
Associate Design Specialist.
Именно благодаря наличию сертификатов веб-программист может подтвердить свой уровень знаний на этапе знакомства с его резюме потенциального работодателя, что сэкономит время и даст представление о его действительном уровне знаний, учений и навыков. Таким образом, наличие сертификатов позволяет корректировать свой уровень при обучении, основываясь на независимой оценке и намного повысить свою конкурентоспособность на рынке труда.
Описание учебного пособия по дисциплине «Веб-программирование»
Основываясь на интеграции опыта преподавания и веб-программирования, в соответствии с технологиями, необходимыми для практической деятельности, было создано учебное пособие «Основы разработки веб-приложений» (авторы: Осадчий В.В., Круглик В.С. / http://books.uaconf.com/index.php/programmirovanie/152-osnovi-razrobki-veb-dodatkiv) [10].
Учебное пособие составлено на основе анализа, систематизации и обобщения большого количества документации из различных источников. Авторы попытались изложить учебный материал, предусмотренный учебной программой, в сжатой и доступной форме.
Пособие охватывает такие базовые понятия и разделы веб-программирования: клиентское программирование, серверное программирование, работа с базой данных и публикация в сети. Отдельное внимание уделено настройке программного обеспечения, как серверного, так и для разработки.
Учебное пособие содержит введение, 16 разделов, список литературы и словарь веб-программиста.
Материал излагается в следующей последовательности разделов:
1. Даются базовые сведения о языке разметки HTML. В нем представлена информация про историю развития HTML, его версии и основные теги, необходимые для работы.
2. Материал посвящен работе с CSS: рассматриваются связанные, глобальные, внутренние стили, базовый синтаксис CSS, правила применения стилей, стилевые свойства и их значения.
3. Содержится характеристика языка программирования JavaScript. Описаны выражения языка и обработка форм на javaScript.
4. Рассматривается процесс настройки программного обеспечения: php и конфигурация php.ini, а также файл конфигурации .HTACCESS.
5. Содержится обзор сред разработки, их использование и особенности.
6. Рассматриваются средства настройки на сервере и у клиента.
7. Материал посвящен языку программирования PHP. Рассмотрены основы PHP, переменные, константы, структуры управления, функции, массивы, работа со строками, формами, базами данных.
8. Отдельный раздел учебного пособия посвящен объектно-ориентированному программированию. В разделе рассмотрены основы ООП, объявление класса, создание экземпляра класса, наследование, методы и свойства класса, конструкторы, деструкторы, интерфейс, исключения и т.д.
9. Раздел посвящен основам реляционных баз данных на примере MySQL.
10. Рассмотрены возможности публикации сайтов в сети.
11. Содержится обзор систем управления контентом таких как Typo3, Drupal, Joomla и Wordpress.
12. Материал посвящен понятию фреймворка. Рассмотрены архитектура CMF-системы, Model-View-Controller, Code Igniter, Zend Framework, Yii Framework, Cakephp.
13. Предоставлено детальное описание процесса составления технического задания.
14. Рассмотрены методологии управления программными проектами.
15. Рассмотрены инструменты управления проектами, а именно: Trac, Redmine, Mantis, Google Docs, Bug Tracker.
16. Освещены вопросы сертификации и трудоустройства веб-программистов. Рассматриваются типы сертификатов, сертификационные экзамены. В этом разделе даны рекомендации по оформлению резюме и портфолио. Следует заметить, что данный раздел позволит сформировать у студентов
практическую заинтересованность и развить мотивационную составляющую процесса изучения дисциплины «Веб-программирование».
В конце каждого раздела представлен перечень рекомендованной литературы для расширенного изучения материала и вопросы для самопроверки.
При составлении учебного пособия авторы постарались собрать воедино ту информацию, которая пригодится студентам при изучении дисциплины «Веб-программирование». Представленная выше структура учебного издания охватывает большинство тем, необходимых для подготовки специалистов по веб-программированию, а также сдачи соответствующих сертификационных экзаменов.
Проведение эксперимента
Для проверки эффективности внедрения учебно-методического комплекса по дисциплине «Веб-программирование» и учебного пособия «Основы разработки веб-приложений» было принято решение провести контроль уровня знаний студентов. Экспериментальная работа была проведена на базе факультета информатики, математики и экономики Мелитопольского государственного педагогического университета имени Богдана Хмельницкого во время изучения дисциплины «Веб-программирование» студентами 2 курса специальностей «Информатика», «Информатика*» за период 2012-2014 уч. г.
Согласно учебному плану дисциплина «Веб-программирование» изучается у студентов 2-го курса специальностей «Информатика», «Информатика*» во втором учебном семестре.
Проведенная экспериментальная проверка состояла из двух этапов: констатирующего и формирующего. Во время первого этапа эксперимента было осуществлено изучение уровня знаний студентов по результатам первого периодического контроля (таблица 3).
Таблица 3.
Уровень знаний студентов по результатам констатирующего этапа _эксперимент а._
230 гр. 2012-2013 уч. г. 230 гр. 2013-2014 уч. г. 220 г 2013-2014 уч. г.
1-й периодич еский контроль (до) ниже среднего 17,4% 6,67% 13%
средний 52,2% 60,03% 60,9%
выше среднего 21,7% 20% 17,4%
высокий 8,7% 13,3% 8,7%
Исходя из результатов таблицы 3 можем сделать вывод о том, что высокий уровень знаний в 230 гр. (2012-2013 уч. г.) имеют 8,7% студентов, выше среднего был отмечен у 21,7% студентов, средний - 52,2%, ниже среднего - 17,4%. В группе 230 (2013-2014 уч. г.): высокий уровень - 13,3%, выше среднего - 20%, средний -60,03%, ниже среднего - 6,67%. В группе 220 (2013-2014 уч. г.): высокий уровень знаний у 8,7%, выше среднего - 17,4%, средний - 60,9%, ниже среднего - 13 %. Поэтому, для повышения уровня успеваемости студентов по дисциплине было решено использовать учебно-методический комплекс и учебное пособие «Основы разработки веб-приложений».
После проведения констатирующего этапа эксперимента для студентов было организовано изучение учебного материала с использованием созданного УМК и учебного комплекса.
Во время формирующего этапа была предложена следующая гипотеза исследования: использование учебно-методического комплекса и учебного пособия способствует повышению уровня успеваемости студентов по дисциплине «Веб-программирование». Целью экспериментальной работы было проанализировать влияние использования УМК и учебного пособия на эффективную организацию работы студентов по дисциплине «Веб-программирование».
Во время изучения второго учебного модуля проходил формирующий этап эксперимента, на протяжении которого изучение материала по дисциплинам происходило с использованием УМК и учебного пособия.
Каждый студент в процессе обучения должен был достичь определенного прогресса. Для проверки эффективности использования УМК и учебного пособия был проведен второй периодический контроль (таблица 4).
Таблица 4.
Уровень знаний студентов по результатам формирующего этапа эксперимента.
230 гр. 2012-2013 уч. г. 230 гр. 2013-2014 уч. г. 220 г 2013-2014 уч. г.
2-й периодич еский контроль (после) ниже среднего 0% 0% 0%
средний 30,44% 40,02% 39,1%
выше среднего 47,83% 33,33% 43,5%
высокий 21,73% 26,65% 17,4%
По результатам второго периодического контроля высокий уровень знаний в 230 группе (2012-2013 уч. г.) был отмечен у 21,73% студентов, выше среднего -47,83 %, средний - 30,44 %, ниже среднего - 0. В группе 230 (2013-2014 уч. г.): высокий уровень - 26,65% , выше среднего - 33,33%, средний - 40,02% ,ниже среднего - 0. В группе 220 (2013-2014 уч. г.) результаты были следующими: высокий уровень знаний у 17,4%, выше среднего - 43,5%, средний - 39,1%, ниже среднего - 0.
Сравнив результаты двух этапов эксперимента (рисунок 1, рисунок 2, рисунок 3), можно сделать вывод о том, что уровень успеваемости студентов повысился за счет эффективно организованной работы по дисциплине, что будет доказано ниже с помощью методов математической статистики.
60.0%-50.0%-40.0%-30.0%-2.0.0%
7.4 %
52.2%
30.44%
47.83%
21.7%
1-й периодический контроль (до)
2-й периодический контроль (до)
ниже среднего
средним выше высокии
среднего
Рис.1. Сравнение уровня успеваемости студентов 230 гр. за 2012-2013 г.
Рис. 2. Сравнение уровня успеваемости студентов 230 гр. за 2013-2014 г.
Рис. 3. Сравнение уровня успеваемости студентов 220 гр. за 2013-2014 г.
Статистической обработке подлежит сравнение показателей индивидуальной успеваемости студентов, а именно: количество баллов, полученных экспериментальной группой «до» (первый периодический контроль) и «после» (второй периодический контроль) формирующего эксперимента. Нам надлежит установить, существуют ли достаточно существенные изменения и возможно ли утверждать, что специальное воздействие имеет существенное значение.
Так как группы испытуемых небольшие, то для достижения нашей цели мы используем Т-критерий Вилкоксоиа. Согласно ему, была сформулирована нуль-гипотеза (Н 5) о том, что интенсивность сдвигов в сторону повышения уровня знаний студентов при использовании разработанного УМК («Веб-программирование») и учебного пособия («Основы разработки веб-приложений») не превышает интенсивность сдвигов уровня знаний студентов при изучении данного материала без УМК и учебного пособия. В качестве альтернативной гипотезы Н; предположим, что интенсивность сдвигов в сторону повышения уровня знаний студентов при
использовании УМК («Веб-программирование») и учебного пособия («Основы разработки веб-приложений») превышает интенсивность сдвигов уровня знаний студентов без их использования.
По результатам статистических данных мы нашли абсолютные величины отклонений. По правилам ранжирования нашли ранги этих абсолютных значений, а также эмпирическое значение критерия Т (таблица 5).
Таблица 5.
Сводные результаты статистической обработки.
Название дисциплины Кол-во респондентов (п) Тэмп р < 0,05 р <0,01
230 г 2012-2013 г 23 13 43 60
230 г 2013-2014 15 7 9 17
220 г 2013-2014 23 20,5 55 75
По таблице критических значений Т-критерия Вилкоксона для уровней статистической значимости р <0,05 и р<0,01 мы определили критическое значение Т. Для наглядности построим оси значимости для каждой дисциплины отдельно (рисунок 4, рисунок 5, рисунок 6).
Рис. 4. Ось значимости 230 г за 2012-2013 г
7 9 17
Рис. 5. Ось значимости 230 г за 2013-2014 г
Рис. 6. Ось значимости 220 г за 2013-2014 г
Во всех случаях эмпирическое значение Т-критерия попадает в зону значимости, которая тянется влево.
Поскольку Тэмп < Ткр(0,05), то главная гипотеза Д; отвергается, а альтернативная Я; принимается, то есть интенсивность сдвигов в сторону повышения уровня знаний студентов при использовании УМК и учебного пособия по дисциплине «Веб-программирование») превышает интенсивность сдвигов уровня знаний студентов в то время, когда они изучали дисциплины без использования УМК и учебного пособия.
Заключение
Изучение и анализ веб-технологий показали необходимость модификации учебно-методических комплексов в университетах и создание специализированных учебных пособий, соответствующих современным требованиям рынка труда. На основании экспериментальных данных можем рекомендовать использование учебного пособия «Основы разработки веб-приложений», которое будет полезно будущим веб-программистам в процессе профессиональной подготовки и при последующем трудоустройстве.
Можем сделать вывод, что успешное трудоустройство будущих веб-программистов зависит от выполнения ряда необходимых условий, а именно:
- базовые знания, умения и навыки для работы с веб-технологиями должны быть предусмотрены в образовательно-квалификационной характеристике и образовательно-профессиональной программе выпускника высшего учебного заведения, который обучается на конкретной специальности;
- наличие соответствующих профессионально-ориентированных дисциплин, учебных изданий и учебно-методических комплексов на основе сочетания профессиональных и образовательных стандартов;
- наличие опыта работы, причем его объем и качество, напрямую будет влиять на степень конкурентоспособности выпускника;
- наличие сертификатов, подтверждающих знания.
Прогностическим направлением исследования может быть систематический анализ рынка труда и технологий веб-разработки, адаптация под эти требования учебно-методических материалов и учебного процесса в университетах, а так же создание технологических парков, которые позволят будущим специалистам сформировать практические навыки веб-программирования непосредственно в университетах.
Литература:
1. Осадчий В.В., Осадчая К.П. Анализ проблемы профессиональной подготовки программиста и пути ее решения // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)". -2014. - V.17. - №3. - C.378-392. - ISSN 1436-4522. URL:
http ://ifets.ieee.org/russian/periodical/j ournal. html.
2. Осадчий В.В., Шаров В.С. Проблема подготовки будущих администраторов баз данных к сертификации знаний и трудоустройству // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)". - 2015. - V.18. - №1. - С. 364-376. ISSN 1436-4522. URL: http ://ifets.ieee.org/russian/periodical/j ournal. html.
3. Должностная инструкция разработчика web-сайта, должностные обязанности разработчика web-сайта, образец должностной инструкции разработчика web-сайта [Электронный ресурс]. - Режим доступа:
http ://www. rabota. ru/guide/dolzhno stnye_instruktsii/dolzhnostnaj a_instruktsij a_razrabo tchika_web_sajta_dolzhnostnye_objazannosti_razrabotchika_web_sajta_obrazets_dolzh nostnoj_instruktsii_razrabotchika_web_sajta.htm
4. Front-end разработчик [Электронный ресурс]. - Режим доступа: http://edu.cbsystematics.com/ru/education/ speciality/frontenddeveloper.
5. Back-end разработчик [Электронный ресурс]. - Режим доступа: http://edu.cbsystematics.com/ru/education/ speciality/backenddeveloper.
6. Щедролосьев Д.£. Компетентшсний тдхвд до пiдготовки iнженерiв-програмiстiв [Електронний ресурс] // 1нформацшш технологii i засоби навчання. - 2011. - Вип. 24. - №4. ISSN 2076-8184. Режим доступу: http://www.journal.iitta.gov.ua
7. Чем клиентские языки веб-программирования отличаются от серверных [Электронный ресурс]. - Режим доступа:
http://www. luksweb. ru/view_post.php?id=330.
8. We Measure Your Quality [Электронный ресурс]. - Режим доступа: http://www.tiobe.com.
9. Освiтньо-квалiфiкацiйна характеристика бакалавра з напряму подготовки 6.040302 «1нформатика». Галузь знань 0403 «Системш науки та шбернетика». - К., 2010. -32 с.
10. Осадчий В.В., Круглик В.С. Основы разработки веб-приложений: учебное пособие / В.В. Осадчий, В.С. Круглик. - М.: ИД ММД, 2012. - 540.
11. ITIL [Электронный ресурс]. - https://ru.wikipedia.org/wiki/ITIL.
12. ITSM [Электронный ресурс]. - https://ru.wikipedia.org/wiki/ITSM.
13. Установка Trac в качестве системы управления проектом для хранилища конфигурации 1С 7.7 [Электронный ресурс]. - Режим доступа: http://infostart.ru/public/16992/.
14. Zend Technologies [Электронный ресурс]. - Режим доступа: http://ru.wikipedia.org/wiki/Zend_Technologies.
15. Oracle Database 11g [Электронный ресурс]. - Режим доступа: http://education.oracle.com/pls/web_prod-plq-dad/ou_product_category.getPage? p_cat_id=163#tabs-3.
16. Explore Our Certifications [Электронный ресурс]. - Режим доступа: http://www.ciwcertified.com/