НИУ ВШЭ – Нижний Новгород Программа НИС «Разработка программных систем» для направления 231000.62 – Программная инженерия подготовки бакалавра Правительство Российской Федерации Нижегородский филиал Федерального государственного автономного образовательного учреждения высшего профессионального образования "Национальный исследовательский университет "Высшая школа экономики" Факультет бизнес-информатики и прикладной математики Программа научного семинара «Разработка программных систем» для направления 231000.62 «Программная инженерия» подготовки бакалавра Автор программы: старший преподаватель: Шишкин М.В. Одобрена на заседании кафедры «Базовая кафедра МЕРА» «___»____________ 2013г Зав. кафедрой Н.И. Кащеев Рекомендована секцией УМС «Прикладная математика и информатика» Председатель В.А. Калягин «___»____________ 2013г. Утверждена УМС НИУ ВШЭ – Нижний Новгород Председатель В.М. Бухаров «___»_____________2013г. Нижний Новгород, 2013 г. Настоящая программа не может быть использована другими подразделениями университета и другими вузами без разрешения кафедры-разработчика программы. НИУ ВШЭ – Нижний Новгород Программа НИС «Разработка программных систем» для направления 231000.62 – Программная инженерия подготовки бакалавра 1 Область применения и нормативные ссылки Настоящая программа научного семинара (далее НС) устанавливает минимальные требования к знаниям и умениям студента и определяет содержание и виды учебных занятий и отчетности. Программа предназначена для преподавателей, ведущих данный НС, учебных ассистентов и студентов направлений подготовки 231000.62 «Программная инженерия» подготовки бакалавра, изучающих НС «Разработка программных систем». Программа разработана в соответствии с: - образовательным стандартом федерального государственного образовательного автономного учреждения высшего профессионального образования Высшей школы экономики, - учебным планом университета по направлению подготовки 231000.62 «Программная инженерия», утвержденным в 2012г. 2 Цели освоения НС Сформировать у студентов целостное представление о видах и способах разработки web-сайтов. После прохождения данного курса студенты будут уметь создавать web страницы, разрабатывать структуры типовых сайтов, добавлять типовые элементы (регистрация пользователей, гостевые книги, каталоги и прочее) с использованием наиболее популярных и современных технологий. Курс рассматривает основы и нюансы программирования на языке PHP – назначение, синтаксис языка, базовые библиотечные функции, основные приёмы использования, построение web-приложений на основе php-скриптов, использование баз данных во взаимодействии с приложениями на языке PHP. В рамках курса даются основополагающие знания по самостоятельному развёртыванию и настройке рабочей среды PHP-разработчика. 3 Компетенции обучающегося, формируемые в результате освоения НС В результате освоения НС студент должен: Уметь создавать web страницы. Разрабатывать структуры типовых сайтов. Добавлять типовые элементы (регистрация пользователей, гостевые книги, каталоги и прочее) с использованием наиболее популярных и современных технологий. Компетенция Код по ОС НИУ Дескрипторы – основные признаки освоения (показатели достижения результата) Понимание основных концепций, принципов, теорий и фактов, связанных с информатикой ПК-1 Студент демонстрирует понимание основ функционирования сети Готовность к использованию методов и инструментальных средств исследования объек- ПК-2 Студент демонстрирует понимание основ технологии размещения Формы и методы обучения, способствующие формированию и развитию компетенции Подготовка к проектным семинарам и зачетам, участие в публичных дискуссиях коллектива учебной группы Подготовка к практическим и лабораторным работам. 2 НИУ ВШЭ – Нижний Новгород Программа НИС «Разработка программных систем» для направления 231000.62 – Программная инженерия подготовки бакалавра Компетенция Код по ОС НИУ тов профессиональной деятельности Дескрипторы – основные признаки освоения (показатели достижения результата) Формы и методы обучения, способствующие формированию и развитию компетенции информации в сети Место НС в структуре образовательной программы 4 . Изучение данного НС базируется на курсах: «Программирование» и «Архитектура вычислительных систем» Тематический план НС 5 № Название раздела Всего часов Лекции Аудиторные часы ПрактиСемические нары занятия Самостоятельная работа 1 Основы клиент-серверного взаимодействия 2 «Джентельменский набор web-разработчика Denwer» 3 Статический HTML 6 2 4 6 2 4 6 2 4 4 CSS стили. 6 2 4 Динамический HTML – клиентский скрипт на примере Javascript и JQuery. 6 Javascript/JQuery – обработка событий, объекты, классы 6 2 4 6 2 4 7 Серверные страницы. PHP – принципы работы, конфигурация 6 2 4 8 PHP – основные структуры, типы переменных, массивы, строки, классы 6 2 4 9 Базы данных – общие понятия. СУБД MySQL и ее применение в web программировании 6 2 4 SQL – основные запросы 6 2 4 5 10 3 НИУ ВШЭ – Нижний Новгород Программа НИС «Разработка программных систем» для направления 231000.62 – Программная инженерия подготовки бакалавра 11 Связка PHP+MySQL 6 2 12 Формирование целостного сайта с переходом по страницам. Работа с CMS Joomla. Всего 2 2 4 72 4 28 13 4 44 Формы контроля знаний студентов 6 Тип контроля Текущий контроль Итоговый Форма контроля Домашнее задание Зачёт 1 год 1 2 * * Параметры устная форма 1 вопрос и 1 задача 6.1 Критерии оценки знаний, навыков Итоговый контроль: зачет на последней неделе 2 модуля. Учитываются результаты реферата. Оценка определяется в соответствии с п. 6.2. 6.2. Порядок формирования оценок по НС Контроль знаний студентов включает формы текущего и итогового контроля. Текущий контроль осуществляется в течение двух модулей. В рамках учебного курса предусмотрены следующие формы текущего контроля знаний и работы студентов на практических занятиях, домашнее задание. Каждая форма текущего контроля оценивается по 10-балльной шкале, оценка выставляется в рабочую ведомость преподавателя. По результатам текущего контроля организуются индивидуальные консультации в рамках второй половины рабочего дня преподавателя. Формы итогового контроля – зачет по окончании второго модуля. Форма итогового контроля оценивается так же по 10-балльной шкале. Зачет (или экзамен): На зачете (экзамене), представляющем собой письменные ответы на вопросы и решение задачи с последующим собеседованием, оценка проставляется следующим образом: высшая оценка в 9 баллов (10 баллов только в исключительных случаях) проставляется при отличном выполнении заданий (полных, с примерами и возможными обобщениями ответах на вопросы, при правильном решении задачи и детальном ее представлении); почти отличная оценка в 8 баллов проставляется при полностью правильных ответах на вопросы и решении задачи, но при отсутствии примеров и обобщений, а также детального представления решаемой задачи; оценка в 7 баллов проставляется при правильных ответах на вопросы и правильном решении задачи, но при отсутствии пояснений и обобщений, а также детального представления решаемой задачи; 4 НИУ ВШЭ – Нижний Новгород Программа НИС «Разработка программных систем» для направления 231000.62 – Программная инженерия подготовки бакалавра оценка в 6 баллов проставляется при наличии отдельных неточностей в ответах на вопросы или неточностях в решении задачи непринципиального характера (описки и случайные ошибки); оценка в 4-5 баллов проставляется в случаях, когда в ответах на вопросы и в решении задачи имеются существенные неточности и ошибки, свидетельствующие о недостаточном понимании изучаемой дисциплины; оценка в 2-3 балла проставляется при наличии лишь отдельных положительных моментов в ответах на вопросы и в решении задачи; оценка в 1 балл проставляется в тех случаях, когда наряду с неправильными ответами на вопросы и решением задачи имеют место какие-либо демонстративные проявления безграмотности или неэтичное отношение к изучаемой дисциплине. По результатам устного собеседования с преподавателем возможны корректировки оценки в ту или иную сторону. Для получения результирующей оценки О итогового контроля используются следующие весовые множители: 0,2 – для оценки Одом, за домашнюю работу 0,8 – для оценки Озач., за зачет в конце второго модуля. Оценка за домашнюю работу в каждом модуле представляет собой накопленную оценку по результатам выполнения домашних работ. Для получения результирующей оценки О по 10-балльной шкале вычисляется величина: О = 0,2*Одом. + 0,8 *Озач. Полученные после округления этих величин до целого значения и выставляются как результирующие оценки по 10-балльной шкале по учебной дисциплине НС «Основы ОС» в экзаменационную ведомость Таблица соответствия оценок по десятибалльной и пятибалльной шкалам По десятибалльной шкале 1 – неудовлетворительно 2 – очень плохо 3 – плохо 4 – удовлетворительно 5 – весьма удовлетворительно 7 По пятибалльной шкале неудовлетворительно – 2 удовлетворительно – 3 6 – хорошо 7– очень хорошо хорошо – 4 8 – почти отлично 9 – отлично 10 – блестяще отлично – 5 Содержание научного семинара 1. Технологии Web-программирования. 5 НИУ ВШЭ – Нижний Новгород Программа НИС «Разработка программных систем» для направления 231000.62 – Программная инженерия подготовки бакалавра Основы клиент-серверного взаимодействия. 1.1. Обзор технологий: web сервер Apache, модули php, MySQL, phpMyAdmin. 1.2. 1.3. Установка Denwer. 1.4. HTML страница, ее основные части, базовые тэги. 2. CSS, введение в Javascript. 2.1. CSS, основные свойства, способы подключения. 2.2. Динамическая web страница. Клиентские скрипты. 2.3. Javascript, основные структуры, синтаксис. 2.4. Библиотека JQuery. Подключение и использование. Примеры. 3. Javascript. 3.1. Событийная модель Javascript/JQuery, примеры обработки событий. 3.2. Динамическое создание HTML элементов с помощью Javascript/JQuery. 3.3. Классы и объекты в JavaScript. 3.4. Отладчик FireBug 4. Передача данных на сервер, PHP. 4.1. Взаимодействие с сервером. Cookie. Методы GET, POST. 4.2. HTML формы и ее управляемые элементы. 4.3. Серверные страницы, принцип работы. 4.4. Использование PHP на странице. 4.5. Типы данных в PHP. 4.6. PHP – массивы и строки. 4.7. PHP основные управляющие структуры. 4.8. PHP классы и объекты. 5. СУДБ, SQL. 6 НИУ ВШЭ – Нижний Новгород Программа НИС «Разработка программных систем» для направления 231000.62 – Программная инженерия подготовки бакалавра 5.1. Базы данных. СУБД. Общие понятия. 5.2. MySQL, использование для web программирования. 5.3. Пример базы данных, SQL - типовые запросы. 5.4. Работа с phpMyAdmin. 5.5. Создание баз и таблиц. 5.6. Создание пользователей для phpMyAdmin. 6. Связка PHP+MySQL, защита исполняемого кода. 6.1. PHP: знакомство со средой разработки и отладки. 6.2. Связка PHP+MySQL. 6.3. Вывод данных небольшой таблицы на web странице. 6.4. Примеры взаимодействия PHP+MySQL. 6.5. Формирование целостного сайта с переходом по страницам. 6.6. Пример реализации простого сайта. 6.7. Защита скриптов – javascript, PHP. Типичные примеры «дыр» 7. CMS Joomla 8 7.1. Обзор CMS (Wordpress, Joomla, 1C-Битрикс). 7.2. Установка CMS Joomla. 7.3. Создание шаблона сайта. 7.4. Настройка модуля Регистрации. 7.5. Настройка модуля Форума 7.6. Настройка модулей статей и меню 7.7. Организация сообщения между пользователя внутри сайта. 7.8. Собственные модули. Образовательные технологии Практические занятия в терминал-классе. 7 НИУ ВШЭ – Нижний Новгород Программа НИС «Разработка программных систем» для направления 231000.62 – Программная инженерия подготовки бакалавра Методические рекомендации преподавателю Темы индивидуальных заданий для проведения практических занятий должны являться уникальными для каждого нового учебного года Методические указания студентам Рекомендуется подготовка к каждому занятию по заданиям, озвученным преподавателем на предыдущем занятии. Для более глубокого усвоения курса предполагается использование студентами дополнительной литературы, работа в библиотеке, поиск информации в сети Интернет 9 Оценочные средства для текущего контроля и аттестации студента Примерные задания для зачета Задача 1. Среди кандидатов в студенческий совет факультета 3 первокурсника, 5 второкурсников и 7 третьекурсников. Из этого состава выбирается 5 человек на конференцию. Найти вероятности следующих событий: А={будут избраны одни третьекурсники}; В={все первокурсники попадут на конференцию}; С={не будет избрано ни одного первокурсника}. Задача 2. Два парохода должны подойти к одному и тому же причалу. Время прихода обоих пароходов независимо и равновозможно в течение данных суток. Определить вероятность того, что одному из пароходо придется ожидать освобождения причала, если время стоянки первого парохода один час, а второго – два часа. Задача 3. Разыскивая специальную книгу, студент решил обойти 3 библиотеки. Для каждой библиотеки равновероятно, есть в ее фондах такая книга или нет, и, если есть, то свободна она или занята другим читателем. Что более вероятно: студент получит книгу или нет? Задача 4. Двое поочередно бросают монету. Выигрывает тот, у которого раньше появится герб. Определить вероятности выигрыша для каждого из игроков. Задача 5. Найти условное математическое ожидание E (Y / x) , если двумерная случайная величина ( X , Y ) имеет двумерное нормальное распределение. Задача 6. Автоматизированный контроль знаний. Студенту задается 5 вопросов. На любой из них он может дать как правильный, так и неправильный ответ. Проверяет машина. Каким следует задать число правильных ответов, чтобы вероятность того, что студент, совершенно не знающий материал и отвечающий наугад, получил зачет, была не более 0.2? Для организации текущего контроля полученных студентами знаний по данной дисциплине используются среда WebCT с возможностью самотестирования Примерные вопросы к зачету 1. Понятие «Программное обеспечение», «Программа», «Задача». Классы задач (технологические и функциональные). Привести примеры каждого класса задач. 2. Классификация программ по категориям пользователя и с позиции функционального использования. 8 НИУ ВШЭ – Нижний Новгород Программа НИС «Разработка программных систем» для направления 231000.62 – Программная инженерия подготовки бакалавра 3. Общая классификация программ и с позиции риска использования. Привести примеры 4. Определение «Операционная система». Функции ОС (основные и дополнительные). 5. Эволюция ОС и основные идеи (идеи, определяющие функциональность ОС: пакетный режим; разделение во времени и многозадачность; разделение полномочий; реальный масштаб времени). 6. Классификация ОС 7. Понятие «Программное обеспечение». Системное ПО (сервисное ПО). Примеры 8. Типы операционных систем: ОС пакетной обработки и ОС разделения во времени. Их характеристики (таблица). 9. Типы операционных систем: ОС реального времени и диалоговые ОС. Их характеристики (таблица). 10. Требования, предъявляемые к современным ОС 10 Учебно-методическое и информационное обеспечение НС Основная литература: 1.Операционные системы: Учебник для вузов. 2-е изд. / А. В. Гордеев. — СПб.: Питер, 2010. — 416 с.: ил. 2. Основы операционных систем. Курс лекций. Учебное пособие / В.Е. Карпов, К.А. Коньков / – под ред. В.П. Иванникова. – М.: ИНТУИТ.РУ «Интернет-университет информационных технологий», 2010. – 632 с. Дополнительная литература: 1. Сетевые операционные системы / В. Г. Олифер, Н. А. Олифер. — СПб.: Питер, 2011. — 544 с.: ил. 11 Материально-техническое обеспечение НС Занятия проходят в аудитории, оборудованным преподавательским компьютером, проектором, выходом в локальную сеть и в сеть интернет. 9