Разработка цикла лабораторных работ по интернет–программированию для студентов непрофильных специальностей

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    67,49 Кб
  • Опубликовано:
    2012-10-04
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка цикла лабораторных работ по интернет–программированию для студентов непрофильных специальностей

Реферат

Дипломная работа 61 страницы, 1 приложение, 30 источников.

Ключевые слова: Java, PHP, JavaScript, HTML, MySQL, CGI .

Объект исследования: учебно-методический комплекс по интернет-программированию для студентов непрофильных специальностей.

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

Методы исследования: обзор современной литературы и электронных источников по теме работы и написание текстов методических разработок лабораторных работ для студентов.

Цель дипломной работы: разработать цикл лабораторных работ по интернет-программированию для студентов непрофильных специальностей.

Задачами дипломной работы являются:

. Сделать обзор литературы по клиентским и серверным технологиям;

. Разработать методику изложения лабораторных работ;

. Разработать цикл лабораторных работ по интернет-программированию.

Область применения: специальные курсы по интернет-программированию для непрофильных специальностей.

Степень внедрения: разработанный цикл лабораторных работ представляет собой основную часть учебно-методического комплекса по интернет-программированию для специальностей "1-31 04 01 Физика" по направлениям "1-31 04 01-02 производственная деятельность" и "1-31 04 01-04 управленческая деятельность".

Список использованных обозначений

ИТ - интернет-технологии;

PHP - Hypertext Preprocessor;

SQL - Structured Query Language;

HTML - HyperText Markup Language;

БД - базы данных;- Graphical user interface;

HTTP - HyperText Transfer Protocol;

ООП - объектно-ориентированное программирование;

CSS - Cascading Style Sheets.

Содержание

Введение

. Обзор методического материала по интернет-технологиям

1.1 Обзор литературы по теме "JavaScript"

.2 Обзор литературы по теме "PHP"

.3 Обзор литературы по теме "Java"

.4 Обоснование выбора тем для курса "Интернет-технологии"

.5 Содержание основных тем курса "Интернет-технологии"

2. Методика преподавания курса

. Методические разработки лабораторных работ по теме "JavaScript"

3.1 Общий обзор материала

.2 Общие сведения по JavaScript

.3 Документ HTML в JavaScript

.4 Фреймы в JavaScript

.5 Окна и динамическое управление документами в JavaScript

.6 Строка состояния и таймеры в JavaScript

.7 Предопределенные объекты в JavaScript

.8 Объект Image в JavaScript

4. Методические разработки лабораторных работ по теме "PHP и MySql"

4.1 Общий обзор материала

.2 Введение в PHP

.3 Основы синтаксиса PHP

.4 Обработка запросов с помощью PHP

.5 Функции в PHP

.6 Объекты и классы в PHP

.7 Работа с массивами данных в PHP

.8 Работа со строками в PHP

.9 Базы данных и СУБД. Взаимодействие MySQL и PHP

5. Методические разработки лабораторных работ по теме "Java"

5.1 Общий обзор материала

.2 Введение в Java

.3 Eclipse

.4 Типы данных и операторы в Java

.5 Классы и методы в Java

.6 Объектно-ориентированное программирование в Java

.7 Ввод-вывод в Java

Заключение

Список использованных источников

Приложение

javascript программирование фрейм запрос

Введение

В настоящее время учебный процесс требует постоянного совершенствования, так как происходит смена приоритетов и социальных ценностей: научно-технический прогресс все больше осознается как средство достижения такого уровня производства, который в наибольшей мере отвечает удовлетворению постоянно повышающихся потребностей человека, развитию духовного богатства личности. В современных условиях требуется коренное изменение стратегии и тактики процесса подготовки специалистов. Главными характеристиками выпускника любого образовательного учреждения являются его компетентность и мобильность. В этой связи акценты при изучении учебных дисциплин переносятся на сам процесс познания, эффективность которого полностью зависит от познавательной активности самого студента. Успешность достижения этой цели зависит не только от того, что усваивается (содержание обучения), но и от того, как усваивается: индивидуально или коллективно, в авторитарных или гуманистических условиях, с опорой на внимание, восприятие, память или на весь личностный потенциал человека, с помощью репродуктивных или активных методов обучения.

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

Учебно-образовательная программа по теме ИТ быстро меняется и расширяется. ИТ-дисциплины, посвященные технике написания сайтов, введены в университетские программы и в школьные факультативы. Навыки сайтостроения становятся частью общей подготовки специалистов в различных областях. Программа по ИТ-технологиям, которой посвящена настоящая дипломная работа, предполагает хорошее знание технологии клиентской части - языка разметки HTML, включая работу с формами.

Для учебного курса по ИТ необходимо выбрать те технологии, которые представляются устоявшимися. Основное внимание в программе уделено серверным технологиям, базам данных и простейшим технологиям программирования для интернет-приложений [1].

Язык программирования Java является одним из основных языков для программирования современных интернет-приложений. По существу Java становится стандартным специализированным языком для интернет-программирования, поддерживаемого во многих операционных системах.

Язык программирования PHP представляет собой активно используемый на практике язык написания серверных сценариев. Изучение этого языка в комплексе с базами данных позволяет дать цельное представление о структуре современного Web-проекта.

Задачами курса по ИТ-технологиям являются приобретение знаний и навыков [1]:

для создания интерактивных Web-приложений;

по языку программирования PHP;

по языку программирования JavaScript;

по языку программирования Java;

изучение основ разработки серверных приложений.

В результате изучения дисциплины специалист должен знать:

основные понятия ИТ;

основные понятия баз данных;

клиент-серверную архитектуру Web-приложения.

В результате изучения дисциплины специалист должен владеть:

навыками работы в среде Eclipse;

навыками программирования на Java;

навыками программирования на PHP;

навыками написания SQL-запросов.

С учетом программы данного курса аудиторное количество часов предусмотрено - 60 [1]. Данного количества часов не достаточно для подробного изучения темы, поэтому в данном курсе будут рассмотрены наиболее важные вопросы, которые требуют объяснения. Знания, полученные в процессе изучения этого курса, будут основой и станут достаточными для дальнейшего процесса становления специалиста по ИТ-технологиям.

Во время выполнения лабораторных работ, на которые отведено 34 часа, студенты освоят приемы работы с различными языками программирования. На основе примеров, приведенных в лабораторных работах, студенты узнают основные инструменты работы и способы их реализации. На самостоятельную работу студентов отводиться 6 часов. Темы самостоятельных работ определяются в процессе обучения в зависимости от интересов и уровня студента.

Основной формой отчетности по данному курсу являются защита лабораторных работ и экзамен в конце семестра. Для защиты лабораторных работ от студента требуется:

знание теоретических сведений приведенных в каждой работе;

выполнение типовых заданий лабораторной работы;

выполнение индивидуального задания.

Каждый этап работы студента оценивается по отдельности. По окончанию выводиться средний балл, который и является оценкой результата работы студента по определенной теме.

1. Обзор методического материала по интернет-технологиям

Рассмотрим вопрос о том, как представлены темы, касающиеся интернет-программирования, в литературе и в интернет-ресурсах.

В общем случае издания можно условно разделить [2]:

·по категориям:

популярная литература;

специализированная;

узкоспециализированная.

·по уровню подготовки читателя:

- начинающий;

средний;

мастер (для профессионалов) или эксперт.

Рассмотрим разделение изданий по категориям.

Популярная литература. В эту категорию входят издания, рассчитанные на массового читателя, для которого простота изложения материала и его обширность являются главными критериями при выборе той или иной книги. Характерной особенностью и основным преимуществом перед остальными данных изданий является широта охвата материала, длинные вступления и повествовательный, неконкретный характер изложения материала. Такие книги содержат либо разноплановый материал по нескольким технологиям, которые описываются кратко, либо материал, который относится к одной большой теме (типичный пример - книги по интернету, операционной системе Windows, офисных пакетах и т.п.). Такие издания могут содержать и 100 и 800 страниц, создавая впечатление "солидного труда". Однако они принесут несомненную пользу только в том случае, когда нужно получить общее представление по выбранному предмету без погружения в технические подробности.

Специализированные издания. В эту группу входят издания, которые рассматривают какую-то одну предметную область, с несколькими взаимосвязанными технологиями (HTML-руководства, Web-дизайн и т.д.), программы из одного пакета или программы, которые входят в одну предметную область. Иногда данные издания по характеру изложения материала приближаются к популярным, что доставляет просто мучения читателю, который хочет окунуться в подробности и найти новую информацию, а вместо этого ему приходится листать обширные размышления о данной технологии, которые повторяются практически в каждой книге. Специализированная литература уже по своему названию предполагает то, что читатель хочет более глубоко изучить выбранную им область и общие слова, как в популярной литературе, тут уже ни к чему. Характерной особенностью рассматриваемого класса изданий является то, что отдельные главы или разделы содержат материал разного качества.

Узкоспециализированные издания. В эту категорию входят издания, которые дают информацию по одному программному продукту (энциклопедии и справочники по языку программирования, отдельным графическим или офисным приложениям пакета программ и т.п.) Главным отличием таких книг является более или менее детальное описание выбранной программы или технологии. Также характерно для данных изданий их достаточно чёткое разделение в зависимости от степени подготовки читателей. Именно эти издания и будут формировать уровень знаний в выбранной для изучения области.

Переходим к классификации изданий по глубине изложения материала и уровню подготовки читателя.

Начинающий. Для начинающих предназначены серии изданий "Для чайников", "... за 24 часа", различные самоучители и т.п. Данные издания предназначены для простого и быстрого введения в рассматриваемую область. Несмотря на это, очень часто в них приводятся примеры, построенные с использованием материала, который выходит за рамки данной книги или для работы которых, необходимо производить настройку программного обеспечения, которая, как раз, и не описывается в этой книге, либо описываются так, что не возможно ничего понять. Оно и понятно, кто же будет себя утруждать грамотной и подробным описанием настроек и "подводных камней", если вся книга содержит 100-300 страниц, а охватывает тему для нескольких объемных томов. Данные книги будут полезны, если необходимо просто ознакомиться с предметом и начать его изучение, хотя бы с чего-то. При выборе книги данного уровня обращайте внимание на простоту изложения материала, последовательность и детальность инструкций для практического использования примеров, иначе ценность от ее приобретения будет крайне низкой.

Средний. Издания данного класса позволяют использовать приведённый в них материал в практической работе, и ориентированы уже на опытных пользователей. Характерным представителем данного класса являются различные справочники и руководства, поскольку они уже предполагают то, что читатель знаком с предметом и ему нужно лишь напомнить ту или иную функцию, настройки инструмента или элемента интерфейса. Руководства, в свою очередь, последовательно рассказывают о стандартных приёмах работы в той или иной области, используя которые можно уже строить собственные проекты. Недостатком данного класса изданий является то, что они, зачастую, слабо описывают интерфейс программного обеспечения, отчего часто и возникают вопросы, а для чего предназначена эта опция или кнопка.

Мастер (для профессионалов) или эксперт. В эту группу входят различные энциклопедии и библии пользователя, подробные справочники и серии книг "для профессионалов", которые рассчитаны на профессионалов в данной области. Большинство из них содержат CD-диски с примерами, демонстрационными версиями программ и другое более или менее полезное программное обеспечение. Лучшие из экземпляров детально описывают как базовую технику работы с приложениями или технологиями, так и приводят множество тонкостей при работе с тем или иным инструментом или конструкцией. Также они отличаются более или менее детальным описанием интерфейса. Изложение материала может быть непрерывным или пошаговым. В первом случае он воспринимается более цельно, но и более тяжело. Во втором случае можно легко повторить пример по приведенным подробным инструкциям, однако это уводит от общего к частному. В большинстве случаев данные издания способны реально повысить уровень и подготовку читателя. Именно на них и следует ориентироваться пользователю, который стремится стать профессионалом в своей области.

Особое внимание можно обратить на дополнительную поддержку изданий. Прежде всего, это CD-диски с примерами. Если данные приложения отсутствуют, то постарайтесь найти во вступительной части книги ссылку на сайт ее поддержки с рабочими исходниками и примерами. Наличие дополнительного материала во многих случаях позволяет не только сэкономить время на проверку работоспособности примера из книги, но и обойти многие опечатки и ошибки в тексте примера. Отдельно следует обращать внимание на поддержку дополнительного материала в самой книги и весь процесс его установки.

В настоящее время существует практика издавать книги сериями, каждая из которых ориентирована на определенного покупателя с его начальным уровнем знаний и финансовыми возможностями. Время, опыт и финансовые затраты показывают, что лучше приобрести одну энциклопедию или библию пользователя, чем десяток средненьких руководств и самоучителей. Объём и стоимость энциклопедий, иногда, приводит в шок. Но руководства тоже, порой, от них не отстают, по 600-1000 страниц, а отношение качество информации/цена у них значительно ниже. Пару средненьких книг имеет смысл покупать только тогда, когда материал изучаемой области является совсем новым, не профильным или трудным для изучения. Вообще говоря, оптимальным вариантом является покупка и энциклопедии (библии пользователя), и справочника. Энциклопедия дает глубокие теоретические знания и практические навыки, а хороший практический справочник поможет освежить в памяти ту или иную конструкцию с типовыми примерами [2].

Если интересует простой самоучитель или есть желание тратить деньги на энциклопедии, то, выбирая книгу данного уровня, просматривайте текст, потому что часто такие самоучители приводят просто необозримые примеры на своих страницах, набирать которые, порой, не имеет смысла из-за ошибок в тексте примера. Кроме того, часто в них рассказывается обо всём, но и ни о чём. Очень неплохо будет, если к самоучителю прилагается хотя бы дискета, что позволит удостовериться в работоспособности примеров. Ну, а если и самоучитель неплохой, да к нему прилагается ещё и дельный CD-диск, тогда считайте, что вам очень повезло.

Если же конкретно интересует, например, DHTML, и есть желание изучить это направление досконально, то не стоит покупать книгу, в которой приводятся сведения обо всех составляющих данной технологии (HTML, JavaScript, CSS и т.д.), даже если объём книги составляет 800-1000 страниц. В данной книге будет только общая информация. Лучше приобрести руководства по всем этим технологиям, каждое из которых по объёму может быть такого же порядка, но информации по теме в них будет представлена более полно.

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

