Скачать 155.61 Kb.
|
Федеральное агентство по образованию Владивостокский государственный университет экономики и сервиса ПРОГРАММИРОВАНИЕ ДЛЯ ИНТЕРНЕТ Учебная программа дисциплины по специальности 230201.65 Информационные системы и технологии по направлению подготовки 230100.62 Информатика и вычислительная техника Владивосток Издательство ВГУЭС 2014 ББК **.** Учебная программа по дисциплине «Программирование для Интернет» составлена в соответствии с требованиями ГОС ВПО. Предназначена для студентов специальности 230201.65 Информационные системы и технологии, направления 230100.62 Информатика и вычислительная техника Составитель: Трофимов М.А., ст. преподаватель, кафедра информационных систем и прикладной информатики Утверждена на заседании кафедры ИСПИ от 19.03.2014 г., протокол № 9 Утверждена на заседании Учёного совета института ИИБС от 29.04.2014г., протокол № 7 © Издательство Владивостокского государственного университета экономики и сервиса, 2014 ВВЕДЕНИЕ Дисциплина «Программирование для Интернет» относится к циклу общепрофессиональных дисциплин специальности 230201.65 «Информационные системы и технологии», направления 230100.62 «Информатика и вычислительная техника» и введена в учебные планы в соответствии с требованиями ГОС указанной специальности и направления. При разработке программы дисциплины «Программирование для Интернет» учитывалось современное состояние развития языков программирования и разметки наполнения, соответствующих им интегрированных сред разработчика (IDE) и технологий программирования. Дисциплина «Программирование для Интернет» относится к дисциплинам математического и общенаучного цикла. Данная дисциплина базируется на компетенциях, полученных при изучении дисциплин «Технологии Интернет», «Программирование на языке высокого уровня», «Проектирование информационных систем».
Целью изучения дисциплины «Программирование для Интернет» является теоретическая и практическая подготовка студентов в области разработки веб-приложений с использованием современного языка программирования PHP, СУБД MySQL, языка разметки HTML, каскадных стилей CSS, а так же современной среды разработки NetBeans. Знания, полученные в результате освоения дисциплины, помогут при разработке/доработке систем (приложений), основанных на CMS и PHP-фреймворках (Framework), которые используются в области повсеместно. Основные задачи изучения дисциплины:
Изучение дисциплины формирует следующие профессиональные компетенции: - знать базовые приёмы и методы осуществления программы измерений в производственном процессе программирования; - знать новейшие направления в области технологий программирования; языки программирования и методы разработки алгоритмов - уметь выбирать необходимые подходы для организации программирования как производственного процесса разрабатывать информационно-логическую, функциональную и объектно-ориентированную модели информационной системы, модели данных информационных систем - владеть навыками программирования в современных средах; - знать принципы, базовые концепции технологий программирования, основные этапы и принципы создания программного продукта, абстракция, различие между спецификацией и реализацией, рекурсия, конфиденциальность информации, повторное использование, проблема сложности, масштабирование, проектирование с учетом изменений, классификация, типизация, соглашения, обработка исключений, ошибки и отладка 1.4 Основные виды занятий и особенности их проведения Объем и сроки изучения дисциплины: Для студентов четвертого курса направления «Информатика и вычислительная техника» курс читается в осеннем семестре в объеме 74 учебных часов. На самостоятельное изучение дисциплины студентам выделяется 42 часов. Итоговая аттестация по курсу — зачет. Для студентов четвертого курса специальности «Информационные системы и технологии» курс читается в осеннем семестре в объеме 83 учебных часов. На самостоятельное изучение дисциплины студентам выделяется 51 часов. Итоговая аттестация по курсу — зачет. 1.5 Виды контроля и отчетности по дисциплине Контроль успеваемости студентов осуществляется в соответствии с рейтинговой системой оценки знаний студентов. Текущий контроль предполагает: - проверку уровня самостоятельной подготовки студента при выполнении индивидуального задания; - опросы и дискуссии по основным моментам изучаемой темы. Промежуточный контроль предусматривает: - проведение контрольных работ по блокам изученного материала; - тестирование остаточных знаний (предварительные аттестации). Итоговый контроль знаний студентов осуществляется при проведении экзамена в очной форме.
2.1 Темы лекций Тема 1. Архитектура веб, стек серверных программ, основные понятия Организационная структура сети Интернет. OpenSource-стек серверных программ (веб-серверы Apache и NGinx, СУБД MySQL, интепретатор PHP, набор программ DENWER). Введение в язык PHP. Тема 2. Программирование на языке PHP, среда NetBeans IDE Процедурные возможности языка PHP. Обзор библиотеки функций. Обзор подключаемых расширений языка. Объектно-ориентированные возможности языка (в сравнительном анализе с языками Java и C++). Тема 3. Разработка приложений, основынных на БД Реляционная модель данных. Язык SQL для работы с БД. Расширение PDO для интерпретатора PHP для работы с БД. Тема 4. Современная модель веб-приложения Подход разделения данных, логики и представления в веб-приложении «Модель-Вид-Поведение» (MVC). Введение в язык Smarty. Тема 5. Архитектура CMS Возможности CMS. Применение CMS в различных областях деятельности. Принципы, на основе которых разрабатываются CMS. Тема 6. Программирование, расширяющих функциональность CMS, модулей Разработка модулей для CMS Prestashop и CMS LiveStreet. Описание модели модуля, обсуждение реализации подхода MVC, используемого в рассматриваемых CMS. Тема 7. Системы контроля версий Рассматриваются системы контроля версий Subversion и GIT. Случаи, в которых есть необходимость использования систем контроля версий. Применение Subversion и GIT в NetBeans IDE и консоли. 2.2 Перечень тем практических/лабораторных занятий Тема 1. Изучение пакета программ DENWER Установка DENWER. Обсуждение структуры каталогов DENWER, набора серверных программ, типичных проблем установки пакета и запуска серверных программ. Создание первой по традиции программы «Hello World» на языке PHP и ее запуск через консоль. Применение разметки HTML в созданной программе. Подробное изучение языка PHP: основы синтаксиса, типы, переменные, константы, выражения, операторы, управляющие конструкции, функции, классы и объекты, пространства имен, исключения. Тема 2. Изучение среды NetBeas IDE, задачи на языке PHP Установка NetBeans. Обзор возможностей среды. Алгоритмические задачи (не использовать готовые библиотеки): а) Создать функцию, возвращающую среднее арифметическое значение массива чисел, переданного в параметре. б) Создать функцию, возвращающую значение максимального элемента массива чисел, который передается в параметре. в) Создать функцию, меняющую местами значения двух передаваемых ей по ссылке аргументов. Задачи с использование объектно-ориентированного подхода: а) Объединить созданные ранее функции в класс Math, сделав их, таким образом, методами данного класса. Продемонстрировать работу класса. б) Создайте класс с именем Time, содержащий три поля, предназначенных для хранения часов, минут и секунд. Конструктор класса должен инициализировать поля заданным набором значений или нулевыми значениями, если набор не задан. Создайте метод класса, который будет выводить значения полей на экран, в формате ЧЧ:ММ:СС (использовать 24-х часовое обозначения времени) и метод, складывающий значения двух объектов типа Time, передаваемых ему в качестве аргумента(ов). Продемонстрировать работу класса. в) Создайте класс с именем Fraction, содержащий два целочисленных поля - числитель и знаменатель обыкновенной дроби. Конструктор класса должен инициализировать их заданным набором значений. Создайте метод класса, который будет выводить дробь на экран в формате x / y, метод, складывающий две дроби, переданные ему в параметрах и статический метод, умножающий две дроби, переданные ему в параметрах. г) Определить класс Vector2D как вектор на плоскости с данными x и y. Определить для него методы сложения, вычитания и скалярного произведения, определить метод присваивания значения координатам вектора и метод вывода значений. Определить класс Vector3D как вектор в пространстве, породив его от класса Vector2D. Переопределить для него методы. Продемонстрировать работу класса. д) Определить класс Stack, который позволяет реализовать структуру данных типа «стек» для хранения данных. Определить для класса методы pop (положить в стек), push (достать из стека) и метод определения количества элементов в стеке. Методы должны осуществлять проверку на выход за пределы стека. Определить класс Fifo, реализующий структуру данных типа «очередь» для хранения данных, породив его от класса Stack, добавив нужные поля и переопределив методы. Продемонстрировать работу класса с использованием данных с различной внутренней структурой (числовые и строковые переменные, массивы). е) Создать абстрактный класс Figure с абстрактными методами вычисления площади и периметра. Создать производные классы: Rectangle (прямоугольник), Circle (круг), Triangle (треугольник). Описать в производных классах методы вычисления периметра и площади, продемонстрировать работу класса. ж) Создать абстрактный класс Figure с абстрактным методом draw(), осуществляющим прорисовку объекта на HTML-странице, используя графическую библиотеку. Создать производные классы: Rectangle (прямоугольник), Circle (круг), Triangle (треугольник). Описать в производных классах метод draw() для каждой из фигур, продемонстрировать работу класса. Тема 3. Разработка приложений, основанных на БД Изучение PDO для работы с БД. Разработка веб-приложения «Чат». Тема 4. Современная модель веб-приложения Рефакторинг созданного ранее веб-приложения «Чат» (состоящего из одного файла с исходным кодом) с целью применения подхода MVC. Изучение языка Smarty. Задачи практического занятия по рефакторингу веб-приложения: а) вынести HTML-разметку в отдельный файл «view.tpl» и, используя язык Smarty, создать шаблон окна чата; б) вынести класс Model для работы с БД в отдельный файл «model.php»; в) создать класс Controller (файл «controller.php»), наследующий класс Model и выполняющий необходимую обработку клиентских запросов; г) создать файл «index.php», инициирующий запуск веб-приложения и передающий поступающие клиентские запросы на обработку объекту класса Controller. Тема 5. Знакомство с CMS Prestashop Обсуждение пользовательской (Front Office) и административной (Back Office) частей системы. Разработка модуля к системе, который позволяет добавлять контактную информацию о владельце сайта в верхнюю часть страниц (Header of Pages), используя подход системы «хуков» (Hook System). Тема 6. Знакомство с CMS LiveStreet Обсуждение пользовательской (Front Office) и административной (Back Office) частей системы. Разработка модуля к системе, который позволяет выводить блок в правую часть страниц сайта с информацией о допустимой возрастной группе сайта, используя подход системы «хуков».
Программой дисциплины предусмотрено чтение лекций, проведение практических занятий. В течение изучения дисциплины студенты изучают на лекционных занятиях теоретический материал. На практических занятиях под руководством преподавателя, решают типовые задачи программирования, обсуждают возникающие вопросы и проблемы, разбирают и анализируют наиболее удачные практики программирования.
Большинство вопросов приведено на английском языке. В скобках в конце вопроса уточняется, к какой предметной области разработки, средству или языку относится вопрос.
echo "Welcome, {$_POST['name']}.";
function counter($start, &$stop) { if ($stop > $start) { return; } counter($start--, ++$stop); } $start = 5; $stop = 2; counter($start, $stop);
$a = 2; $b = 3; $c = ($a++ * ++$b);
strcasecmp('hello my dear!', 'Hello my DEAR!');
class a { public $val; } function renderVal (a $a) { if ($a) { echo $a->val; } } renderVal (null);
echo 0x33, ' monkeys sit on ', 011, ' trees.';
should be used for the best possible result? (PHP)
function f(stdClass &$x = NULL) { $x = 42; } $z = new stdClass; f($z); var_dump($z);
Recover from errors in case of a power outage or a failure in the SQL connection
The user clicks on the image to submit the form. How can you now access the relative coordinates of the mouse click?
{assign var=”groupID” value=$currentUser->getUserGroup()} {if($groupID) > 1}{assign var=”groupID” value=10} {If $groupID = 1}
You are an Admin
{else}
You are a Customer
{/if} {/if}
function clearForm(name) { var f = document.forms[name]; for(var i = 0; i < f.elements.length; ++i) { if(f.elements[i].checked) f.elements[i].checked = false; }
alert('I am pointless as I won\'t be executed');
Для студентов в качестве самостоятельной работы предполагается выполнение домашних заданий, групповая работа над задачами по программированию.
В процессе изучения дисциплины «Программирование для Интернет», для того чтобы представлять основные понятия и сущность веб-технологий необходимо воспользоваться учебником К. Пейтон, А. Меллер «PHP & MySQL. В примерах и на проектах». Остальная рекомендуемая литература поможет студентам выполнять задания самостоятельной работы и получить углубленные знания по дисциплине.
5.1 Основная литература
5.2 Дополнительная литература
Полнотекстовые базы данных – нет Интернет-ресурсы:
а) программное обеспечение: MS Word, NetBeans IDE, DENWER. б) техническое и лабораторное обеспечение – компьютерный класс, аудитория с презентационным оборудованием.
OpenSource – открытое программное обеспечение. PDO – PHP Data Objects, расширение для PHP, предоставляющее разработчику простой и универсальный интерфейс для доступа к различным базам данных. MVC – Model-view-controller, схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Smarty – компилирующий обработчик шаблонов для PHP, один из инструментов, позволяющий отделить прикладную логику и данные от представления в духе подхода MVC. CMS – Content management system, информационная система, используемая для обеспечения и организации совместного процесса создания, редактирования и управления наполнением сайта. GIT – распределённая (децентрализованная) система управления (контроля) версиями. Subversion – централизованная система управления (контроля) версиями. DENWER – набор дистрибутивов и программная оболочка, предназначенные для создания и отладки веб-приложений на локальном компьютере под управлением ОС Windows. Рефакторинг – refactoring, реорганизация кода или процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий цель облегчить понимание её работы. |
Вопросы к экзамену по дисциплине «Высокоуровневое программирование» Вопросы к экзамену по дисциплине «Высокоуровневое программирование» для студентов специальности 09. 05. 01 «Применение и эксплуатация... |
Рабочая программа спецкурса Олимпиадное программирование 8 и класс... Рабочая программа элективного курса «Олимпиадное программирование» для 8 специализированного класса инженерно-технологической направленности... |
||
Методическое пособие по выполнению курсовых работ по дисциплине «web-дизайн... Методическое пособие по выполнению курсовых работ по дисциплине «Web-дизайн и Web-программирование» для студентов очной и заочной... |
Методические рекомендации к практическим занятиям по дисциплине «Программирование... Методические рекомендации к практическим занятиям по учебной дисциплине «Программирование для автоматизированного оборудования» |
||
Программа дисциплины «Программирование на языке java» Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направлений подготовки 231000.... |
Рабочая программа по дисциплине «Объектно-ориентированное программирование» Госвпо по направлению подготовки дипломированного специалиста 230100 (654600) – «Информатика и вычислительная техника» (регистрационный... |
||
Программа дисциплины [Объектно-ориентированное программирование]... Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки 220400.... |
«Системное программирование» Магистерская программа «Системное программирование» сочетает в себе академический подход к изучению предметной области с практической... |
||
Программа дисциплины «Информатика и программирование» для направления... Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» подготовки бакалавров |
Программа дисциплины «Информатика и программирование» для направления... Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» подготовки бакалавров |
||
Методические рекомендации по проведению лабораторных, практических... Государственное бюджетное профессиональное образовательное учреждение города москвы «воробьевы горы» |
Инструкция по созданию новых ключей эцп через Интернет-банкинг iBank 2 Запустите на своем компьютере Интернет браузер (программа, через которую вы посещаете Интернет ресурсы). Наберите в адресной строке... |
||
Вопросы к экзамену по дисциплине «Теория и технология программирования» Культин Н. Б. Программирование в Turbo Pascal 0 и Delphi. Спб.: Бхв-санкт-Петербург, 1999. –416 с ил |
12 Достижения компьютерной техники 15 Программирование Программирование 3 |
||
Методические рекомендации по выполнению курсовой работы по дисциплине... Уважаемые студенты, после выбора темы курсовой работы, Вам необходимо позвонить в учебную часть для ее утверждения |
Программа по дисциплине «Архитектура ЭВМ и систем» Учебная программа по дисциплине «Архитектура ЭВМ и систем» составлена в соответствии с требованиями гос впо. Предназначена для студентов... |
Поиск |