Аннотация курса

Развитие Web-технологий является следствием и движущей силой стремительного прогресса глобальной сети. Web-технологии, являясь основой для создания инструментов кросплатформенного и кроссбраузерного доступа пользователей к ресурсам глобальной сети, во многом определяют приближённый к человеческим потребностям характер представления информации и пользовательский интерфейс современных web-сайтов.

Знакомство с ними, изучение лежащих в их основе принципов и базовых понятий, получение практических знаний в данной области, представляется достаточно интересным для начинающих исследователей в области естественных наук.  Также курс может служить основой для самостоятельного углублённого изучения отдельных технологий  для задач разработки сайтов и программных продуктов -  как создания образовательных и научных web-ресурсов, так и в интересах сторонних заказчиков.

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

Основное содержание курса включает в себя знакомство с основами HTML, CSS и отработку практических навыков программирования на языках PHP и JavaScript. Кроме того, слушатель изучит возможности имеющихся средств визуализации (HTML5, PHP, R) на примерах, связанных с задачами реализации численных экспериментов.

Также будут рассмотрены основы работы с базами данных (на примере MySQL), и практические приёмы их использования как средства хранения информации в задачах web-программирования.

Помимо этого, будут затронуты вопросы клиент-серверного взаимодействия,  удалённого хранения данных, и построения систем удалённых вычислений.

Введение

В качестве серверной операционной системы в настоящее время наиболее популярной является ОС Linux, ядро которого начал разрабатывать студент Университета Хельсинки Линус Торвальдс в 1991 г.

Открытость исходного кода системы, открытость всего процесса разработки системы сделали её привлекательной для как сообщества разработчиков, так и для ряда крупных IT-корпораций. За время существования системы, она была портирована на большинство существующих аппаратных платформ, было написано большое количество прикладных программ.  Всё это обусловило значительный рост популярности системы в последние годы, прежде всего как серверной ОС (60% интернет-серверов на 2014г.), особенно для суперкомпьютеров (97% на  2014г.). Также большую популярность в последние годы получила система Android, основанная на ядре Linux (более 60% мобильных устройств на 2012г.).

Преимуществами использования системы Linux для задач создания web-ресурсов является её бесплатность, наличие специализированных и мощных серверных пакетов (web-сервера apache, nginx), стабильность системы и простота настройки. По всем аспектам использования системы можно легко найти справочную информацию в открытых источниках. Кроме того, значительным преимуществом является наличие большого числа прикладных программ, большинство из которых также распространяется бесплатно.

Именно поэтому система Linux(Ubuntu) является основой для изучения web-технологий и выполнения практических задач в данном курсе.

Язык HTML был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986—1991 годах в стенах Европейского Центра ядерных исследований в Женеве (Швейцария). HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки. В ходе развитии сети Интернет (WWW) язык HTMLстал основой для оформления гипертекстовых web-страниц.

С течением времени язык HTMLсовершенствовался (HTML5), получили широкое распространение технологии для оформления web-страниц (CSS, каскадные таблицы стилей), для создания динамических страниц на уровне клиента  (язык JavaScript, Ajax), а также языки разработки серверной части web-систем (PHP). Ядром большинства современных сайтов являются системы управления контентом (Content Management Systems, CMS), на основе связки PHPи СУБД (например, MySql).

Приобретаемые знания и умения

В результате прохождения курса обучающийся должен приобрести пользовательские навыки и освоить приёмы программирования в Linux, принципы работы сетевых сервисов Linux, изучить основы языков HTML, JavaScript (Ajax, jQuery), PHP, SQL, CSS-верстки web-страниц, принципы построения систем клиент-серверного обмена информацией, систем удалённых вычислений, приёмы визуализации и представления данных на wеb-страницах.

Образовательные технологии

Материалы курса по мере его прохождения будут доступны в электронном виде на сайте distant.msu.ru в формате дистанционного курса. Взаимодействие с преподавателем, помимо аудиторного общения, может осуществляться в дистанционной форме. Практические занятия проходят в компьютерном классе.

Каждый обучающийся получает отдельную учетную запись на виртуальной машине с установленной операционной системой Linux.

Формат курса

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

Зачёт в конце 3 семестра ставится с учётом текущей успеваемости/посещаемости, а также по результатам своевременного выполнения практических задач.

В 4 семестре обучающийся получает индивидуальное задание, которое рассматривается как курсовая работа. Выбор задания происходит с учётом мнения обучающегося. Курсовая работа предполагает использование изученных технологий и навыков для разработки клиент-серверного web-приложения, обеспечивающего проведение численного эксперимента или функционирования системы обработки экспериментальных данных.