Далее приводятся ресурсы, которые могут быть интересны людям, связанным или желающим связать себя с платформой Java.

IBM developerWorks Россия (Технология Java) - это самый большой и интересный русскоязычный ресурс о платформе Java и прилегающих технологиях. На русском языке статьи немного устаревшие, но в последнее время стали более оперативно переводить их с английского. Переводы некоторых статей оставляют желать лучшего, но кому очень надо, разберутся. К тому же в конце каждой статьи есть форма "Выскажите мнение об этой странице". В неё можно написать свои замечания по переводу или по листингам, приведенным в статье [2].

Интересную информацию здесь найдёт как новичок, так и профессионал в Java.

Блог о Java на Хабрахабре [3] - ресурс динамичный, на котором представлено множество информации по Java. Многие статьи на Хабре просто дублирую посты из личных блогов авторов.

Блог о программировании на Java [4] содержит большое количество качественных статей практической направленности, охватывает множество технологий, прямо или косвенно, относящихся к Java. Статьи имеют практическую направленность, но отличаются они от других подобных статей немного другим углом обзора. В статье "Анонимные классы в Java" (anonymous inner classes) автор опровергает такие утверждения об анонимных классах, как "они не имеют имени", "они не могут быть объявлены статическими", "они могут быть созданы только один раз при декларировании" и приводит доказательства в виде написанного им кода [4].

Блог [5] в первую очередь будет интересен людям, которые интересуются разработкой веб-проектов, стартами, современными технологиями разработки, имеют желание научиться и попробовать применить что-то новенькое. Еженедельно, а точнее, 3 раза в неделю здесь публикуются "научно-популярные" статьи о применении современных технологий при разработке веб-проектов с примерами, обзоры различных фреймворков, библиотек и прочего новомодного хлама. Автор заявляет о полной серьёзности и адекватности публикуемого здесь материала [5].

Идеальным учебником для тех, кто только начинает изучать язык программирования и технологии Java является "Java-технологии" [2]. Автор объясняет, как правильно спроектировать приложение и запрограммировать его на примере разработки студенческого отдела кадров. Руководство написано последовательно и подробно. Информация читается, воспринимается и усваивается легко и быстро. Руководство должно быть обязательно прочитано всеми начинающими разработчиками [2].

.1 Обзор литературы по теме "JavaScript"

Сегодня Всемирная сеть - это среда информационного обмена для миллионов людей. Они размещают текст, видео, звук, и информацию, и все более и более, они усложняют свои страницы, делая их интерактивными в сети. JavaScript - это новый язык программирования, используемый в составе страниц HTML для увеличения функциональности и возможностей взаимодействия с пользователями. Он был разработан фирмой Netscape в сотрудничестве с Sun Microsystems на базе языка Sun's Java .С помощью JavaScript на Web-странице можно сделать то, что невозможно сделать стандартными тегами HTML [6]. Скрипты выполняются в результате наступления каких-либо событий, инициированных действиями пользователя. Создание Web-документов, включающих программы на JavaScript, требует наличие текстового редактора и подходящего браузера. Некоторые просмоторщики включают в себе встроенные редакторы, поэтому необходимость во внешнем редакторе отпадает.

Несмотря на отсутствие прямой связи с языком Java, JavaScript может обращаться к внешним свойствам и методам Java- апплетов, встроенных в страницу HTML. Разница сводится к тому, что апплеты существуют вне браузера, в то время как программы JavaScript могут работать только внутри браузера. На первой взгляд кажется, что найти информацию по JavaScript несложно. Сначала создается впечатление, что ее можно увидеть везде: на сервере Natscape, в виде электронных руководств и примеров, во многих других местах. Тем не менее, разыскать информацию об объектах, операторах, цветах и всем прочем в одном источнике, чтобы она была всегда под рукой, трудно [6].

Для того чтобы изучить язык JavaScript, все его возможности и функции потребуется множество различных источников и ресурсов. Одной книги или сайта будет недостаточно, так как для каждого человека необходимы различные способы и методы объяснения информации. Не маловажной проблемой, можно считать то, что большинство книг, учебных пособий и руководств на русском языке по программирования являются переводными с других языков. В связи с чем, возникает достаточно большое количество ошибок уже в переведенном экземпляре. Поэтому, если что-то не получается по одному источнику, нужно взять другой и сравнить полученные результаты. Иногда случаются ситуации, когда типичные ошибки повторяются, и приходится обращаться порой к двум, трем, а то и к пяти источникам информации. Ниже будут рассмотрены наиболее популярные и доступные учебные пособия по языку JavaScript, описаны их достоинства и недостатки.

Книга Стефана Коха "Введение в JavaScript для мага" является руководством, которое представляет собой введение в JavaScript. Состоит она из 12 глав. С помощью JavaScript можно легко создавать интерактивные Web-страницы. В данном руководстве показано, что можно сделать с помощью JavaScript, и даже более того - расписано, как это сделать [6].

"JavaScript. Библия пользователя, 4-е издание", автора Дэнни Гудмана рассчитана на широкий круг Web-разработчиков и посвящена языку JavaScript. В ней приводится полная информация по синтаксису языка, объектов документа и языка, начиная от NN2.0 и IE3.0 и заканчивая NN6.0 и IE5.5 соответственно [7].

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

Недостатками книги является описание CSS, которое приводится в виде справки, что не позволяет увидеть тонкости и нюансы практического применения. Примеры использования методов и свойств приведены в объеме, необходимом только для демонстрации их использования. В ряде случаев были замечены некоторые странности и ошибки в их работе. Ряд пояснений составлены таким образом, что понять, о чем идет речь, очень трудно.

Если хотите узнать почти все о JavaScript и объектной модели браузеров NN и IE и разрабатывать эффективные Web-приложения с помощью данных технологий, то данная книга должна обязательно находиться в вашей библиотеке.

Книга под названием "JavaScript. Шаблоны" [8] Стояна Стефанова предоставляет большое количество разнообразных шаблонов программирования на JavaScript и дает описание наиболее удачным и эффективным приемам разработки приложений на этом языке. Автор данного издания - ведущий специалист всемирно известной компании Yahoo!, эксперт по языку JavaScript и создатель YSlow 2.0 - инструмента оптимизации производительности Web-страниц.

Книга М. Дмитриева "JavaScript Быстрый старт" ориентирована на читателей, возможно, не знакомых с программированием, но желающих научиться создавать Web-приложения, организовывать документы в виде Web-сайта, например, с целью дальнейшей публикации в интернете [9]., профессиональные приемы программирования адресована, прежде всего, разработчикам. Данная книга написана Джоном Рейсигом. На практических примерах создания веб-сайтов подробно рассмотрены возможности и особенности современного языка JavaScript, вместе с тем, здесь нет информации для начинающих о структуре и синтаксисе языка, предполагается, что читатель знаком с ними [10].

Джентльменский набор Web-мастера, Николая Прохоренка, рассматривает вопросы создания интерактивных Web-сайтов с помощью HTML, JavaScript, PHP и MySQL. Представлен материал о применении каскадных таблиц стилей (CSS) для форматирования Web-страниц. Даны основные конструкции языка PHP, на примерах показаны приемы написания сценариев, наиболее часто используемых при разработке Web-сайтов. Описаны приемы работы с базами данных MySQL при помощи PHP, а также администрирования баз данных с помощью программы phpMyAdmin. Особое внимание уделено созданию программной среды на компьютере разработчика и настройке Web-сервера Apache [11].

В 3-м издании книги описываются новые версии программ Apache 2.2.14, PHP 5.3.0 и MySQL 5.1.40. Добавлено описание программ Notepad++, Aptana Studio, NetBeans и HeidiSQL, рассмотрены возможности шаблонизатора Smarty, а также переработаны и дополнены все главы книги.

Создание динамических Web-сайтов с помощью PHP, MySQL и JavaScript, рассмотрено в книге Робина Никсона [12]. "Если есть базовые знания о HTML, то с помощью книги Робина Никсона, опытнейшего разработчика и автора многочисленных бестселлеров по Web-мастерингу, вы без особого труда научитесь создавать современные динамические сайты, характеризующиеся высоким уровнем взаимодействия с пользователями. Откройте для себя сочетание PHP и MySQL, узнайте, как они облегчают создание современных веб-сайтов, научитесь добавлять к этим технологиям возможности JavaScript, позволяющего создавать высокотехнологичные, эффективные и отзывчивые приложения" [12].

Здесь рассмотрена только малая часть из большого количества предлагаемых книг и пособий. Нужно сказать, что вовремя составления лабораторных работ для курса "Интернет-технологий", особое внимание уделялось именно книге Стефана Коха "Введение в JavaScript для мага". Данную книгу можно встретить на многих сайтах и без затруднений скачать.

1.2 Обзор литературы по теме "PHP"

PHP в настоящее время - один из наиболее популярных языков для реализации web-приложений [13]. Данный курс посвящен изучению его основ. Акцент делается на практическое применение полученных навыков.

Язык PHP был создан для решения конкретной практической задачи в среде интернет. Язык PHP был разработан как инструмент для решения чисто практических задач. Его создатель, Расмус Лердорф, хотел знать, сколько человек читают его online-резюме, и написал для этого простенькую CGI-оболочку на языке Perl, т.е. это был набор Perl-скриптов, предназначенных исключительно для определенной цели - сбора статистики посещений.

Большинство примеров взяты из реально существующей системы: виртуального музея истории информатики.

Первая часть курса посвящена изучению основ синтаксиса и управляющим конструкциям. После этого рассматривается технология клиент-сервер, как основная сфера приложения языка PHP [14]. Затем переходим к изучению наиболее полезных встроенных функций и решению с их помощью практических задач. Хотя объектная модель в языке PHP не самая богатая, ее принципиальное наличие позволяет естественным образом описывать объектные модели данных. В качестве базовой модели будет рассмотрена модель документа виртуального музея информатики. После этого будет рассмотрен ряд прикладных аспектов: работа с файловой системой, с БД, строками, сессиями, DOM XML - все это позволит рассмотреть ключевые задачи практического использования языка [16].

РНР - это мощный язык программирования, который позволяет создавать динамические веб-сайты. Он хорошо работает на разнообразных платформах и весьма доступен для понимания. MySQL является впечатляющей системой управления реляционными данными, используемой для создания высококачественных коммерческих баз данных [17]. РНР и MySQL являются настолько мощными и простыми в использовании платформами, что позволяет заниматься Web-программированием даже новичкам.

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

При создании лабораторных работ для данного курса по теме PHP основная информация использовалась с электронного ресурса #"justify">Наиболее полезной книгой в данной области можно назвать книгу автора Мазуркевич А, название которой, PHP: настольная книга программиста. В этой книге, в удобной наглядной форме описаны все элементы РНР, которые является популярным языком создания CGI-сценариев. В ней рассмотрены не только особенности синтаксиса языка, но и редактирование кода в программах EditPlus и UltraEdit, а также установка РНР и сервера Apache. Материал систематизирован таким образом, что читатель может использовать книгу и как учебник, и как справочник. Примеры, взятые из реальной практики web-программирования, позволяют лучше усвоить теоретический материал. Книга рассчитана на самую широкую аудиторию - не только на новичков, но и на опытных программистов [17].

Хорошим источником для получения знаний в области не только PHP, а так же HTML, JavaScript и MySQL является книга с "HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера", автор которой Николай Прохоренок. В данной книге рассмотрены вопросы создания интерактивных Web-сайтов с помощью HTML, JavaScript, PHP и MySQL. Представлен материал о применении каскадных таблиц стилей (CSS) для форматирования Web-страниц. Даны основные конструкции языка PHP, на примерах показаны приемы написания сценариев, наиболее часто используемых при разработке Web-сайтов. Описаны приемы работы с базами данных MySQL при помощи PHP, а также администрирования баз данных с помощью программы phpMyAdmin. Особое внимание уделено созданию программной среды на компьютере разработчика и настройке Web-сервера Apache [11].

На различных форумах, таких как #"justify">Книга "Разработка Web-приложений на РНР и MySQL", автора Л. Томсона представляет собой всеобъемлющее руководство по совместному применению РНР и MySQL для разработки высокоэффективных и интерактивных Web-сайтов с динамическим содержимым.

Несомненным достоинством книги является ее ориентация на решение реальных бизнес-задач, что воплощено во множестве типовых примеров, столь часто встречающихся при повседневной разработке [21]. Среди этих примеров создание покупательской тележки для электронных магазинов, аутентификация пользователей, генерация динамических PDF-документов, разработка систем электронной почты через Web, написание систем поддержки Web-форумов. Помимо пошагового анализа реальных бизнес-примеров, в книге широко рассматривается формальный синтаксис и семантика языка РНР, основы построения приложений баз данных и особенности применения объектно-ориентированной методологии при разработке приложений для Web.

"Несмотря на то, что книга, в основном, рассчитана на профессиональных программистов и разработчиков, она принесет несомненную пользу и в качестве учебника для начинающих, кто совершает только первые шаги в бесконечном мире создания приложений для Internet".

В книге "PHP и MySQL. Библия программиста", приведены исчерпывающие сведения по созданию динамических Web-сайтов на основе бесплатных программных средств с открытым исходным кодом (языка PHP, сервера Apache и СУБД MySQL), а также показано, как обеспечить бесперебойную эксплуатацию таких сайтов под управлением операционной системы Windows или Linux [24]. Многочисленные сценарии и готовые программы, представленные в книге, подробно описаны, тщательно прокомментированы и составляют основу практически значимых приложений.

Так же изучить PHP и MySQL во всех подробностях, ознакомиться с преимуществами и недостатками технологий с открытым исходным кодом, и открыть для себя источник знаний с рекомендациями и описаниями методов, позволяющими добиться наибольших успехов с помощью мощного сочетания средств разработки, поможет книга PHP/MySQL для начинающих, автора Э. Харрис. В этой книге представлены [23]:

üустановка, разработка, отладка и устранение нарушений в работе новейших версий PHP и MySQL;

üбыстрое усвоение основ PHP, включая синтаксис, типы данных, функции и приемы программирования;

üознакомление с языком SQL и основами администрирования данных;

üовладение развитыми средствами PHP, включая объектно-ориентированное программирование и поддержку сеансов;

üизучение взаимодействия PHP с другими технологиями баз данных, в том числе Oracle®;

üусвоение более сложных тем, таких как применение PHP для работы с почтовыми программами и поддержка в сценариях PHP языка XML;

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

Данная книга включает исчерпывающие примеры кода, описания полностью работоспособных приложений и многое другое.

1.3 Обзор литературы по теме "Java"

Язык Java - это объектно-ориентированный язык программирования, ведущий свою историю от известного языка C++. Но в отличие от последнего Java является языком интерпретируемым, программы, написанные на нем, способны работать в разных местах сети и не зависят от платформы, на которой выполняются написанные на нем приложения [19]. Java сознательно избегает арифметики с указателями и прочих ненадежных элементов, которыми изобилует C++, поэтому, разрабатываемые на нем приложения, предотвращают многие проблемы, связанные с созданием программного обеспечения.

В терминах языка Java маленькое приложение, которое встраивается в страницу Web, называется аплет. Создание аплетов является основным применением для Java. Аплет может быть и окном анимации, и электронной таблицей, и всем, что только можно себе представить. Но это не означает, что на Java нельзя написать обычные приложения с окнами. Этот язык программирования изначально был создан для обычных приложений, выполняющихся в Internet и интрасетях, и уж потом стал использоваться для изготовления аплетов [27].

В данном курсе предусматриваются лекции, посвященные современному и мощному языку программирования Java. В их рамках дается вводное изложение принципов ООП, необходимое для разработки на Java, основы языка, библиотеки для работы с файлами, сетью, для построения оконного интерфейса пользователя (GUI) и др.

Java изначально появилась на свет как язык для создания небольших приложений для интернета, но со временем развилась как универсальная платформа для создания программного обеспечения, которое работает буквально везде - от мобильных устройств и смарт-карт до мощных серверов.

Данные лекции начинаются с изложения истории появления и развития Java. Такие знания позволят лучше понять особенности платформы и спектр существующих продуктов и технологий. Также создание Java является интересным примером истории одного из самых популярных и успешных проектов в компьютерном мире.

Затем излагаются основные концепции ООП, необходимые для освоения объектно-ориентированного языка программирования Java.

Ключевые понятия и конструкции языка описываются доступным языком, но, тем не менее, на достаточно глубоком уровне. Детально рассмотрены особенности лексики, системы типов данных, объектной модели. Уделяется особое внимание модификаторам доступа, соглашениям по именованию, преобразованию типов, работе с массивами, обработке ошибок (исключительных ситуаций). Курс завершается рассмотрением базовых библиотек Java, предоставляющих всю необходимую функциональность для создания самых разных приложений - коллекции объектов, работа с файлами, сетью, создание GUI приложений, построение многопоточной архитектуры и многое другое. Описание сетевой библиотеки предваряется изложением основ сетевых протоколов и технологий [18].

Книга под названием "Полный справочник по Java", известного гуру в области программирования Герберта Шилдта, посвящена новой версии одного из наиболее популярных и совершенных языков - Java. Данная книга построена в виде учебного и справочного пособия, она является превосходным источником исчерпывающей информации по последней версии платформы Java, Java SE 6, и позволяет практически с нуля научиться разрабатывать приложения и аплеты производственного качества. Помимо синтаксиса самого языка и фундаментальных принципов программирования, в книге подробно рассматриваются такие сложные вопросы, как ключевые библиотеки Java API, каркас коллекций, создание аплетов и сервлетов, AWT, Swing и Java Beans. Немалое внимание уделяется вводу-выводу, работе в сети, регулярным выражениям и обработке строк. Изобилие реальных примеров существенно упрощает усвоение материала [25].

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

Использование многочисленных примеров приложений и аплетов из книги "Программируем на Java", авторов Фролов Александр Вячеславович и Фролов Григорий Вячеславович, поможет в кратчайшие сроки освоить мир Java.

.4 Обоснование выбора тем для курса "Интернет-технологии"

программирование - бурно развивающийся раздел программирования, ориентированный на разработку динамических Internet-приложений [3]. Языки Web-программирования - это соответственно языки, которые в основном предназначены для создания интернет-приложений. Языки Web - программирования делятся на две группы: клиентские и серверные.

Как следует из названия, клиентские языки обрабатываются на стороне пользователя, а если проще - программы на клиентском языке обрабатывает браузер. Отсюда следует и недостаток - обработка скрипта зависит от браузера пользователя, и пользователь имеет полномочия настроить свой браузер так, чтобы он вообще игнорировал скрипты. При этом если браузер старый, он может не поддерживать тот или иной язык или версию языка, на которую опирался разработчик. С современными браузерами таких проблем возникать не должно, к тому же языки программирования не так уж часто кардинально обновляются (раз в несколько лет) и лучшие из них давно известны. Также код клиентского скрипта может посмотреть каждый, выбрав в меню "Вид" своего браузера вкладку "Исходный код" [3].

Преимущество же клиентского языка заключается в том, что обработка скриптов на таком языке может выполняться без отправки документа на сервер. Программа на компьютере клиента проверит правильность заполнения формы перед отправкой, и если необходимо, сообщит об ошибке.

Самым распространенным из клиентских языков является JavaScript, разработчиками которого является компания Netscape совместно с компанией Sun Microsystems. В связи с этим, в данном курсе основное внимание уделяется именно этому языку программирования [8].

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

Не менее важным является язык программирования Java. Есть множество приложений и Web-сайтов, которые будут работать, только если у вас установлена Java, и их число постоянно растет. Java обеспечивает быстродействие, безопасность и надежность. Java используется везде: от портативных компьютеров до центров обработки данных, от игровых приставок до научных суперкомпьютеров, от мобильных телефонов до интернета [13].

Java - это язык программирования и вычислительная платформа, впервые выпущенная компанией Sun Microsystems в 1995 году. Это базовая технология, на которой основываются многие современные программы (в том числе утилиты, игры и бизнес-приложения). Java работает на более чем 850 миллионах персональных компьютерах и в миллиардах устройств (в том числе в мобильных телефонах и в телевизорах) по всему миру [15].

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

Одной из первых технологий создания Web-приложений, выполняющихся на серверах, была Common Gateway Interface (CGI) [14]. Она позволяла создавать и выполнять серверные приложения, обращение к которым происходит посредством указания их имени в URL. Входной информацией для таких приложений служит содержимое HTTP-заголовка либо тело запроса, в зависимости от применяемого протокола. CGI-приложения - это консольные приложения, которые генерируют HTML-код, передаваемый браузеру. Подобные приложения могут представлять собой код на скриптовых языках, интерпретируемый на сервере, либо исполняемый файл, который можно создать с помощью практически любого средства разработки, генерирующего консольные приложения для операционной системы, под управлением которой функционирует Web-сервер [14].- скриптовый язык программирования общего назначения, интенсивно применяемый для разработки Web-приложений [11]. Этот язык в настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических web-сайтов.

Важной стороной работы серверных языков является возможность организации непосредственного взаимодействия с системой управления базами данных (СУБД) - сервером, на котором упорядоченно хранится информация, которая может быть вызвана в любой момент [16].

.5 Содержание основных тем курса "Интернет-технологии"

Полный список тем разрабатываемого курса, которому присвоим условное название "Интернет-технологии", приведен в Приложении 1. Здесь кратко остановимся на характеристике материала по темам.

Первая тема разрабатываемого курса по ИТ-технологиям посвящена общим понятиям языка JavaScript: запуск JavaScript, размещение JavaScript-кода на HTML-странице, события и обработчики событий, функции.

Во второй теме рассматривается структура объектов JavaScript: иерархия объектов в JavaScript, свойства объектов, объекты window, document и location.

В третей теме основное внимание уделяется создания фреймов, их взаимодействия с JavaScript, а так же затрагивается тема создания навигационных панелей.

Четвертая тема посвящена окнам и динамическому управлению документами. В данной теме затрагиваются вопросы о создании и закрытии окон, их именах и свойствах, и о динамическом создании документов.

Возможности JavaScript связанные со строкой состояния и таймерами рассмотрены в пятой теме. Так же эта тема рассматривает вопрос прокрутки.

Предопределенные объекты JavaScript, объект Date, методы предоставляемые объектом Date и объект Array предложены в шестой теме.

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

Восьмая тема рассматривает общие понятия языка Java: структура Java-программы, виртуальная машина Java, особенности языка Java. Использование памяти Java-программой.

Девятая тема посвящена написанию, компиляции и выполнению Java-программ в среде Eclipse, который используется как свободный фреймворк для разработки модульных кроссплатформенных Java-приложений.

Десятая тема связанна с типами данных и операторами в Java, а именно работа с простыми и со сложными типами данных, операторами присваивания, операциями сравнения, логическими операциями и со сложными операторами cast, new, instanceof.

Одиннадцатая тема акцентирует внимание на классах, методах и интерфейсах в Java.В этой теме рассмотрено использование методов, работа с классами и объектами, а так же рассмотрены класс Enum, наследование, конструкторы и интерфейсы.

Двенадцатая тема делает основной упор на объектно-ориентированные отношения, полиморфизм, конверсию простых и объектных типов, перегрузку и перекрытие методов.

Тема тринадцать рассказывает о вводе и выводе в Jave, об управлении файлами в Java, потоках, Reader и Writer низкого уровня, Reader и Writer высокого уровня.

Четырнадцатая тема посвящена формам и понятию о CGI, HTML-формам и их построению при помощи дескрипторов <FORM> и </FORM>, созданию объектов при помощи дескрипторов <INPUT>, <TRXTAREA>, <SELECT>, CGI-сценариям.

Пятнадцатая тема содержит историю языка (от PHP/FI до PHP5), описание его возможностей (краткий перечень платформ, протоколов, баз данных, приложений электронной коммерции и функций, которые поддерживаются PHP), области применения, а так же способы использования и создание первого скрипта на PHP. Установка и настройка программного обеспечения, необходимого для работы с PHP. Рассматриваются возможности PHP, установка оболочек для работы с PHP и работа с ними, переменные, константы и операторы, типы данных.

В шестнадцатой теме раскрыт вопрос об операторах PHP, условных операторах: if, else, switch, циклах, операторах передачи управления и включения.

Теме семнадцать посвящена изучению способов отправки данных на сервер и их обработке с помощью PHP. Рассматриваются основные понятия клиент-серверных технологий. Рассматривается понятие HTML-формы и отправка данных с ее помощью. Дается краткая характеристика методов Post и Get. Рассматривается механизм получения данных из HTML-форм и их обработка с помощью PHP.

В теме восемнадцать уделено внимание функциям в PHP. Рассмотрены вопросы связанные с функция, определяемыми пользователем, аргументами функций, использованием переменных внутри функции, передача аргументов по значению и по ссылке, значение аргументов по умолчанию и значения, возвращаемые функцией (функция return())., а так же рассмотрены переменные и внутренние (встроенные) функции.

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

Тема двадцать посвящена более подробному изучению массивов и функций, встроенных в PHP для работы с ними. Рассматриваются функции для поиска элементов в массиве, для сортировки элементов массива, а также применение созданных пользователем функций ко всем элементам массива, разбивка массива на подмассивы.

В двадцать первой теме рассматриваются понятия базы данных и СУБД, дается краткое описание существующих типов баз данных (сетевые, реляционные, иерархические). Рассматриваются основы языка запросов SQL: операции выбора, добавления, изменения и удаления строки, а также операции создания, изменения и удаления таблицы. База данных MySQL. Использование PhpMyAdmin для взаимодействия с базой данных MySQL. Обсуждаются основные принципы отображения объектной модели документа на реляционную структуру базы данных.

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

2. Методика преподавания курса

В настоящее время учебный процесс требует постоянного совершенствования, так как происходит смена приоритетов и социальных ценностей: научно-технический прогресс все больше осознается как средство достижения такого уровня производства, который в наибольшей мере отвечает удовлетворению постоянно повышающихся потребностей человека, развитию духовного богатства личности. Поэтому современная ситуация в подготовке специалистов требует коренного изменения стратегии и тактики обучения в вузе. Главными характеристиками выпускника любого образовательного учреждения являются его компетентность и мобильность. В этой связи акценты при изучении учебных дисциплин переносятся на сам процесс познания, эффективность которого полностью зависит от познавательной активности самого студента. Успешность достижения этой цели зависит не только от того, что усваивается (содержание обучения), но и от того, как усваивается: индивидуально или коллективно, в авторитарных или гуманистических условиях, с опорой на внимание, восприятие, память или на весь личностный потенциал человека, с помощью репродуктивных или активных методов обучения.

Метод обучения - процесс взаимодействия между преподавателями и учениками, в результате которого происходит передача и усвоение знаний, умений и навыков, предусмотренных содержанием обучения [28]. Приём обучения (обучающий приём) - кратковременное взаимодействие между преподавателем и учениками, направленное на передачу и усвоение конкретного знания, умения, навыка.

Активные методы обучения при умелом применении позволяют решить одновременно три учебно-организационные задачи [28]:

) подчинить процесс обучения управляющему воздействию преподавателя;

) обеспечить активное участие в учебной работе, как подготовленных студентов, так и неподготовленных;

) установить непрерывный контроль за процессом усвоения учебного материала.

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

Методы активного обучения могут использоваться на различных этапах учебного процесса:

этап - первичное овладение знаниями. Это могут быть проблемная лекция, эвристическая беседа, учебная дискуссия и т.д.

этап - контроль знаний (закрепление), могут быть использованы такие методы как коллективная мыслительная деятельность, тестирование и т.д.

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

Суть активных методов обучения, направленных на формирование умений и навыков, состоит в том, чтобы обеспечить выполнение студентами тех задач в процессе решения, которых они самостоятельно овладевают умениями и навыками [29].

Проявление и развитие активных методов обучения обусловлено тем, что перед обучением были поставлены задачи не только усвоение студентами знаний и формирование профессиональных умений и навыков, но и развитие творческих и коммуникативных способностей личности, формирование личностного подхода к возникающей проблеме.

А.М.Смолкин дает следующее определение:

Активные методы обучения - это способы активизации учебно-познавательной деятельности студентов [28], которые побуждают их к активной мыслительной и практической деятельности в процессе овладения материалом, когда активен не только преподаватель, но активны и студенты.

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

Существуют имитационные и неимитационные формы организации обучения с использованием активных методов обучения. Рассмотрим характеристику неимитационных методов: лекции, семинары, дискуссии, лабораторные работы.

Для преподавания материала по курсу "Интернет-технологи" предлагается использовать лекции нетрадиционной формы проведения.

Проблемная лекция начинается с вопросов, с постановки проблемы, которую в ходе изложения материала необходимо решить [30]. Проблемные вопросы отличаются от не проблемных тем, что скрытая в них проблема требует не однотипного решения, то есть, готовой схемы решения в прошлом опыте нет. Для ответа на него требуется размышление, когда для не проблемного существует правило, которое нужно знать.

С помощью проблемной лекции обеспечивается достижение трех основных дидактических целей:

) усвоение студентами теоретических знаний;

) развитие теоретического мышления;

) формирование познавательного интереса к содержанию учебного предмета и профессиональной мотивации будущего специалиста.

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

Учебные проблемы должны быть доступными по своей трудности для студентов, они должны учитывать познавательные возможности обучаемых, исходить из изучаемого предмета и быть значимыми для усвоения нового материала и развития личности - общего и профессионального.

Метод "круглого стола" включает в себя: различные виды семинаров и дискуссий [28]. В основе этого метода лежит принцип коллективного обсуждения проблем, изучаемых в системе образования. Главная цель таких занятий состоит в том, чтобы обеспечить студентам возможность практического использования теоретических знаний в условиях, моделирующих форм деятельности научных работников.

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

Данные занятия тесно связанны со всеми видами учебной работы, прежде всего с лекционными и самостоятельными занятиями студентов. Поэтому эффективность семинара во многом зависит от качества лекций и самостоятельной подготовки студентов.

Одним из наиболее эффективных активных методов обучения является деловая игра [28]. Исследователи установили, что при подаче материала в такой форме усваивается около 90 % информации. Активность студентов проявляется ярко, носит продолжительный характер и "заставляет" их быть активными. Педагогическая суть деловой игры - активизировать мышление студентов, повысить самостоятельность будущего специалиста, внести дух творчества в обучении, приблизить его к профориентационному, подготовить к профессиональной практической деятельности. Главным вопросом в проблемном обучении выступает "почему", а в деловой игре - "что было бы, если бы..."

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

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

Активные методы обучения создают условия для формирования и закрепления профессиональных знаний, умений и навыков у студентов вуза. Они оказывают большое влияние на подготовку студентов к будущей профессиональной деятельности. Вооружают студентов основными знаниями, необходимыми специалисту в его квалификации, формируют профессиональные умения и навыки, т.к. для практики необходима теория, а для теории практика [28].

Использование преподавателями активных методов в вузовском процессе обучения способствует преодолению стереотипов в обучении, выработке новых подходов к профессиональным ситуациям, развитию творческих способностей студентов [30].

В следующих главах будут рассмотрены методические разработки лабораторных работ по темам предусмотренных курсом "Интернет-технологии". Основное внимание будет уделено вопросам касающихся подготовке и проведению лабораторных работ, а также системе оценки знаний студентов.

3. Методические разработки лабораторных работ по теме "JavaScript"

3.1 Общий обзор материала

Учебно-образовательная программа по теме ИТ начинается с рассмотрения темы JavaScript.- прототипно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript [11].обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности Web-страницам.

Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.

На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в Web-разработке[12].

Название "JavaScript" является зарегистрированным товарным знаком компании Oracle Corporation.обладает рядом свойств объектно-ориентированного языка, но реализованное в языке прототипирование обусловливает отличия в работе с объектами по сравнению с традиционными объектно-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам - функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания - что придаёт языку дополнительную гибкость [9].

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

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

·знание теоретических сведений;

·полнота выполнения всех заданий предусмотренных лабораторной работой;

·способность студента к применению полученных знаний (выполнение индивидуальных заданий).

Лабораторные работы построены на основе примеров, которые необходимо набирать, для того чтобы разобраться, что происходит.

.2 Общие сведения по JavaScript

Первая лабораторная работа, по данной теме, посвященная общим сведениям по JavaScript.

Целью данной работы является ознакомление и получение общих сведений по языку составления скриптов JavaScript.

В ней рассматриваются общие понятия, запуск JavaScript, размещение JavaScript на HTML-странице, события и обработчики событий, функции.

С помощью JavaScript можно легко создавать интерактивные Web-страницы. JavaScript - это не Java!

Многие люди считают, что JavaScript - это тоже самое, что и Java, лишь потому, что эти языки имеют схожие названия. На самом деле это не так.

Кратко остановимся на каждом из пунктов лабораторной работы.

Если рассмотреть пример кода, который приведен ниже, то становиться понятно, что это код JavaScript.

<html>

<body>

<br>

Это обычный HTML документ.

<br>

<script language="JavaScript">.write("А это JavaScript!")

</script>

<br>

Вновь документ HTML.

</body>

</html>

Чтобы увидеть, как этот скрипт работает, запишите данный пример как обычный файл HTML и загрузите его в браузер, имеющий поддержку языка JavaScript. В результате выполнения этого файла на экране появиться:

"Это обычный HTML документ.

А это JavaScript! А это JavaScript!

Вновь документ HTML."

Браузеры, не имеющие поддержки JavaScript, "не знают" тэга <script>. Они игнорируют его и печатают все стоящие вслед за ним коды как обычный текст. Иными словами, читатель увидит, как код JavaScript, приведенный в программе, окажется вписан открытым текстом прямо посреди HTML-документа.

Новый вариант исходного кода будет выглядеть как:

<html>

<body>

<br>

Это обычный HTML документ.

<br>

<script language="JavaScript">

<!-- hide from old browsers.write("А это JavaScript!")

// -->

</script>

<br>

Вновь документ HTML.

</body>

</html>

В этом случае браузер без поддержки JavaScript будет печатать:

Это обычный HTML документ.

Вновь документ HTML.

События и обработчики событий являются очень важной частью для программирования на языке JavaScript. События, главным образом, инициируются теми или иными действиями посетителя. Если он щелкает по некоторой кнопке, происходит событие "Click". Если указатель мыши пересекает какую-либо ссылку гипертекста - происходит событие MouseOver.

В большинстве наших программ на языке JavaScript мы будем пользоваться функциями. В большинстве случаев функции представляют собой лишь способ связать вместе нескольких команд. Рассмотрим следующий пример:

<html>

<head>

<script language="JavaScript">

<!-- hidecalculation() {x= 12y= 5result= x + y(result)

}

// -->

</script>

</head>

<body>

<form>

<input type="button" value="Вычислить" onClick="calculation()">

</form>

</body>

</html>

Здесь при нажатии на кнопку осуществляется вызов функции calculation(). Как можно заметить, эта функция выполняет некие вычисления, пользуясь переменными x, y и result. Переменную мы можем определить с помощью ключевого слова var. Из этого примера следует, что функции могут также использоваться совместно с процедурами обработки событий.

3.3 Документ HTML в JavaScript

Вторая лабораторная работа рассматривает такой вопрос как иерархия объектов в JavaScript.

Целью является изучение структуры объектов в JavaScript.

В языке JavaScript все элементы на web-странице выстраиваются в иерархическую структуру. Каждый элемент предстает в виде объекта. И каждый такой объект может иметь определенные свойства и методы. В свою очередь, язык JavaScript позволяет легко управлять объектами web-страницы. Как это все действует, можно быстро понять, рассмотрев простую HTML-страницу:

<html>

<head>

<title>Пример

</head>

<body background="bg.gif" TEXT="#000000" LINK="#B50000" VLINK="#800080" ALINK="#800080">

<center>

<img src="1.gif" name="pic1">

</center>

<p>

<form name="myForm">: <input type="text" name="name" value="Вова"><br>Mail: <input type="text" name="email" value="test@test.com"><br><br>

<input type="button" value="Нажми меня" name="myButton" onClick="alert('Привет')">

</form>

</p>

<center>

<p>

<img src="2.gif" name="pic2" height=3>

</p>

<p>

<a href="1.htm">Пример</a>

</p>

</center>

</body>

</html>

С точки зрения языка JavaScript окно браузера - это некий объект window. Этот объект также содержит в свою очередь некоторые элементы оформления, такие как строка состояния. Объект document является очень важным объектом в языке JavaScript и им пользуются многократно. К свойствам объекта document относятся, например, цвет фона для web-страницы. Однако для нас гораздо важнее то, что все без исключения объекты HTML являются свойствами объекта document. Примерами объекта HTML являются, к примеру, ссылка или заполняемая форма. Кроме объектов window и document в JavaScript имеется еще один важный объект - location. В этом объекте представлен адрес загруженного HTML-документа[8].

Впрочем, гораздо более важно то, что есть возможность записывать в location.href свои новые значения.

3.4 Фреймы в JavaScript

Целью третьей лабораторной работы является ознакомление и получение общих сведений по совместному использованию фреймов и JavaScript. В общем случае окно браузера может быть разбито в несколько отдельных фреймов. Это означает, что фрейм определяется как некое выделенное в окне браузера поле в форме прямоугольника. Каждый из фреймов выдает на экран содержимое собственного документа (в большинстве случаев это документы HTML). Для создания фреймов необходимо два тэга: <frameset> и <frame>. HTML-страница, создающая два фрейма, в общем случае может выглядеть следующим образом:

<html>

<frameset rows="50%,50%">

<frame src="page1.htm" name="frame1">

<frame src="page2.htm" name="frame2">

</frameset>

</html>

В результате будут созданы два фрейма. Можно заметить, что во фрейме <frameset> используется свойство rows. Это означает, два созданных фрейма будут расположены друг над другом. В верхний фрейм будет загружена HTML-страница page1.htm, а в нижнем фрейме разместится документ page2.htm.

Любому фрейму можно присвоить уникальное имя, воспользовавшись в тэге <frame> атрибутом name. Такая возможность понадобиться в языке JavaScript для доступа к фреймам. При создании web-страниц Вы можете использовать несколько вложенных тэгов <frameset>.

<frameset cols="50%,50%">

<frame src="page3.htm">

<frame src="page3.htm">

</frameset>

<frameset rows="33%,33%,33%">

<frame src="page3.htm">

<frame src="page3.htm">

<frame src="page3.htm">

</frameset>

</frameset>

Задать толщину границы между фреймами можно воспользовавшись в тэге <frameset> параметром border [18].

Существует несколько способов загрузки новой страницы.

<a href="javascript:load('first.htm')">first</a>

или же

function loadtwo() {.frame1.location.href= "first.htm";.frame2.location.href= "second.htm";

}

При выполнении примеров, приведенных в данной лабораторной работе, студенты получат знания, которые им пригодятся при создании нескольких фреймов на одной странице, и их расположении на ней.

3.5 Окна и динамическое управление документами в JavaScript

Целью данной работы является изучение возможностей JavaScript связанных с окнами и динамическим управлением документами.

Открытие новых окон в браузере - грандиозная возможность языка JavaScript. Можно либо загружать в новое окно новые документы (например, те же документы HTML), либо (динамически) создавать новые материалы. Приводимый далее скрипт открывает новое окно браузера и загружает в него некую web-страницу:

<html>

<head>

<script language="JavaScript">

<!-- hideopenWin() {= open("page4.htm");

}

// -->

</script>

</head>

<body>

<form>

<input type="button" value="Открыть новое окно" onClick="openWin()">

</form>

</body>

</html>

В представленном примере в новое окно с помощью метода open() записывается страница page4.htm.

Заметим, что есть возможность управлять самим процессом создания окна. Например, можно указать, должно ли новое окно иметь строку статуса, панель инструментов или меню. Кроме того можно задать размер окна.

Окна имеют большой список свойств, которыми можно управлять. В версии 1.2 языка JavaScript были добавлены некоторые новые свойства (то есть в Netscape Navigator 4.0). Не следует использовать эти свойства, готовя материалы для Netscape 3.x или Microsoft Internet Explorer 3.x, поскольку эти браузеры не понимают языка 1.2 JavaScript. Для закрытия окна понадобиться метод close(). Open() и close() - это методы объекта window. Нужно запомнить, что следует писать не просто open() и close(), а window.open() и window.close(). Открывая окна, должны использоваться три аргумента:

= open("page4.htm", "displayWindow",

"width=400,height=300,status=no,toolbar=no,menubar=no")

Зная имя окна, можно загрузить туда новую страницу с помощью записи:

<a href="page4.html" target="displayWindow">

После рассмотрения данных вопросов можно переходить к такой замечательной возможности JavaScript , как динамическое создание документов. То есть можно разрешить созданному скрипту на языке JavaScript самому создавать новые HTML-страницы. Более того, можно таким же образом создавать и другие документы Web, такие как VRML-сцены и т. д.

3.6 Строка состояния и таймеры в JavaScript

Целью лабораторной работы является изучение возможностей JavaScript связанных со строкой состояния и таймерами.

Составленные программы на JavaScript могут выполнять запись в строку состояния - прямоугольник в нижней части окна браузера. Для этого необходимо лишь записать нужную строку в window.status. Следующий пример создает две кнопки, которые можно использовать, чтобы записывать некий текст в строку состояния и, соответственно, затем его стирать.

<html>

<head>

<script language="JavaScript">

<!-- hidestatbar(txt) {.status = txt;

} // -->

</script>

</head>

<body>

<form>

<input type="button" name="look" value="Писать!"

onClick="statbar('Привет! Это окно состояния!');">

<input type="button" name="erase" value="Стереть!"="statbar('');">

</form>

</body>

</html>

Механизм вывода текста в строку состояния удобно использовать при работе со ссылками.

С помощью функции Timeout можно запрограммировать компьютер на выполнение некоторых команд по истечении некоторого времени. Скрипт выглядит следующим образом:

<script language="JavaScript">

<!-- hidetimer() {

setTimeout("alert('Время истекло!')", 3000);

}

// -->

</script>

<form>

<input type="button" value="Таймер" onClick="timer()">

</form>

Здесь setTimeout() - это метод объекта window. Он устанавливает интервал времени. Первый аргумент при вызове - это код JavaScript, который следует выполнить по истечении указанного времени. Во втором аргументе компьютеру сообщается, когда этот код следует выполнять. Когда известно как делать записи в строке состояния и как работать с таймерами, можно перейти к управлению прокруткой. В Интернет этим приемом пользуются повсеместно.

3.7 Предопределенные объекты в JavaScript

В JavaScript разрешено пользоваться некоторыми заранее заданными объектами. Примерами таких объектов могут служить Date, Array или Math.

Для начала рассмотрим объект Date. Он позволяет работать как со временем, так и с датой.

Рассмотрим пример, который высвечивает на экран текущее время. Сначала должен быть создан новый объект Date [11]. Для этого мы пользуемся оператором new:

today= new Date()

Объект Date предоставляет кое-какие методы, которые теперь могут применяться к объекту today. Например, это методы - getHours(), setHours(), getMinutes(), setMinutes(), getMonth(), setMonth() и так далее.

Рассмотрим скрипт, печатающий текущие дату и время.

<script language="JavaScript">

<!-- hide= new Date();.write("Время: " + now.getHours() + ":" + now.getMinutes() + "<br>");.write("Дата: " + (now.getMonth() + 1) + "/" + now.getDate() + "/" +

now.getYear());

// -->

</script>

Методы такие как getHours() используются для того, чтобы вывести на экран время и дату, указанные в объекте Date с именем now. Важно запомнить, что нужно увеличивать на единицу значение, получаемое от метода getMonth().

Массивы играют в программировании очень важную роль. Массив может быть полезен там, где имеется много взаимосвязанных переменных. При этом к каждой из них можно получить доступ, воспользовавшись общим названием и неким номером. Допустим, есть массив с именем names. В этом случае можно получить доступ к первой переменной с именем name, написав names[0]. Вторая переменная носит name[1] и так далее.

Массивы JavaScript обладают большой гибкостью. Например, нет нужды беспокоиться о размере массива - он устанавливается динамически [11]. Если написать myArray[99]= "xyz", размер массива будет установлен 100 элементов. В языке JavaScript размер массива может только увеличиваться - массив не может "сжиматься".

Если необходимо в скрипте выполнять математические расчеты, то некоторые полезные методы для этого можно найти в объекте Math. Например, имеется метод синуса sin(). Полную информацию об этом объекте Вы найдете в документации фирмы Netscape. Если вызывать функцию Math.random(), то получиться случайное число, лежащее в диапазоне между 0 и 1. Один из возможных результатов вызова document.write(Math.random()) (при каждой новое загрузке данной страницы здесь будет появляться другое число).

3.8 Объект Image в JavaScript

Заключительная лабораторная работа по теме JavaScript посвящена теме объект Image.

Цель лабораторной работы заключается в получении общих сведений об объекте Image в JavaScript.

Данная работа не является обязательной, можно рассматривать по желанию студентов и по возможности предоставленных часов на данную тему.

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

Заметим, что пользователи браузеров более старых версий (таких как Netscape Navigator 2.0 или Microsoft Internet Explorer 3.0 - т.е. использующих версию 1.0 языка JavaScript) не смогут запускать скрипты, приведенные в этой части описания. Или, в лучшем случае, на них нельзя будет получить полный эффект.

Каждое изображение в HTML-документе рассматривается в качестве объекта Image. Объект Image имеет определенные свойства, к которым и можно обращаться из языка JavaScript. Например, можно определить, который размер имеет изображение, обратившись к его свойствам width и height. То есть по записи document.images[0].width можно определить ширину первого изображения на web-странице (в пикселях).

К сожалению, отслеживать индекс всех изображений может оказаться затруднительным, особенно если на одной странице у их довольно много. Эта проблема решается назначением изображениям своих собственных имен. Так, если заводить изображение с помощью тэга

<img src="img.gif" name="myImage" height=100>

то можно обращаться к нему, написав document.myImage или document.images["myImage"].

Рассмотрим следующие строки:

= new Image();

hiddenImg.src= "img3.gif";

В первой строке создается новый объект Image. Во второй строке указывается адрес изображения, которое в дальнейшем будет представлено с помощью объекта hiddenImg. Запись нового адреса в атрибуте src заставляет браузер загружать изображение с указанного адреса.

Можно создавать красивые эффекты, используя смену изображений в качестве реакции на определенные события.

Для разработки лабораторных работ выбирались наиболее необходимые темы, знания по которым могут пригодиться студентам в дальнейшим.

По окончанию темы рекомендуется провести тематический контроль, в виде опроса студентов, и выполнения индивидуального задания. По итогам данного контроля и будут оцениваться знания, полученные в процессе обучения по данной теме.

4. Методические разработки лабораторных работ по теме "PHP и MySql"

.1 Общий обзор материала

В области программирования для сети интернет, PHP - один из популярных скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.

Популярность в области построения Web-сайтов определяется наличием большого набора встроенных средств для разработки Web -приложений [20]. Основные из них:

·автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;

·взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);

·автоматизированная отправка HTTP-заголовков;

·работа с HTTP-авторизацией;

·работа с cookies и сессиями;

·работа с локальными и удалёнными файлами, сокетами.

·обработка файлов, загружаемых на сервер;

·работа с XForms.

В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в апреле 2011 года PHP находился на 5 месте среди языков программирования [13]. К крупнейшим сайтам, использующим PHP, относятся Facebook, ВКонтакте, Wikipedia и др.

Хотя PHP и не слишком распространён в данном качестве, его можно использовать и для создания GUI-приложений.

Программу на PHP, подобно скрипту на JavaScript, VBScript или ASP, надо вставлять в HTML-файл. Начало и конец программы отмечаются специальными тегами. Текст вне этих тегов PHP не воспринимает - он передается Web-браузеру "как есть". Сами скрипты находятся на сервере, и их содержимое посетителю сайта просмотреть невозможно. Файлы скриптов должны иметь расширение *.phpX (где X - это номер версии php) или *.phtml, иначе сервер проигнорирует все php-вставки в html-документе. При активизации скрипта серверная программа выполняет все команды PHP, не трогая html-код, и возвращает результат браузеру юзера. В итоге пользователь имеет обычную страницу, отличающуюся от привычных HTML - лишь расширением.

Для курса ИТ по теме PHP и MySQL предусмотрено восемь лабораторных работ. Как и в предыдущей теме, все лабораторные работы начинаются с теоретических сведений, которые пригодятся студентам для понимания темы и выполнения заданий. Лабораторные работы по PHP и MySQL разработаны по аналогии с работами по JavaScript, но со существенными отличиями по ее выполнению.

Для лабораторных работ, по теме PHP и MySQL, выбирались наиболее важные вопросы, касающиеся основ. Знания, полученные по данным темам должны стать основой для дальнейшего развития потенциала студентов.

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

Студентам необходимо, используя полученные знания и приведенные примеры, выполнить задание, а именно написать несколько различных кодов или скриптов. Данные скрипты должны отражать всю полноту изложенного материала в теоретической части. Студентам рекомендуется при выполнении каждой последующей лабораторной работы дополнять предыдущую.

В итоге, по окончанию изучения данной темы, у каждого студента должен получиться свой пример, который будет в себя включать все изученные возможности PHP и MySQL.

По данному курсу предусмотрено

·изучение истории языка;

·описание его возможностей (краткий перечень платформ, протоколов, баз данных, приложений электронной коммерции и функций, которые поддерживаются PHP);

·области применения (как серверное приложение, в командной строке, создание GUI приложений);

·способы использования (как PHP встраивается в HTML-код и простейшие примеры.);

·создание первого скрипта на PHP. Установка и настройка программного обеспечения, необходимого для работы с PHP.

·изучение данных, объектов и классов.

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

4.2 Введение в PHP

Первая лабораторная работа является ознакомительной. В ней рассказывается о создании языка и его возможностях. Как говорят создатели:"PHP может все!" [23].

В первую очередь PHP используется для создания скриптов, работающих на стороне сервера, для этого его, собственно, и придумали. PHP способен решать те же задачи, что и любые другие CGI-скрипты, в том числе, обрабатывать данные html-форм, динамически генерировать html страницы и т.п. Но есть и другие области, где может использоваться PHP. Всего выделяют три основные области применения PHP [23].

Первая область - это создание приложений, которые исполняются на стороне сервера. PHP наиболее широко используется именно для создания такого рода скриптов. Для того чтобы работать таким образом, понадобится PHP-парсер (т.е. обработчик PHP-скриптов) и web-сервер для обработки скрипта, браузер для просмотра результатов работы скрипта, и какой-либо текстовый редактор для написания самого php-кода. Парсер PHP распространяется в виде CGI-программы или серверного модуля.

Вторая область - это создание скриптов, выполняющихся в командной строке. То есть с помощью PHP можно создавать такие скрипты, которые будут исполняться, вне зависимости от web-сервера и браузера, на конкретной машине. Для такой работы потребуется лишь парсер PHP (в этом случае его называют интерпретатором командной строки). Этот способ работы подходит, например, для скриптов, которые должны выполняться регулярно с помощью различных планировщиков задач или для решения задач простой обработки текста.

Последняя область - это создание GUI-приложений (графических интерфейсов), выполняющихся на стороне клиента. В принципе это не самый лучший способ использовать PHP, особенно для начинающих, но если уже досконально изучено PHP, то такие возможности языка могут оказаться весьма полезными. Для применения PHP в этой области потребуется специальный инструмент - PHP-GTK, который является расширением PHP.

Если говорить о возможностях сегодняшнего PHP, то они выходят далеко за рамки тех, что были реализованы в его первых версиях. С помощью PHP можно создавать изображения, PDF-файлы, флэш-ролики, в него включена поддержка большого числа современных баз данных, встроены функции для работы с текстовыми данными любых форматов, включая XML, и функции для работы с файловой системой. PHP поддерживает взаимодействие с различными сервисами посредством соответствующих протоколов, таких как протокол управления доступом к директориям LDAP, протокол работы с сетевым оборудованием SNMP, протоколы передачи сообщений IMAP, NNTP,POP3 и др.

В лабораторной работе описана пошаговая установка PHP. Так как первая работа является ознакомительной, то от студентов требуется лишь выполнение необходимых установок.

4.3 Основы синтаксиса PHP

Вторая лабораторная работа посвящена изучению основ синтаксиса, рассмотрению способов разделения инструкций, созданию комментариев, переменные, константы и типы данных, операторы.

Первое, что нужно знать относительно синтаксиса PHP, - это то, как он встраивается в HTML-код, как интерпретатор узнает, что это код на языке PHP. Важным элементом каждого языка являются переменные, константы и операторы, применяемые к этим переменным и константам. Переменная в PHP обозначается знаком доллара, за которым следует ее имя. Например $my_var.

Для хранения постоянных величин, т.е. таких величин, значение которых не меняется в ходе выполнения скрипта, используются константы. Такими величинами могут быть математические константы, пароли, пути к файлам и т.п. Основное отличие константы от переменной состоит в том, что ей нельзя присвоить значение больше одного раза и ее значение нельзя аннулировать после ее объявления. Кроме того, у константы нет приставки в виде знака доллара и ее нельзя определить простым присваиванием значения.

Операторы позволяют выполнять различные действия с переменными, константами и выражениями. Переменные и константы - это основные и наиболее простые формы выражений. Существует множество операций (и соответствующих им операторов), которые можно производить с выражениями.поддерживает восемь простых типов данных.

Четыре скалярных типа:

·boolean (логический);

·integer (целый);

·float (с плавающей точкой);

·string (строковый).

Два смешанных типа:

·array (массив);

·object (объект).

И два специальных типа:

·resource (ресурс);

·NULL.

В PHP не принято явное объявление типов переменных.

Оператор if - один из самых важных операторов многих языков, включая PHP. Он позволяет выполнять фрагменты кода в зависимости от условия. Существует несколько расширений этого оператора. Оператор else расширяет if на случай, если проверяемое в if выражение является неверным, и позволяет выполнить какие-либо действия при таких условиях. Еще один способ расширения условного оператора if - использование оператора elseif. PHP предлагает альтернативный синтаксис для if, while, for, foreach и switch.

В каждом случае открывающую скобку нужно заменить на двоеточие (:), а закрывающую - на endif;, endwhile; и т.д. соответственно.

.4 Обработка запросов с помощью PHP

Данная лабораторная посвящена рассмотрению основных понятий клиент-серверных технологий, понятий HTML-формы и отправка данных с ее помощью. Так же дается краткая характеристика методов Post и Get. Рассматриваются механизм получения данных из HTML-форм и их обработка с помощью PHP.

В самом начале курса уже говорилось о том, что PHP - это скриптовый язык, обрабатываемый сервером. Сервер представляет собой набор программ, которые контролируют выполнение различных процессов. Соответственно, этот набор программ установлен на каком-то компьютере. Часто компьютер, на котором установлен сервер, и называют сервером. Основная функция компьютера-сервера - по запросу клиента запустить какой-либо определенный процесс и отправить клиенту результаты его работы. Internet построен по многоуровневому принципу, от физического уровня, связанного с физическими аспектами передачи двоичной информации, и до прикладного уровня, обеспечивающего интерфейс между пользователем и сетью.

Клиентом называют любой процесс, который пользуется услугами сервера. Клиентом может быть как пользователь, так и программа. Основная задача клиента - выполнение приложения и осуществление связи с сервером, когда этого требует приложение [12]. То есть клиент должен предоставлять пользователю интерфейс для работы с приложением, реализовывать логику его работы и при необходимости отправлять задания серверу.

Взаимодействие между клиентом и сервером начинается по инициативе клиента. Существует множество типов серверов.

Обычно на компьютере-сервере работает сразу несколько программ-серверов. Одна занимается электронной почтой, другая распределением файлов, третья предоставляет web-страницы. HTTP (HyperText Transfer Protocol, протокол передачи гипертекста) - это протокол прикладного уровня, разработанный для обмена гипертекстовой информацией в Internet. HTTP предоставляет набор методов для указания целей запроса, отправляемого серверу. Эти методы основаны на дисциплине ссылок, где для указания ресурса, к которому должен быть применен данный метод, используется универсальный идентификатор ресурсов в виде местонахождения ресурса или в виде его универсального имени.

Клиент отсылает серверу запрос в одной из двух форм: в полной или сокращенной. Пример простого запроса: GET #"justify">Пример полного запроса: POST #"justify">Любой запрос клиента к серверу должен начинаться с указания метода. Метод сообщает о цели запроса клиента. Протокол HTTP поддерживает достаточно много методов, но реально используются только три: POST, GET и HEAD. Метод GET позволяет получить любые данные. Метод HEAD используют для получения информации о ресурсе.

4.5 Функции в PHP

Для того чтобы понять зачем нужны функции предлагается рассмотреть пример вычисления факториала натурального числа:

<?phpfact($n){($n==0) return 1;return $fact = $n * fact($n-1);

}fact(3);

// можно было бы написать echo (3*2);

// но если число большое,fact(50);

// то удобнее пользоваться функцией,

// чем писать echo (50*49*48*...*3*2);

?>

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

Функцию можно вызвать после ее определения, т.е. в любой строке программы ниже блока function f_name(){...}. У каждой функции есть список аргументов. С помощью этих аргументов в функцию передается различная информация (например, значение числа, факториал которого надо подсчитать). Каждый аргумент представляет собой переменную или константу. Чтобы использовать внутри функции переменные, заданные вне ее, эти переменные нужно объявить как глобальные. Для этого в теле функции следует перечислить их имена после ключевого слова global:

$var1, $var2;

<?

$a=1;Test_g(){$a;

$a = $a*2;'в результате работы функции $a=',$a;

}'вне функции $a=',$a,', ';_g();"<br>";'вне функции $a=',$a,', ';

Test_g();?>

Если у функции несколько параметров, то те аргументы, для которых задаются значения по умолчанию, должны быть записаны после всех остальных в определении функции, иначе появится ошибка. Функция func_num_args() возвращает число аргументов, переданных в текущую функцию. Она может использоваться только внутри определения пользовательской функции. Если она появится вне функции, то интерпретатор выдаст предупреждение.

4.6 Объекты и классы в PHP

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

class Имя_класса{$имя_свойства;

/*список свойств*/имя_метода( ){

/* определение метода */

}

/*список методов*/

}

Имена свойств объектов класса объявляются с помощью ключевого слова var. Методы, применимые к объектам данного класса, описываются функциями. Внутри определения класса можно использовать ключевое слово this для обращения к текущему представителю класса.

Для описания физических объектов типа "статья" создается класс с именем Articles, состоящий из трех переменных, содержащих характеристики статьи, и двух функций для создания конкретной статьи и для ее отображения.

Допустим, при создании объекта "статья" нужно установить его свойства:

<?Articles { // Создаем класс Статей$title;$author = "Иванов";$description;

var $published;

// метод, который присваивает значения

// атрибутам классаArticles(){

$this->title = $_POST["title"];

$this->description = $_POST["description"];

$this ->published = date("Y-m-d");

}

}

?>

Механизм наследования - очень важная часть всего объектно-ориентированного подхода.

Конструктор - это функция, имя которой совпадает с именем класса.

Имя класса должно удовлетворять правилам именования объектов в языке PHP, но есть ряд имен, которые зарезервированы разработчиками для своих целей. В первую очередь это имена, начинающиеся с символа подчеркивания "_". Для создания классов и функций нельзя использовать такие имена. Кроме того, зарезервировано имя stdClass, поскольку оно используется внутри движка PHP [16].

.7 Работа с массивами данных в PHP

Важной темой в PHP является тема массива. Массив - это тип данных, с данными этого типа должны быть определены операции.

Складывают массивы с помощью стандартного оператора "+". Эту операцию по отношению к массивам точнее назвать объединением. Если есть два массива, $a и $b, то результатом их сложения (объединения) будет массив $c, состоящий из элементов $a, к которым справа дописаны элементы массива $b. Если складываются массивы в языке PHP, то от перемены мест слагаемых сумма меняется.

<?

$a = array("и"=>"Информатика", "м"=>"Математика");

$b = array("и"=>"История","м"=>"Биология", "ф"=>"Физика");

$c = $a + $b;

$d = $b +$a;

print_r($c);

/* получим: Array([и]=>Информатика [м]=>Математика [ф]=>Физика) */_r($d);

/* получим: Array([и]=>История [м]=>Биология [ф]=>Физика) */

?>

Сравнивать массивы можно, проверяя их равенство или неравенство либо эквивалентность или неэквивалентность. Равенство массивов - это когда совпадают все пары ключ/значение элементов массивов. Эквивалентность - когда кроме равенства значений и ключей элементов требуется еще, чтобы элементы в обоих массивах были записаны в одном и том же порядке. Равенство значений в PHP обозначается символом "= =", а эквивалентность - символом "= = =" [18]. Далее рассмотрим еще одну важную операцию с массивом - подсчет количества его элементов. Для ее реализации в PHP есть специальная функция. Функция count. Рассмотрим принцип ее действия на примере.

<?

$del_items = array("langs" => array(

"10"=>"Python", "12"=>"Lisp"),

"other"=>"Информатика");count($del_items) . "<br>";

// выведет 2count($del_items,COUNT_RECURSIVE);

// выведет 4

?>

Функция in_array позволяет установить, содержится ли в заданном массиве искомое значение. Если третий аргумент задан как true, то в массиве нужно найти элемент, совпадающий с искомым не только по значению, но и по типу. Еще одна функция array_search используется для поиска значения в массиве. В отличие от in_array в результате работы array_search возвращает значение ключа, если элемент найден, и ложь - в противном случае.

Функция array_keys() выбирает все ключи массива. Остальные функции более подробно рассмотрены в тексте лабораторной работы.

4.8 Работа со строками в PHP

В одной из первых лабораторных работ приводились три способа задания строк: с помощью одинарных кавычек, двойных кавычек и heredoc синтаксиса.

Существует сокращенный синтаксис для команды echo:

<?=строка_для_вывода?>

Здесь параметр строка_для вывода содержит строку, заданную любым из известных способов, которая должна быть выведена на экран. Например, такой скрипт выведет на экран красным цветом "Меня зовут Лена":

<? $name="Лена" ?>

<font color=red>Меня зовут <?=$name?></font>

Кроме языковой конструкции echo существует ряд функций для вывода строк. Это в первую очередь функция print и ее виды printf, sprintf и т.п.

Функция print позволяет выводить на экран только одну строку и, как и echo, не может быть вызвана с помощью переменных функций, поскольку является языковой конструкцией.

Функция print_r не относится к строковым функциям, как можно было бы подумать. Она отображает информацию о переменной в форме, понятной пользователю.

Функции sprintf и printf обрабатывают переданную им строку в соответствии с заданным форматом.

Для того чтобы определить, входит ли данная подстрока в состав строки, используется функция strpos(). Синтаксис strpos() такой:

strpos (исходная строка,строка для поиска

[,с какого символа искать])

Она возвращает позицию появления искомой строки в исходной строке или возвращает логическое false, если вхождение не найдено. Дополнительный аргумент позволяет задавать символ, начиная с которого будет производиться поиск. Кроме логического false эта функция может возвращать и другие значения, которые приводятся к false (например, 0 или ""). Поэтому для того, чтобы проверить, найдена ли искомая строка, рекомендуют использовать оператор эквивалентности "= = =".

Говоря о выделении подстроки из искомой строки в языке PHP, в первую очередь стоит отметить функцию strstr(): strstr (исходная строка, строка для поиска). Она находит первое появление искомой строки и возвращает подстроку, начиная с этой искомой строки до конца исходной строки. Если строка для поиска не найдена, то функция вернет false. Если строка для поиска не принадлежит строковому типу данных, то она переводится в целое число и рассматривается как код символа. Кроме того, эта функция чувствительна к регистру, т.е. если параллельно искать вхождения слов "Идея" и "идея", то результаты будут разными. Вместо strstr() можно использовать абсолютно идентичную ей функцию strchr().

Функция substr возвращает часть строки длиной, заданной параметром длина, начиная с символа, указанного параметром позиция начального символа. Для замены вхождения подстроки используют функцию str_replace().

.9 Базы данных и СУБД. Взаимодействие MySQL и PHP

В жизни мы часто сталкиваемся с необходимостью хранить какую-либо информацию, а потому часто имеем дело и с базами данных. База данных - это совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ. База данных является информационной моделью предметной области. Обращение к базам данных осуществляется с помощью системы управления базами данных (СУБД). СУБД обеспечивает поддержку создания баз данных, централизованного управления и организации доступа к ним различных пользователей.- это реляционная система управления базами данных [21]. То есть данные в ее базах хранятся в виде логически связанных между собой таблиц, доступ к которым осуществляется с помощью языка запросов SQL. MySQL - свободно распространяемая система, т.е. платить за ее применение не нужно. Кроме того, это достаточно быстрая, надежная и, главное, простая в использовании СУБД, вполне подходящая для не слишком глобальных проектов.

Работать с MySQL можно не только в текстовом режиме, но и в графическом. Существует очень популярный визуальный интерфейс для работы с этой СУБД. Называется он PhpMyAdmin. Этот интерфейс позволяет значительно упростить работу с базами данных в MySQL [21].

Лабораторная работа, связанная с базами данных и СУБД MySQL, будет полезна для тех, кто собирается заниматься администрированием сервера, для остальных же, она будет просто для общего развития.

В дистрибутив PHP входит расширение, содержащее встроенные функции для работы с базой данных MySQL.

Чтобы отобразить данные в браузер с помощью PHP, нужно получить эти данные в виде переменных PHP. При работе с MySQL без посредника выборка данных производится с помощью команды SELECT языка SQL:

mysql> SELECT * FROM Artifacts;

Mysql_result() - возвращает значение одной ячейки результата запроса.

Работая с большими результатами запросов, следует задействовать одну из функций, обрабатывающих сразу целый ряд результата (например, mysql_fetch_row(), mysql_fetch_array() и т.д.). Так как эти функции возвращают значение нескольких ячеек сразу, они намного быстрее mysql_result(). Кроме того, нужно учесть, что указание численного смещения (номера поля) работает намного быстрее, чем указание колонки или колонки и таблицы через точку. Вызовы функции mysql_result() не должны смешиваться с другими функциями, работающими с результатом запроса. Mysql_fetch_array() - это расширенная версия функции mysql_fetch_row(). Помимо хранения значений в массиве с численными индексами, функция возвращает значения в массиве с индексами по названию колонок.

5. Методические разработки лабораторных работ по теме "Java"

.1 Общий обзор материала

Java широко известна как новейший объектно-ориентированный язык, легкий в изучении и позволяющий создавать программы, которые могут исполняться на любой платформе без каких-либо доработок. Программисты могут добавить к этому описанию, что язык похож на упрощенный С или С++ с добавлением garbage collector'а - автоматического сборщика "мусора" (механизм освобождения памяти, которая больше не используется программой). Также известно, что Java ориентирована на Internet, и самое распространенное ее применение - небольшие программы, апплеты, которые запускаются в браузере и являются частью HTML -страниц [18].

Исходный файл на языке Java - это текстовый файл, содержащий в себе одно или несколько описаний классов. Транслятор Java предполагает, что исходный текст программ хранится в файлах с расширениями Java. Получаемый в процессе трансляции код для каждого класса записывается в отдельном выходном файле, с именем совпадающем с именем класса, и расширением class.

Приложения Java обычно компилируются в специальный байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM) независимо от компьютерной архитектуры.

Для изучения Java выбирались основные вопросы. При рассмотрении данных вопросов студенты получат начальные знания, которые станут основой для дальнейшего развития.

В лабораторных работах приведены теоретические сведения по темам предусмотренных планом курса по ИТ. Данные работы содержат большое количество примеров с комментариями. Примеры, приведенные в лабораторных работах, студентам рекомендуется набирать.

Тексты лабораторных работ построены таким образом, что вначале приводятся основные понятия по теме, затем рассматриваются примеры. На основании рассмотренных примеров происходит дальнейшее изучении темы. Лабораторные работы по Java не содержат заданий, которые студентам необходимо выполнять самостоятельно и ненужно ничего придумывать.

Основная работа состоит в изучении теории и наборе примеров. Для закрепления полученных знаний, по каждой теме предусмотрены тесты.

Оцениваться знания студентов рекомендуется по результатам тестов.

Тесты разработаны на основании теорий, приведенной в лабораторных работах, а так же используются коды примеров. Поэтому разбирать нужно не только теорию, а так же уделять особое внимание примерам.

Начинать изучение темы рекомендуется с описания самого языка Java: что это такое, для чего используется, история развития. В теоретических сведениях должны быть даны основные понятия с расшифровками. От более простых вопросов постепенно будем переходить к более сложным темам.

5.2 Введение в Java

Java - это один из лучших языков, доступных серьезным программистам.

Одно из основных преимуществ языка Java - независимость от платформы, на которой выполняются программы: один и тот же код можно запускать под управлением операционных систем Windows, Solaris, Linux, Machintosh и др.

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

Другое преимущество заключается в том, что синтаксис языка Java похож на синтаксис языка C++, и программистам, знающим языки С и C++, его изучение не составляет труда [25].

Кроме того, Java - полностью объектно-ориентированный язык, даже в большей степени, чем C++. Все сущности в языке Java являются объектами, за исключением немногих основных типов (primitive types), например чисел.

Память в языке Java освобождается автоматически с помощью механизма сборки мусора. Программист гарантирован от ошибок, связанных с неправильным использованием памяти.

В Java введены истинные массивы и запрещена арифметика указателей.

Теперь программисты в принципе не могут стереть данные из памяти вследствие неправильного использования указателей.

Исключено множественное наследование. Оно заменено новым понятием - интерфейсом, позаимствованным из языка Objective С.

Интерфейс дает программисту почти все, что тот может получить от множественного наследования, избегая при этом сложностей, возникающих при управлении иерархиями классов.

Рассмотрим простейшую программу, какую только можно себе представить, - она просто выводит сообщение в консольное окно.

class FirstSample

{

public static void main(St ring[] args)

{.out.print In("We will not use 'Hello, World!'");

}

Первый и главный момент - в языке Java строго различаются прописные и строчные буквы. Если вы перепутаете их (например, набрав слово Main вместо main), программа выполняться не будет.

Теперь просмотрим исходный код построчно. Ключевое слово public называется модификатором доступа (access modifier); такие модификаторы управляют доступом к данному коду из других частей программы [18].

Ключевое слово class напоминает, что все сущности в языке Java находятся внутри классов. Классы будут детально рассматриваться ниже, а пока будем считать их некими контейнерами, в которых заключена логика программы, определяющая работу приложения.

За ключевым словом class следует имя класса. Правила образования имен классов не слишком строги. Имя должно начинаться с буквы, а остальная его часть может быть любой комбинацией букв и цифр. Длина имени практически не ограничена. В качестве имени класса нельзя использовать зарезервированные слова языка Java (например, public или if).

Как видно по имени FirstSample, классы принято называть именами существительными, начинающимися с прописной буквы.

Файл, содержащий исходный текст, должен называться так же, как и открытый класс, и иметь расширение java. Таким образом, класс мы должны записать в файл FirstSample.java. Если этого не сделать, то при попытке выполнить компиляцию появиться сообщение об ошибке.

Когда для запуска скомпилированной программы используется команда java ИмяКласса, интерпретатор языка Java всегда начинает свою работу с выполнения метода main указанного класса. Следовательно, чтобы программа вообще могла выполняться, в классе должен содержаться метод main. Разумеется, в класс можно добавить свои собственные методы и вызывать их с помощью метода main.

В соответствии со спецификацией языка Java метод main должен быть объявлен открытым (public).

Теперь рассмотрим следующий фрагмент кода:

{.out.println ("We will not use Hello, World! " ) ;

}

Фигурные скобки отмечают начало и конец тела метода, состоящего лишь из одного оператора. Как и в большинстве языков программирования, операторы языка Java можно считать предложениями. В языке Java каждый оператор должен заканчиваться точкой с запятой. В частности, символ конца строки не означает конец оператора, поэтому оператор может занимать столько строк, сколько потребуется [27].

Тело метода main состоит из оператора, который выводит на консоль одну строку текста.

В данном примере используется объект System.out и вызывает его метод println. Для вызова метода используется точка. В общем случае вызов метода имеет следующий вид:

объект. метод (параметры)

В данном примере вызывается метод println, передавая ему текстовую строку в качестве параметра. Метод выводит этот текст на консоль, выполняя переход на следующую строку. В языке Java, как и в языке C/C++, для разделения строк используются двойные кавычки.

Методы в языке Java, как и функции в любом другом языке программирования, могут иметь один или несколько параметров, либо не иметь их вовсе (в некоторых языках они называются аргументами). Даже если метод не имеет параметров, нужно оставлять пустые скобки. Например, есть вариант метода println без параметров, выводящий на экран пустую строку.

5.3 Eclipse

представляет собой основанную на Java расширяемую платформу разработки с открытым исходным кодом. По сути - это просто среда разработки и набор сервисов для построения приложений на основе встраиваемых компонентов (плагинов). К счастью, в составе Eclipse имеется стандартный набор плагинов, в том числе хорошо известный инструментарий - Java Development Tools (JDT).

В то время как большинство пользователей, применяющих Eclipse в качестве интегрированной среды разработки Java (IDE), вполне им довольны, возможности его гораздо шире [25]. Eclipse также включает в себя среду разработки плагинов (PDE), которая в первую очередь заинтересует тех, кто хочет расширить сам Eclipse, так как позволяет создавать свои инструменты, встраиваемые в среду Eclipse. Поскольку Eclipse полностью состоит из плагинов, у всех разработчиков инструментариев имеется возможность предложить свои расширения к Eclipse и предоставить пользователям последовательную и цельную интегрированную среду разработки (IDE).

Эта целостность и последовательность характерны не только для инструментов Java-разработки. Хотя Eclipse написан на Java, использовать его можно и с другими языками. Структура Eclipse может также использоваться как основа для других типов приложений, не имеющих отношения к разработке ПО, например, систем управления контентом.

Великолепным примером приложения на основе Eclipse является ПО IBM Rational Software Architect, которое легло в основу семейства инструментов IBM для разработки на Java.- это сообщество разработчиков открытого исходного кода, чьи проекты нацелены на построение открытой платформы для разработки, состоящей из расширяемых среды разработки, инструментария и библиотек времени выполнения для построения, развёртывания и управления программным обеспечением в период его жизненного цикла. Фонд Eclipse (Eclipse Foundation) - это некоммерческое поддерживаемое участниками объединение, которое содержит проекты Eclipse и помогает совершенствовать сообщество разработчиков открытого исходного кода и "экосистему" дополняющих друг друга продуктов и сервисов.

Проект Eclipse был создан в ноябре 2001 года компанией IBM и поддержан консорциумом поставщиков программного обеспечения. Фонд Eclipse был создан в январе 2004 года как независимая некоммерческая организация, выступающая распорядителем сообщества Eclipse. Он создавался, чтобы помочь независимому от поставщиков, открытому и прозрачному сообществу вырасти вокруг Eclipse. Сегодняшнее сообщество Eclipse состоит из частных лиц и организаций, представляющих индустрию программного обеспечения.

Рабочее пространство Eclipse состоит из нескольких панелей, называемых представлениями, например навигационное или схематическое представления (navigator or outline views). Набор таких представлений называется перспективой. Одна из наиболее распространённых перспектив - перспектива Ресурсы (Resource), которая представляет собой базовый набор представлений для управления проектами и просмотра, а также редактирования файлов проекта.

Платформа Eclipse содержит мощный набор плагинов, которые поддерживают проекты, такие как JDT и PDE. Рассмотрим упрощенную архитектуру платформы Eclipse.

Тёмно-синие блоки обозначают компоненты, являющиеся центральной частью платформы функционально насыщенных клиентов (Rich Client Platform - RCP) в Eclipse. Сама концепция RCP - это просто набор плагинов из Eclipse, который люди могут использовать в разработке приложений. Светло-голубые блоки представляют необязательные (хотя и рекомендуемые) компоненты для включения в приложения на базе RCP. А серые блоки - совершенно необязательны. Платформа состоит из нескольких компонентов, рассмотрим некоторые из них:- это код, который определяет модель плагинов Eclipse, основанную на спецификации OSGi, а также на представлении о расширениях и точках расширения. Runtime также предоставляет дополнительные сервисы, такие как ведение системного журнала и параллелизм.

Пакет инструментов Standard Widget Toolkit (SWT) представляет собой набор виджетов, отвечающих за пользовательский интерфейс и функции Eclipse. JFace - это просто надстройка над SWT, предоставляющая несколько классов Model-View-Controller (MVC) для облегчения разработки графических приложений.- рабочее пространство придаёт Eclipse его индивидуальность. Именно на этом уровне реализована концепция представлений, перспектив и таких вещей как окна редактирования.(Поддержка Пользователей) - этот компонент Eclipse позволяет предоставлять поддержку вашим пользователям. Это можно сделать через справочную систему, которая позволит пользователям искать справочную документацию, либо с помощью "шпаргалок", которые для конечных пользователей могут представляться как интерактивные списки задач.

Компонент update предоставляет в Eclipse средства, позволяющие обновлять приложения с одной версии на другую.

Компонент team - это инфраструктура, позволяющая фирмам-разработчикам подключать свои собственные системы управления версиями. Образцом реализации провайдера является плагин CVS, встроенный в Eclipse.

Из первоначального кода, написанного компанией IBM, Eclipse перерос в полнофункциональную экосистему с открытым исходным кодом, в которой участвует более 100 компаний. Переносимая, расширяемая инфраструктура с открытым исходным кодом - уже не новая идея, но благодаря хорошо продуманному, надёжному и элегантному дизайну, Eclipse приобретает абсолютно новую динамику.

5.4 Типы данных и операторы в Java

Любая программа манипулирует информацией (простыми данными и объектами) с помощью операторов. Каждый оператор производит результат из значений своих операндов или изменяет непосредственно значение операнда.

В языке Java используются базовые типы данных, значения которых размещаются в стековой памяти (stack). Эти типы обеспечивают более высокую производительность вычислений по сравнению с объектами. Кроме этого, для каждого базового типа имеются классы-оболочки, которые инкапсулируют данные базовых типов в объекты, располагаемые в динамической памяти (heap) [18].

Определено восемь базовых типов данных, размер каждого из которых остается неизменным независимо от платформы: boolean, byte, char, short, int, long, float, double. Без знаковых типов в Java не существует. Каждый тип данных определяет множество значений и их представление в памяти. Для каждого типа определен набор операций над его значениями.

В Java используются целочисленные литералы, по умолчанию относятся к типу int. Если необходимо определить длинный литерал типа long, в конце указывается символ L. Если значение числа больше значения, помещающегося в int, то Java автоматически предполагает, что оно типа long. Литералы с плавающей точкой записываются в виде 1.618 или в экспоненциальной форме 0.112E-05 и относятся к типу double, таким образом, действительные числа относятся к типу double. Если необходимо определить литерал типа float, то в конце литерала следует добавить символ F.

К литералам относятся булевские значения true и false, а также null - значение по умолчанию для ссылки на объект. При инициализации строки всегда создается объект класса String - это не массив символов и не строка. Строки, заключенные в двойные апострофы, считаются литералами и размещаются в пуле литералов, но в то же время такие строки представляют собой объекты.

Операторы Java практически совпадают с операторами C++ и имеют такой же приоритет [26]. Операторы делятся на: арифметические операторы, битовые операторы над целочисленными типами, операторы отношения, логические операторы.

Кроме базовых типов данных, в языке Java широко используются соответствующие классы-оболочки (wrapper-классы) из пакета java.lang: Boolean, Character, Integer, Byte, Short, Long, Float, Double. Объекты этих классов могут хранить те же значения, что и соответствующие им базовые типы. Объекты этих классов представляют ссылки на участки динамической памяти, в которой хранятся их значения, и являются классами-оболочками для значений базовых типов. Классы, соответствующие числовым базовым типам, находятся в библиотеке java.lang, являются наследниками абстрактного класса Number и реализуют интерфейс Comparable.

5.5 Классы и методы в Java

Базовым элементом объектно-ориентированного программирования в языке Java является класс. Напомним, что классы в Java не обязательно должны содержать метод main. Единственное назначение этого метода - указать интерпретатору Java, откуда надо начинать выполнение программы. Для того, чтобы создать класс, достаточно иметь исходный файл, в котором будет присутствовать ключевое слово class, и вслед за ним - допустимый идентификатор и пара фигурных скобок для его тела.

class Point {

}

Имя исходного файла Java должно соответствовать имени хранящегося в нем класса. Регистр букв важен и в имени класса, и в имени файла.

Класс - это шаблон для создания объекта. Класс определяет структуру объекта и его методы, образующие функциональный интерфейс. В процессе выполнения Java-программы система использует определения классов для создания представителей классов. Представители являются реальными объектами. Термины "представитель", "экземпляр" и "объект" взаимозаменяемы. Ниже приведена общая форма определения класса.

class имя_класса extends имя_суперкласса { type переменная1_объекта:переменная2_объекта:переменнаяN_объекта:имяметода1(список_параметров) { тело метода;

}имяметода2(список_параметров) { тело метода;

}имя методаМ(список_параметров) { тело метода;

} }

Ключевое слово extends указывает на то, что "имя_класса" - это подкласс класса "имя_суперкласса". Во главе классовой иерархии Java стоит единственный ее встроенный класс - Object. Если нужно создать подкласс непосредственно этого класса, ключевое слово extends и следующее за ним имя суперкласса можно опустить - транслятор включит их в определение автоматически. Примером может служить класс Point, приведенный ранее.

Данные инкапсулируются в класс путем объявления переменных между открывающей и закрывающей фигурными скобками, выделяющими в определении класса его тело. Эти переменные объявляются точно так же, как объявлялись локальные переменные в предыдущих примерах. Единственное отличие состоит в том, что их надо объявлять вне методов, в том числе вне метода main. Ниже приведен фрагмент кода, в котором объявлен класс Point с двумя переменными типа int.

Point { int х, у;

}

Оператор new создает экземпляр указанного класса и возвращает ссылку на вновь созданный объект. Ниже приведен пример создания и присваивание переменной р экземпляра класса Point. Point р = new Point();

Можно создать несколько ссылок на один и тот же объект.

Методы - это подпрограммы, присоединенные к конкретным определениям классов. Они описываются внутри определения класса на том же уровне, что и переменные объектов. При объявлении метода задаются тип возвращаемого им результата и список параметров. Общая форма объявления метода такова:

тип имя_метода (список формальных параметров) {

тело метода:

}

Тип результата, который должен возвращать метод может быть любым, в том числе и типом void - в тех случаях, когда возвращать результат не требуется. Список формальных параметров - это последовательность пар тип-идентификатор, разделенных запятыми. Если у метода параметры отсутствуют, то после имени метода должны стоять пустые круглые скобки.

В Java отсутствует возможность передачи параметров по ссылке на примитивный тип. В Java все параметры примитивных типов передаются по значению, а это означает, что у метода нет доступа к исходной переменной, использованной в качестве параметра. Заметим, что все объекты передаются по ссылке, можно изменять содержимое того объекта, на который ссылается данная переменная. В языке Java не допускается использование в одной или во вложенных областях видимости двух локальных переменных с одинаковыми именами.

Язык Java позволяет создавать несколько методов с одинаковыми именами, но с разными списками параметров. Такая техника называется совмещением методов (method overloading).

В качестве примера приведена версия класса Point, в которой совмещение методов использовано для определения альтернативного конструктора, который инициализирует координаты х и у значениями по умолчанию (-1).

Point { int х, у;(int х, int у) {

this.x = х;.у = у;

}() {

у = -1;

} }PointCreateAlt {static void main(String args[]) {p = new Point();.out.println("x = " + p.x + " у = " + p.y);

} }

В этом примере объект класса Point создается не при вызове первого конструктора, как это было раньше, а с помощью второго конструктора без параметров. Вот результат работы этой программы:

С:\> java PointCreateAlt

х = -1 у = -1

.6 Объектно-ориентированное программирование в Java

- это так называемый объектно-ориентированный язык, при помощи которого можно заниматься объектно-ориентированным программированием (ООП). Такой стиль программирования очень отличается от процедурного программирования и может показаться немного странным для большинства программистов, не сталкивавшихся с ООП. Прежде всего, надо понять, что такое объект; именно на этом понятии базируется ООП [16].

Объект - это самостоятельный фрагмент кода, который знает о себе и может рассказать об этом другим объектам, если они зададут вопрос, который он понимает. Объект имеет члены (переменные) и методы, являющиеся вопросами, на которые он может ответить (даже если они не выглядят вопросами). Набор методов, на которые объект знает как реагировать, является его интерфейсом. Некоторые методы являются общедоступными (public), это означает, что другой объект может вызвать их. Этот набор методов известен под названием public-интерфейс.

Когда один объект вызывает метод другого объекта, это называется передачей сообщения. Эта фраза соответствует ОО - терминологии, но чаще всего в Java-мире говорят "Вызвать этот метод".

Предположим, что есть объект "Человек". Каждый объект "Человек" имеет имя, возраст, национальность и пол. Каждый объект "Человек" знает, как говорить и ходить. Один объект может спросить у другого о его возрасте, или может сказать, чтобы другой объект начал (или закончил) перемещение. В терминах программирования вы можете создать объект Person и назначить ему некоторые переменные (например, имя и возраст). Если создать второй объект Person, он может спросить у первого его возраст или сказать ему начать перемещение. Он может сделать это путем вызова методов первого объекта Person.

Обычно концепция объекта остается неизменной и в языке Java и в других объектно-ориентированных языках программирования, хотя реализуют они ее по-разному. Эта концепция универсальна [27]. По этой причине объектно-ориентированные программисты, независимо от применяемого ими языка, общаются не так, как процедурные программисты. Процедурные программисты часто говорят о функциях и модулях. Объектно-ориентированные программисты говорят об объектах и часто говорят о них, используя личные местоимения.

Существует три фундаментальных принципа: Polymorphism (Полиморфизм), Inheritance (Наследование),Encapsulation (Инкапсуляция).

Вспомните, что объект является самодостаточной сущностью, содержащей элементы данных и действия, которые он может выполнить с этими элементами. Это реализация принципа, известного под названием сокрытие информации. Идея заключается в следующем. Объект знает о себе. Если другой объект хочет узнать информацию о другом объекте, он должен спросить о ней. В терминах ООП он должен послать сообщение объекту. В терминах Java он должен вызвать метод объекта.

Инкапсуляция гарантирует индивидуальность каждого объекта, а программы представляют собой общение между объектами. Язык программирования Java позволяет программисту нарушить этот принцип, но это почти всегда является плохой идеей.

При вашем рождении, говоря с биологической точки зрения, вы являлись комбинацией ДНК ваших родителей. Вы не были точной копией ни одного из них, но были похожи на обоих. ОО использует для объектов этот же принцип.

В терминах ООП "Человек" и "Ребенок" являются классами в одной иерархии и "Ребенок" наследует характеристики и поведение от своего родителя. Каждый объект "Ребенок" является экземпляром класса "Ребенок", и когда создается объект "Ребенок", создается его экземпляр.

В терминах Java "Человек" - это суперкласс класса "Ребенок". Еще одной концепцией, связанной с наследованием, является абстракция. "Человек" находится на более высоком уровне абстракции, чем "Ребенок". "Человек", в терминах Java, является абстрактным классом. Вы не можете иметь прямой экземпляр класса Человек.

Язык Java позволяет создавать первоклассные объекты, но не все в языке является объектом. Это немного не так, как в некоторых других объектных языках, например Smalltalk. Smalltalk является чистым объектно-ориентированным языком, т.е. все в нем является объектом. Язык Java является смесью объектов и других сущностей, не являющихся объектами. Он также позволяет одному объекту знать внутренности другого. Это нарушает принцип инкапсуляции.

Однако язык программирования Java также предоставляет каждому программисту инструменты, необходимые для следования всем правилам ООП и создания очень хорошего объектно-ориентированного кода. Но это требует некоторой дисциплины. Язык Java позволяет писать понятные, относительно лаконичные и управляемые программы, которые достаточно хороши для большинства профессиональных ситуаций [18].

В языке Java, как и во многих других языках программирования, для создания программы пишется исходный код, затем его компилируют; компилятор проверяет соответствие кода синтаксическим правилам языка. Java-платформа добавляет еще один шаг к этому процессу. После компиляции Java-кода получаются байт-коды.

Виртуальная машина Java затем интерпретирует эти байт-коды во время исполнения - то есть тогда, когда запускается Java-программа.

С точки зрения файловой системы при написании кода создается файл с расширением .java. После компилирования этого файла компилятор Java создает файл с расширением .class, который содержит байт-коды. Java машина читает и интерпретирует этот файл во время исполнения, и то, как она делает это, зависит от платформы. Для работы на других платформах нужно откомпилировать исходный код с библиотеками, специфичными для этой платформы.

5.7 Ввод-вывод в Java

Обобщенное понятие источника ввода относится к различным способам получения информации: к чтению дискового файла, символов с клавиатуры, либо получению данных из сети. Аналогично, под обобщенным понятием вывода также могут пониматься дисковые файлы, сетевое соединение и т.п. Эти абстракции дают удобную возможность для работы с вводом-выводом, не требуя при этом, чтобы каждая часть вашего кода понимала разницу между, скажем, клавиатурой и сетью [26]. В Java эта абстракция называется потоком (stream) и реализована в нескольких классах пакета java.io. Ввод инкапсулирован в классе InputStream, вывод - в OutputStream. В Java есть несколько специализаций этих абстрактных классов, учитывающих различия при работе с дисковыми файлами, сетевыми соединениями и даже с буферами в памяти.- единственный объект в java.io, который работает непосредственно с дисковыми файлами. Каталог в Java трактуется как обычный файл, но с дополнительным свойством - списком имен файлов, который можно просмотреть с помощью метода list.

Для определения стандартных свойств объекта в классе File есть много разных методов. Однако, класс File несимметричен. Есть много методов, позволяющих узнать свойства объекта, но соответствующие функции для изменения этих свойств отсутствуют. В примере используются различные методы, позволяющие получить характеристики файла:

import java.io.File;FileTest {void p(String s) {.out.println(s);

} public static void main(String args[]) {f1 = new File("/java/COPYRIGHT");("File Name:" + f1 .getName());("Path:" + f1.getPath());("Abs Path:" + f1.getAbsolutePath());("Parent:" + f1.getParent());(f1.exists() ? "exists" : "does not exist");(f1.canWrite() ? "is writeable" : "is not writeable");(f1.canRead() ? "is readable" : "is not readable");("is " + (f1.isDirectory() ? " " : "not") + " a directory");(f1.isFile() ? "is normal file" : "might be a named pipe");(f1.isAbsolute() ? "is absolute" : "is not absolute");("File last modified:" + f1. lastModified());("File size:" + f1.length() + " Bytes");

} }

InputStream - абстрактный класс, задающий используемую в Java модель входных потоков. Все методы этого класса при возникновении ошибки возбуждают исключение IOException. Ниже приведен краткий обзор методов класса InputStream.

üRead() возвращает представление очередного доступного символа во входном потоке в виде целого.

üRead(byte b[]) пытается прочесть максимум b.length байтов из входного потока в массив b. Возвращает количество байтов, в действительности прочитанных из потока.

üRead(byte b[], int off, int len) пытается прочесть максимум len байтов, расположив их в массиве b, начиная с элемента off. Возвращает количество реально прочитанных байтов.

üSkip(long n) пытается пропустить во входном потоке n байтов. Возвращает количество пропущенных байтов.

üAvailable() возвращает количество байтов, доступных для чтения в настоящий момент.

üClose() закрывает источник ввода.

üMark(int readlimit) ставит метку в текущей позиции входного потока, которую можно будет использовать до тех пор, пока из потока не будет прочитано readlimit байтов.

üReset() возвращает указатель потока на установленную ранее метку.

üMarkSupported() возвращает true, если данный поток поддерживает операции mark/reset.

Как и InputStream, OutputStream - абстрактный класс. Он задает модель выходных потоков Java. Все методы этого класса имеют тип void и возбуждают исключение IOException в случае ошибки. Ниже приведен список методов этого класса:

üwrite(int b) записывает один байт в выходной поток. Обратите внимание - аргумент этого метода имеет тип int, что позволяет вызывать write, передавая ему выражение, при этом не нужно выполнять приведение его типа к byte;

üwrite(byte b[]) записывает в выходной поток весь указанный массив байтов;

üwrite(byte b[], int off, int len) записывает в поток часть массива - len байтов, начиная с элемента b[off];

üflush() очищает любые выходные буферы, завершая операцию вывода;

üclose() закрывает выходной поток.

Класс FileInputStream используется для ввода данных из файлов.

У класса FileOutputStream - два таких же конструктора, что и у FileInputStream. Однако, создавать объекты этого класса можно независимо от того, существует файл или нет.

ByteArrayInputStream - это реализация входного потока, в котором в качестве источника используется массив типа byte.

StringBufferInputStream идентичен классу ByteArrayInputStream с тем исключением, что внутренним буфером объекта этого класса является экземпляр String, а не байтовый массив.

Все конструкторы и методы, имеющиеся в этом классе, идентичны тем, которые есть в классах InputStream и OutputStream, единственное отличие классов фильтруемых потоков в том, что их методы синхронизованы.

Заключение

Учебный процесс требует постоянного совершенствования. Это связано со сменой приоритетов и социальных ценностей. Научно-технический прогресс все больше осознается как средство достижения такого уровня производства, который в наибольшей мере отвечает удовлетворению постоянно повышающихся потребностей человека, развитию духовного богатства личности. Поэтому современная ситуация в подготовке специалистов требует постоянного изменения, а точнее, усовершенствования стратегии и тактики обучения в вузе. Главными характеристиками выпускника любого образовательного учреждения являются его компетентность и мобильность.

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

В ходе дипломной работы были рассмотрены три основных раздела: JavaScript, PHP и MySQL, Java. Для изучения данных тем курсом предусмотрены лекции, семинары и лабораторные работы.

Основной целью дипломной работы являлась разработка учебно-методического комплекса по интернет - программированию. Для достижения данной цели был сделан обзор современной литературы по JavaScript, PHP и MySQL, Java. Рассмотрены некоторые, но основные возможности данных языков. Большое внимание уделялось объектам, типам данных. Рассматривались основные классы, методы, функции и связанная работа с ними.

Для каждой темы в дипломной работе разработан курс лабораторных работ и методика их преподавания. В лабораторных работах по JavaScript основной упор делается на объяснение темы, приводится большое количество примеров. Задача студентов разобраться и запомнить.

В теме PHP главным является непосредственно самостоятельная работа студентов. Лабораторные работы содержат теорию и примеры, на основе которых студенты разрабатывают свои проекты.

При изучении Java от студентов требуется изучить теорию лабораторной работы и разобрать приведенные примеры. По окончанию лабораторной работы, студентам предлагается пройти тесты, результаты которых покажут их знания.

В результате изучения дисциплины специалист должен знать:

основные понятия ИТ;

основные понятия баз данных;

клиент-серверную архитектуру Web-приложения.

Разработанный учебно-методический комплекс рекомендуется преподавать студентам ВУЗа по курсу ИТ предусмотренного программой.

В результате изучения данного курса специалист овладеет:

навыками программирования в JavaScript;

навыками программирования на Java;

навыками программирования на PHP;

навыками написания SQL-запросов.

Полученные навыки станут основой, необходимым минимумом, которым должен обладать квалифицированный специалист.

Список использованных источников

. Шульга, С.Г. Учебная программа по курсу "Физические интернет-приложения" для специальности 1-31 04 01-04 (управленческая деятельность) / С.Г. Шульга. - УО ГГУ им.Ф. Скорины.- 2011. - 8 с.

2. International Business Machines [Electronic resource]/IBM. - Россия, 2011. - Режим доступа: ibm.com/ru. - Дата доступа: 20.02.2012.

3. Тематические Медиа [Электронный ресурс] /форум.- Россия, 2007. - Режим доступа: habrahabr.ru›Java. - Дата доступа: 20.02.2012.

. Информационные технологии [Электронный ресурс] / Блог о программировании на Java.- Россия, 2010. - Режим доступа: #"justify">Приложение

Примерный список тем курса "Интернет-технологии"

Тема 1. Общие сведения по JavaScript.

Тема 2. Структуру объектов в JavaScript.

Тема 3. Фреймы.

Тема 4. Окна и динамическое управление документами.

Тема 5. Строка состояния и таймеры.

Тема 6. Предопределенные объекты.

Тема 7. Объект Image.

Тема 8. Основы технологии Java.

Тема 9. Eclipse - свободный фреймворк для разработки модульных кроссплатформенных Java-приложений.

Тема 10. Типы данных и операторы в Java.

Тема 11. Классы, методы и интерфейсы в Java.

Тема 12. Объектно-ориентированное программирование.

Тема 13. Ввод-вывод в Java.

Тема 14. Формы и понятие о CGI.

Тема 15. Введение в PHP. Данные в PHP.

Тема 16. Операторы PHP.

Тема 17. Обработка запросов с помощью PHP.

Тема 18. Функции в PHP.

Тема 19. Объекты и классы.

Тема 20. Работа с массивами данных. Строки.

Тема 21. Базы данных и СУБД. PHP и MySQL.

Тема 22. Доступ к базам данных. Современные интернет приложения и PHP.

Похожие работы на - Разработка цикла лабораторных работ по интернет–программированию для студентов непрофильных специальностей

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!