Разработка методики преподавания факультатива по программированию на языке JavaScript (для старших классов с углубленным изучением информатики)
Возьмем, например, объект «Собака». Какими свойствами он может обладать? (порода, имя, цвет шерсти, цвет глаз, внешний вид, вес, наличие ошейника и т. д.). Свойства объекта в определенный момент времени приобретают из множества значений конкретное: порода — пудель, имя — Джек, цвет шерсти — белый, цвет глаз — коричневый, внешний вид — грязный, вес — 15 кг, наличие ошейника — да. Слева от знака… Читать ещё >
Разработка методики преподавания факультатива по программированию на языке JavaScript (для старших классов с углубленным изучением информатики) (реферат, курсовая, диплом, контрольная)
МОСКОВСКИЙ ГОРОДСКОЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА ИНФОРМАТИКИ И ПРИКЛАДНОЙ МАТЕМАТИКИ
Дипломная работа
По теме: «Разработка методики преподавания факультатива по программированию на языке JavaScript (для старших классов с углубленным изучением информатики)»
По специальности: № 30 100.00 «Информатика с дополнительной специальностью»
Исполнитель:
студентка
5 курса группы «И»
вечернего отделения Пасеева Т.В.
Научный руководитель:
доцент,
кандидат технических наук Моисеев В.П.
Москва, 2005
Глава 1.
1.1 Анализ существующей литературы по изучению языка программирования JavaScript.
1.2 Анализ методик обучения по преподаванию программирования (объектно-ориентированный подход)
1.3 Психолого-педагогические особенности развития старших школьников и преподавания программирования в старших классах
Глава 2.
2.1 Программа факультативного курса «Программирование на языке JavaScript».
2.2 Тематическое планирование учебного материала.
2.3 Содержание факультативного курса «Программирование на языке JavaScript».
2.4 Методические рекомендации по изложению теоретической части и выполнению практической части факультативного курса «Программирование на языке JavaScript»
2.5 Результаты апробации
Заключение
Библиография
Приложения
Информатика — в настоящее время одна из фундаментальных областей научного знания, формирующая системно информационный подход к анализу окружающего мира, изучающая информационные процессы, методы и средства получения, преобразования, передачи, хранения и использования информации, стремительно развивающаяся и постоянно расширяющаяся область практической деятельности человека.
В современных условиях, когда компьютер стал непременным атрибутом многих профессий, обучение информатике приобретает очень большое значение. В настоящее время традиционные подходы в области преподавания информатики в школе не способны отследить быстроменяющуюся действительность в области информационных технологий, связанную со стремительным развитием вычислительной техники, операционных систем, организацией, анализом, представлением информации и обеспечением доступа к ней. Возникает необходимость в таком специалисте, который мог бы не только пользоваться современными программными продуктами, но и самостоятельно создавать программы с использованием различных подходов к программированию. В настоящее время объектно-ориентированный подход является одним из наиболее перспективных направлений в программировании. Большое разнообразие языков объектно-ориентированного программирования осложняет их изучение. Изучение всего многообразия продуктов в рамках программы школы не представляется возможным. Поэтому актуальность темы исследования определяется необходимостью наряду с изучением структурных языков программирования дать обучаемым теоретические основы, реализующие общие понятия и принципы объектно-ориентированного программирования, а также выработать практические навыки программирования на объектно-ориентированном языке, что позволит им осваивать и работать с различными объектно-ориентированными языками программирования.
Мы предлагаем реализовать такое обучение объектно-ориентированному программированию на основе факультативного курса. Факультативный курс является одной из форм дифференциации обучения. Он способствует повышению общего уровня образования, творческой разработке и внедрению наиболее эффективных методов и приемов обучения, развитию интересов и разносторонних способностей учащихся.
Цель исследования: разработка методики обучения объектно-ориентированному программированию на основе факультативного курса «Программирование на языке JavaScript».
Объект исследования: методика проведения факультативного курса по программированию.
Задачи исследования:
1. Проанализировать состояние проблемы обучения объектно-ориентированному программированию в общеобразовательной школе.
2. Определить основные принципы методики обучения учащихся основам объектно-ориентированного программирования на языке JavaScript.
3. Разработать необходимый учебно-методический материал, включающий: программу, тематическое планирование, примерное содержание и методические рекомендации.
Глава 1.
1.1 Анализ существующей литературы по изучению языка программирования JavaScript
Книга Г. Буча «Объектно-ориентированный анализ и проектирование с примерами приложений на С++» содержит четкие фундаментальные понятия объектно-ориентированного программирования (ООП) такие, как «объект», «класс объектов», «экземпляр класса», «свойства объекта», «методы и события объекта», «наследование», «инкапсуляция», «полиформизм». Книга ориентирована на преподавание в высших учебных заведениях. Книга может являться инструкцией по теоретическим основам ООП. Приведенные понятия необходимо адаптировать для изучения в старших классах и после этого их можно использовать для преподавания теоретической части ООП в общеобразовательной школе.
Книга Усенкова Д. Ю. «Уроки Web-мастера» ориентирована на преподавание в школьном курсе информатики, доступна для понимания учащимися. В ней рассмотрены основные понятия ООП такие, как «объект», «свойства объекта», «методы объекта», «события объекта», «иерархическая структура». По представленным понятиям можно получить только общее представление об ООП, так как понятия четко не определены. Первоначально в книге описываются общие принципы работы со скриптами, далее рассматривается синтаксис языка. Выделены и представлены в таблице основные операторы языка JavaScript, чаще всего используемые методы и свойства объектов, типовые события и основные принципы работы с ними. Нет четкого разделения объектов на встроенные и внешние, нет описания объектов. Теоретический материал подкреплен малым количеством примеров. Приведено много интересных примеров скриптов, которые учащиеся смогут использовать при создании Web — страницы, предварительно поняв, как тот или иной скрипт работает. Используя примеры готовых скриптов, которые помогут создавать проверку правильности заполнения формы, «активизацию» объекта мышью, навигационные панели и меню, списки с раскрывающимися пунктами, бегущая строка в строке состояния, список посещенных web-страниц, фотоальбом, баннер, книжную сноску, объяснение ссылки в строке состояния, размещать на странице дату и время, добавлять страницы в «Избранное», разработать интерактивный тест учащиеся старших классов смогут создавать дополнительный наглядный материал для преподавания уроков в базовой школе, использовать при создании своих web-страниц и при создании интерактивных документов. Данная книга не полностью реализует объектно-ориентированный подход. Книгу можно использовать как справочное пособие только для преподавателей информатики.
В книге Кингсли-Хью Э., Кингсли-Хью К. «JavaScript 1.5: учебный курс» основные понятия ООП четко не определены, но объяснения понятий можно использовать для разъяснения их смысла. Изучение синтаксиса языка производится на примерах, реализованных в двух браузерах: Internet Explorer и Netscape Navigator.
Рассматриваются основные операторы языка JavaScript, встроенные объекты, присущие им методы, свойства объектов, отдельно рассматриваются события и основные принципы работы с ними. Не рассматривается объектная модель браузера и документа, внешние объекты языка JavaScript. В каждой теме даются рекомендации, предупреждения по эффективному применению языка. Теоретический материал подкреплен большим количеством примеров. Такие примеры, как: использование методов, управление данными с помощью переменных, использование массивов, операторов, создание сценариев с помощью функций и событий, использование внешних объектов, выявление и исправление ошибок в сценариях, будут полезны при разработке практических занятий. Книга снабжена упражнениями. Книга будет полезна преподавателям информатики.
В книге Дмитриевой М. В. «Самоучитель JavaScript» не определены основные понятия ООП. Первая часть книги знакомит с основами программирования на языке JavaScript и содержит простые примеры скриптов, во второй части приводятся сложные примеры скриптов, третья часть ориентирована на программистов, интересующихся лишь отдельными аспектами использования языка JavaScript. Каждый из теоретических разделов книги содержит большое количество примеров решения задач из различных областей: обработка символьной информации, численные расчеты, работа с изображениями, обеспечение навигации по web-документам. Большой раздел книги посвящен решению вычислительных задач. Книга может использоваться преподавателями информатики с точки зрения большого объема примеров математических задач.
Книга Дунаева В. В. «Самоучитель JavaScript» содержит основы программирования на языке JavaScript. Основные понятия ООП определены не четко. Теоретический материал по вопросам, касающимся языка JavaScript, изложен подробно, доступен для освоения учащимися самостоятельно, подкреплен большим количеством примеров: использование типов данных, переменных, операторов, создание функций, массивов, методов, свойств и событий объектов, создание объектов и добавление свойств, работа с окнами и фреймами, динамическое изменение элементов документа, движение, перемещение графических объектов, применение динамических фильтров, обработка данных форм, навигационные меню. Рассматриваются встроенные и внешние объекты языка JavaScript, их методы, свойства и события, приводится обзор объектной модели браузера и документа, выделены основные операторы языка JavaScript. Книга будет полезна преподавателям информатики и учащимся с точки зрения четкости изложенности теоретического материала и многочисленных примеров по всем изучаемым темам.
Проведенный анализ литературы показал, что ни одно из пособий не может использоваться в полной мере для разработки содержания факультативного курса по программированию на языке JavaScript.
1.2 Анализ методик обучения по преподаванию программирования (объектно-ориентированный подход)
Изучение языка программирования JavaScript основывается на объектно-ориентированном подходе. Поэтому его изучение предполагает необходимость реализации объектно-ориентированного подхода.
Проведем анализ известных методик обучения информатике.
В начале 90-х годов А. С. Лесневский предложил изучать в школе элементы ООП. Он предлагал изучать объектно-ориентированную систему программирования Смолток в курсе информатики VII класса, как наиболее последовательно воплощающую принципы ООП. Однако А. С. Лесневский считал, что языки (системы программирования) не являются основным предметом изучения, но поддерживают определенный круг понятий.
Позже А. В. Горячевым совместно с А. С. Лесневским была разработана программа курса информатики для I-IX классов [9], по которой идет изучение таких разделов, как: статическая картина объекта, картина поведения объекта, язык как объект моделирования, информационная модель объекта. Данную программу предполагается изучать в базовой школе.
В учебном пособии Н. В. Макаровой большое внимание уделяется понятию «объект». Изучаются такие понятия как свойства объекта, действие объекта, среда существования объекта, информационная модель объекта, класс объектов, система объектов, отношения и связи между объектами, наследование. Технология программирования изучается на простых объектах и исполнителях, работающих в графических средах.
Понятия объектно-ориентированного подхода первоначально нашли свое отражение при рассмотрении вопросов алгоритмизации, когда алгоритм и его свойства вводились через понятие «исполнителя». В учебных пособиях А. Г. Гейна [12], А. Г. Кушниренко [11], В. А. Каймина не реализуется объектно-ориентированный подход, но их исполнителей можно трактовать как объекты с присущими им методами. Возможность создания собственных исполнителей дает учащимся средство конструирования своих объектов и методов работы с ними.
В базовом курсе информатики И. Г. Семакина, Е. К. Хеннера исполнитель вводится через такие понятия как среда, система команд, режимы работы, данные (типы и структуры). В данном курсе наиболее полно можно определить исполнителя как объект. Изучение различных исполнителей является пропедевтикой понятий объектно-ориентированного подхода, так как имеют объектно-ориентированные черты: объект (исполнитель) и методы (команды).
В учебном пособии Ю. А. Шафрина изучаются вопросы объектно-ориентированного подхода. Здесь рассматриваются такие понятия как объект, набор объектов, абстрактные объекты, приводится пример иерархической структуры. Данное пособие дает первоначальные представления об объектно-ориентированном подходе.
А.Б. Кузнецовым была разработана программа курса «Основы объектно-ориентированного программирования» [10], которая предполагает продолжение изучения курса «Программирование на Паскале», в котором вопросы ООП не рассматривались. Программа предусматривает только теоретическое знакомство с ООП, в которое входит изучение основных понятий и принципов ООП.
Объектно-ориентированный подход рассматривается в программе непрерывного курса информатики Д. В. Новенко и Н. Д. Угриновича для I — XI классов. В программе объектно-ориентированный подход реализуется на основе изучения языка программирования Visual Basic, однако не освящены фундаментальные понятия ООП.
Объектно-ориентированный подход частично реализован в учебниках Н. Д. Угриновича для 9 класса и 10 — 11 классов. Здесь изучаются основные понятия ООП: объект, свойства объекта, классы объектов, методы объектов и события. Теоретический материал ООП раскрыт не полностью: нет четких понятий объекта, метода и события, не объясняются важные принципы ООП такие, как: инкапсуляция, наследование, полиформизм. Объектно-ориентированное программирование реализуется на языке Visual Basic.
Проведенный анализ учебных пособий и программ показал, что методика изучения ООП в общеобразовательной школе разработана недостаточно четко и полно.
Методика обучения ООП должна быть основана на изучении теоретических основ ООП и практической их реализации на языке программирования JavaScript. В теоретической части необходимо конкретизировать и обобщить знания учащихся о таких понятиях, как «объект», «класс объектов», «экземпляр класса», «свойства объекта», «методы объекта», «события объекта», «иерархия объектов», раскрыть принципы ООП: инкапсуляция, наследование, полиформизм и рассмотреть основы объектно-ориентированного программирования на языке JavaScript. Практическая часть должна заключаться в обучении учащихся самостоятельному созданию сценариев и пониманию принципов их работы.
Изучение языка программирования JavaScript поможет овладеть фундаментальными понятиями объектно-ориентированного программирования, научит создавать интерактивные страницы, обрабатывать исходные данные, представленные с помощью различных элементов управления, осуществлять контроль вводимых данных, создавать тестирующие программные продукты, работать с графической информацией и решать математические задачи различной сложности.
1.3 Психолого-педагогические особенности развития старших школьников и преподавания программирования в старших классах
Для успешной реализации методики преподавания факультативного курса «Программирование на языке JavaScript» необходимо рассмотреть возрастные и индивидуальные особенности старшего школьного возраста.
Старший школьный возраст охватывает период от 15 до 18 лет. В этот период завершается подготовка к самостоятельной жизни человека, формирование мировоззрения, выбор профессиональной деятельности. Под действием этих факторов перестраивается вся система отношений старшеклассников с окружающими его людьми, изменяется отношение к самому себе, к школе, к общественно полезной деятельности и учебе, устанавливается определенная взаимосвязь между интересами будущей профессиональной деятельности, учебными интересами и мотивами поведения.
Старший школьный возраст самый трудный для учителей, самый критический для самих старшеклассников. Главным условием налаживания нормальных отношений учителей со старшими школьниками является учет основных групп наиболее ярких интересов. Учитывать интересы — это значит умело направлять имеющиеся интересы в положительное русло, ни в коем случае не потворствуя отрицательным, не одобряемым обществом, социально вредным интересам и увлечениям, «вытеснять» их, активно формируя новые, общественно полезные. Интерес к любому школьному предмету зависит от нескольких условий. Первое из них — это осознание полезности, жизненной значимости изучаемых вопросов лично для него, старшеклассника. О том, что школьные предметы имеют большое жизненное и общественное значение, старшеклассник знает прекрасно, но не всегда видит их значение конкретно для себя. Чтобы вызвать интерес к учению, нужно убедить старшеклассника в практической полезности получаемых знаний. Школьное обучение — это изучение научных понятий, цель которого усвоение теоретических знаний. А теоретические знания — не просто знание фактов, а умение объяснять их. Если ребенка младшего школьного возраста устраивало вообще обучение как таковое, то старшекласснику этого уже мало, он хочет знать больше и глубже «для себя», для собственного развития, так как интерес к собственному Я у подростка выдвигается на передний план. Обучаясь, подросток хочет знать, для чего ему нужны знания, в чем помогут ему лучше ориентироваться, для чего эти знания могут потребоваться в жизни.
В учении формируются интеллектуальные способности, особенно понятийное теоретическое мышление. Это происходит за счет усвоения понятий, совершенствования умения пользоваться ими, рассуждать логически и абстрактно. Старший школьный возраст отличается повышенной интеллектуальной активностью, которая стимулируется не только естественной возрастной любознательностью, но и желанием развить, продемонстрировать окружающим свои способности, получить высокую оценку с их стороны. В этой связи старшеклассники берут на себя наиболее сложные и престижные задачи, нередко проявляют не только высокоразвитый интеллект, но и незаурядные способности.
Следует отметить избирательное отношение старших школьников к учебным предметам. У подростков избирательное отношение почти целиком определяется качеством, уровнем поведения, личностью учителя. У старшеклассников это также имеет место, однако более важная причина избирательного отношения к учебным предметам уже иная — наличие у многих старшеклассников сложившихся интересов, связанных с их профессиональной направленностью. На этой почве наблюдается весьма нежелательное явление — старшие школьники интересуются двумя — тремя профилирующими по отношению к будущей профессиональной деятельности предметами при равнодушии и безразличии к остальным.
В старшем школьном возрасте активно идет процесс познавательного развития. Совершенствуются такие познавательные процессы, как память, речь, мышление, воображение, внимание. Особенно заметным становится рост сознания и самосознания, представляющий собой существенное расширение сферы осознаваемого и углубление знаний о себе, о людях, об окружающем мире. Активно совершенствуется самоконтроль деятельности, являясь вначале контролем по результату или заданному образцу, а затем — процессуальным контролем, т. е. способностью выбирать и избирательно контролировать любой момент и шаг в деятельности. Развивается способность к предварительному планированию деятельности. На интересной, интеллектуально захватывающей деятельности или на такой работе, которая мотивирована соображениями престижности, старшеклассники могут длительное время удерживать внимание, быть в состоянии переключать или распределять его между несколькими действиями и поддерживать довольно высокий темп работы.
Мышление старшеклассника характеризуется стремлением к широким обобщениям. Одновременно с этим складывается новое отношение к учению. Старшеклассников привлекают предметы и виды знаний, где они могут лучше узнать себя, проявить самостоятельность. Самостоятельность мышления проявляется в независимости выбора способа поведения. Старшеклассники принимают лишь то, что лично им кажется разумным, целесообразным и полезным.
Существенно изменяется мыслительная деятельность старших школьников, характер их умственной работы. Большое значение приобретают уроки типа лекций, самостоятельное выполнение лабораторных и других практических работ, все чаще старшеклассникам приходится самостоятельно разбираться в изучаемом материале.
Старший школьник отличается для подростка прежде всего тем, что он перестал метаться, уединяться, замыкаться в себе, уже «перестрадал» неопределенность своего социального статуса, когда считал себя уже не ребенком. В общем прошла пора острых переживаний и настало время сосредоточиться на делах взрослых — на поиске реального места в жизни, выбора достойных жизненных ценностей, определения критериев будущего благополучия, включая профессиональную ориентацию. У старших школьников этот переход проявляется в смене ведущей деятельности — от интимно-личностного общения — к учебно-профессиональной деятельности, от подростковых мечтаний — к реальным и посильным делам. Современные учащиеся 10 — 11 классов понимают, что в рыночных условиях необходимо быть востребованным на рынке труда, где мало иметь документ о среднем образовании, а нужно суметь доказать, на что ты способен, что умеешь делать или можешь чему-то быстро научиться, каковы твои интеллектуальные и моральные качества. В дорыночные и докризисные времена в нашем обществе речь у старшеклассников шла о выборе профессии, то сейчас все более наблюдается иная тенденция. Тесты и собеседования в старших классах «О чем мечтают мои сверстники» показывают, что юноши и девушки мечтают не о каких-то конкретных профессиях, а предпочитают думать о деятельности «со стабильным заработком», «с высоким доходом», о «престижной работе».
В кризисной форме могут проявляться переживания старшего школьника, связанные с непростым для него процессом выбора жизненного пути после выхода из стен школы, уходя из-под ежедневной опеки учителей. Этот процесс пройдет тем легче и незаметней, чем лучше учебный процесс будет связан с практикой, с решением реальных жизненных проблем, чем лучше он будет ориентировать школьников в многообразии проблемных ситуаций.
Старший школьный возраст можно считать благоприятным для формирования профессионально ориентированных знаний, умений и навыков. Ни в одном другом возрасте они не развиваются с такой легкостью и быстротой и так надолго не закрепляются в памяти, как в эти школьные годы.
При изучении программирования на качественно новом уровне формируется культура умственного труда и такие важные характеристики, как умение планировать свою работу, рационально ее выполнять, критически соотносить начальный план работы с реальным процессом ее выполнения.
Изучение программирования требует от учащихся умственных и волевых усилий, концентрации внимания, логичности и развитого воображения. Это должно способствовать развитию таких ценных качеств личности, как настойчивость и целеустремленность, творческая активность и самостоятельность, ответственность и трудолюбие, критичность мышления, способность аргументировать свои взгляды и убеждения.
Изучая программирование, ученики лучше понимают сущность работы компьютеров, их возможности и ограничения. Написав однажды свои собственные (пусть даже незамысловатые, но работающие!) программы, ученики обнаруживают, что компьютеры совсем не похожи на волшебные всемогущие машины, описанные в научно-фантастических рассказах. Ученики понимают, что компьютеры — инструменты, которыми должны управлять люди. Только немногие дети станут профессиональными программистами, или будут иногда программировать на работе, или сделают программирование своим хобби, но все они выиграют от того, что постигли природу программирования и убедились на опыте, что значит создавать свои собственные программы.
Программирование помогает школьникам прочувствовать на собственном опыте и пройти все основные этапы формализованного решения точно сформулированной задачи. Это даёт необычайно сильный толчок для развития интеллекта в целом, и одновременно создаёт благоприятную эмоциональную окраску работе. Для всех учащихся без исключения это помогает развивать навыки мышления и решения задач, а также привычку к аккуратной и систематической работе, а для одарённых детей (прежде всего — в области точных наук) — ещё и так необходимую им новую пищу для размышлений, поисков, раскрепощения скрытых способностей. Формируемое при этом алгоритмическое мышление ценно само по себе. Методы, которые дети освоили на уроках программирования, обязательно будут использоваться позднее при решении самых различных «взрослых» жизненных и профессиональных задач. Возможно, это проявится неосознанно и через много лет после окончания школьного курса информатики, однако, и ради этого стоит учить программированию.
Как правило, ученикам нравится управлять работой компьютера при помощи своих собственных программ. Программирование для некоторых детей становится любимым занятием как в школе, так и дома. «Это почти волшебство — заставлять компьютер делать то, что трудно сделать вручную». «Мне пришлось собрать воедино свою волю и преодолеть собственные слабости, но я смог добиться того, что компьютер сделал то, что мне требовалось!»
При разработке методики обучения ООП необходимо учитывать рассмотренные психолого-педагогические особенности старших школьников. Также необходимо заинтересовать старшеклассников тем, что данный язык популярен при разработке web-страниц. Единственное, что отличает пользующиеся успехом web-сайты от неудачных, — их внешний вид. Чем интереснее оформлен сайт, тем он популярнее. Использование языка JavaScript и применение различных эффектов улучшит подачу материала и сделает страницу более запоминающейся. Язык JavaScript доступен для понимания и привлекает быстротой разработки web-страниц. Для будущей успешной работы в области программирования знание фундаментальных основ ООП поможет довольно легко перейти к изучению других объектно-ориентированных языков программирования.
Выводы по главе 1:
1. Рассмотрены основные фундаментальные понятия ООП как объекта изучения. ООП использует следующие понятия: «объект», «класс объектов», «свойства объекта», «методы и события объекта», «наследование», «инкапсуляция», «полиформизм». Именно эти понятия должны быть отражены в разрабатываемом факультативном курсе «Программирование на языке JavaScript».
2. Проанализирована учебно-методическая литература, посвященная вопросам изучения ООП. Проведенный анализ показал, что методика обучения ООП в общеобразовательной школе разработана недостаточно четко и полно, и что ни одно из пособий не может использоваться в полной мере для разработки содержания факультативного курса.
3. Определено, что методика обучения ООП должна быть основана на изучении теоретических основ ООП и практической их реализации на языке программирования JavaScript.
4. Проанализированы психолого-педагогические особенности развития старших школьников и преподавания программирования в старших классах, которые должны быть учтены при разработке методики обучения ООП и дальнейшей ее реализации.
Глава 2.
2.1 Программа факультативного курса «Программирование на языке JavaScript»
В период перехода к информационному обществу одним из важнейших аспектов деятельности человека становится умение оперативно и качественно работать с информацией, привлекая для этого современные средства и методы. Учитывая малый объем времени, отведенный на изучение программирования в курсе «Информатика и информационно-коммуникационные технологии» и невозможности в рамках основной и старшей школ изучить основы всех парадигм программирования актуальной представляется разработка факультативного курса «Программирование на языке JavaScript», который послужит развитию учащихся, поможет сформировать представление об основах объектно-ориентированного программирования и позволит овладеть навыками самостоятельного создания сценариев для поддержки web-сайтов с помощью языка программирования JavaScript.
Цель проведения факультативного курса — углубление и расширение, обобщение и систематизация знаний, полученных учащимися в основной школе, овладение навыками самостоятельного создания сценариев для поддержки web-сайтов, выполнение численных расчетов и разработка интерактивных документов с помощью языка программирования JavaScript.
Задачи проведения факультативного курса:
учащиеся должны знать:
— основные понятия и принципы объектно-ориентированного программирования;
— практические приемы подготовки сценариев;
учащиеся должны уметь:
— организовывать работу со стандартными объектами;
— создавать интерактивные документы;
— обрабатывать текстовую информацию и работать с графической информацией;
— выполнять численные расчеты.
Базис для построения новой системы знаний составляют сформированные у учащихся в основной школе понятия, относящиеся к объектно-ориентированному программированию, знание основ алгоритмизации и программирования на основе структурного подхода, а также знание основ языка HTML.
Факультативный курс рассчитан на преподавание как в X, так и в XI классах с углубленным изучением информатики, изучение которого возможно реализовать на физико-математическом и информационно-технологическом профилях. Длительность курса 50 часов. Курс предусматривает выделение половины всего времени на практическую работу на компьютере.
Данная программа состоит из трех основных разделов:
1. Основы объектно-ориентированного программирования.
2. Основы программирования на языке JavaScript.
3. Разработка итогового проекта.
Программное обеспечение факультативного курса
«Программирование на языке JavaScript».
1. Операционная система Windows 982 000XP.
2. Web-браузер Microsoft Internet Explorer версии 4 и выше.
3. Текстовый редактор «Блокнот».
4. Редактор web-страниц Microsoft FrontPage.
Методическое обеспечение факультативного курса
«Программирование на языке JavaScript».
1. Дмитриева М.В. Самоучитель JavaScript.
2. Дунаев В. В. Самоучитель JavaScript.
Содержание программы
Основы объектно-ориентированного программирования
Понятие объекта, отличительные признаки объекта, свойства объекта, его методы и события. Классы объектов, экземпляр класса. Иерархия объектов. Понятие инкапсуляции, понятие наследования, понятие полиформизма.
Учащиеся должны знать:
— что такое объект, свойства, методы, события объекта, класс объектов, экземпляр класса, иерархия;
— в чем состоит суть понятия инкапсуляции и полиформизма;
— что такое наследование и его преимущества;
— отличие ООП от структурного программирования.
Учащиеся должны уметь:
— выделять класс по совокупности объектов;
— выделять объекты из предметной области;
— охарактеризовывать объект по описанию класса.
Основы программирования на языке JavaScript
1.
Введение
в язык программирования JavaScript. Ввод и вывод данных. Переменные в языке JavaScript.
Понятие программы на языке JavaScript. Инструменты написания сценариев. Размещение сценария. Типы данных. Метод alert. Метод confirm. Метод prompt. Имена переменных. Создание переменных. Глобальные и локальные переменные.
Учащиеся должны знать:
— что такое сценарий;
— инструменты написания сценариев;
— какие типы данных используются в языке JavaScript;
— назначение метода alert, метода confirm, метода prompt;
— правила записи имен переменных;
— отличие между глобальными и локальными переменными.
Учащиеся должны уметь:
— создавать сценарий и размещать в нужном месте;
— осуществлять ввод и вывод данных;
— создавать переменные.
2. Использование операторов в языке JavaScript.
Комментарии. Оператор обработки строк. Арифметические операторы. Операторы присвоения. Операторы сравнения. Логические операторы. Операторы ветвления. Операторы цикла.
Учащиеся должны знать:
— основные операторы языка JavaScript;
— синтаксис записи операторов.
Учащиеся должны уметь:
— создавать сценарии с использованием изученных операторов.
3. Использование функций в языке JavaScript.
Объявление функции. Вызов функции или ее результата. Встроенные функции. Рекурсия. Класс Function.
Учащиеся должны знать:
— встроенные функции языка JavaScript;
— для чего используется класс Function и синтаксис записи объектов класса.
Учащиеся должны уметь:
— объявлять и вызывать функцию;
— создавать функции с использованием рекурсии;
— создавать сценарии с использованием изученных функций.
4. Классы объектов языка JavaScript.
a. Встроенные классы объектов.
Обращение к свойствам и методам объекта. Создание и удаление объекта. Операторы для работы с объектами.
Класс Object. Класс String. Класс Number. Класс Math. Класс Date. Класс Boolean.
b. Пользовательские классы объектов.
Создание классов. Определение свойств. Определение методов. Использование прототипов. Наследование классов объектов.
c. Внешние классы объектов.
Объектная модель браузера и документа. Использование событий. Порядок событий onmouse. Объект event. Прохождение событий. Объект window, объект document, объект location, объект history, объект navigator, их свойства, методы и события.
Учащиеся должны знать:
— операторы для работы с объектами;
— основные классы объектов и синтаксис записи объектов класса;
— основные свойства, методы и события объектов;
— что такое прототип и синтаксис его записи;
Учащиеся должны уметь:
— обращаться к свойствам и методам объекта;
— использовать события при создании сценариев;
— создавать и удалять объекты;
— добавлять свойства и методы к объектам;
— создавать класс объектов.
5. Использование массивов в языке JavaScript.
Определение массива. Класс Array. Многомерные массивы.
Учащиеся должны знать:
— синтаксис определения массива и синтаксис записи объектов класса Array;
— свойства и методы класса Array;
Учащиеся должны уметь:
— создавать одномерный и многомерный массив;
— обращаться к элементам массива;
6. Работа с формами.
Объект form, его свойства, методы, события. Обращение к формам документа. Коллекция elements.
Учащиеся должны знать:
— свойства, методы и события объекта form;
— что такое коллекция elements;
— свойства, методы и события элементов управления.
Учащиеся должны уметь:
— обращаться к формам документа;
— обращаться к элементам формы;
— использовать свойства, методы и события элементов управления.
7. Работа с изображениями.
Объект Image и его свойства. Движение изображения. Смена изображений. Изменение изображения путем выбора из списка. Просмотр изображений путем листания.
Учащиеся должны знать:
— для чего используется класс Image и синтаксис записи объектов класса;
Учащиеся должны уметь:
— обращаться к объектам класса Image;
— загружать и отображать изображения;
Разработка итогового проекта.
Создание и отладка проекта.
2.2 Тематическое планирование учебного материала
Тема учебного занятия | Кол-во часов | |
1. Основы объектно-ориентированного программирования | ||
2. Введениев язык программирования JavaScript. Ввод и вывод данных. Переменные в языке JavaScript. | ||
3. Использование операторов в языке JavaScript. | ||
4. Использование функций в языке JavaScript. | ||
5. Классы объектов языка JavaScript. а. Встроенные классы объектов. b. Пользовательские классы объектов. c. Внешние классы объектов. | ||
6. Использование массивов в языке JavaScript. | ||
7. Работа с формами. | ||
8. Работа с изображениями. | ||
9. Разработка итогового проекта. | ||
10. Резерв. | ||
Итого: | ||
Контроль знаний, умений, навыков.
После изучения факультативного курса «Программирование на языке JavaScript» необходимо осуществить контроль полученных теоретических знаний и практических навыков работы.
Для проверки знаний по теоретической части курса можно использовать тест, который будет представлен в виде интерактивной формы (Приложение I), созданной с применением языка программирования JavaScript. Такой тест был разработан автором дипломной работы. Тест состоит из 40 заданий тестовой формы (Приложение II) с выбором одного правильного ответа. На ответы отводится 40 минут. Использование такой формы проверки позволит учителю: во-первых, проверить уровень знаний по теоретической части курса, во-вторых, продемонстрировать учащимся как полученные знания применяются на практике, в-третьих, сократит время, отводимое на проверку заданий тестовой формы.
Контроль знаний по практической части курса можно осуществить, анализируя выполненные учащимися проекты.
2.3 Содержание факультативного курса «Программирование на языке JavaScript»
Занятие 1. Основы объектно-ориентированного программирования.
Основополагающим понятием объектно-ориентированного программирования является понятие объекта. «Объект представляет собой конкретный опознаваемый предмет, единицу или сущность (реальную или абстрактную), имеющую четко определенное функциональное назначение в данной предметной области».
С понятием объекта связаны три отличительных признака: состояние (state), поведение (behavior) и идентичность (identify).
Состояние объекта характеризуется перечнем всех свойств данного объекта и текущими значениями каждого из этих свойств. К свойствам относятся, например такие, как время, красота, цвет, эмоции (любовь или гнев). Для торгового автомата состояние определяется суммой денег, опущенных до нажатия кнопки выбора. Одним из свойств торгового автомата является способность принимать монеты.
Объект обладает целостностью, которая не должна, а, в действительности, не может быть нарушена. Объект может только менять состояние, вести себя, управляться и становиться в определенное отношение к другим объектам, но свойства, которые характеризуют объект и его поведение, остаются неизменными. Например, лифт характеризуется теми неизменными свойствами, что он может двигаться вверх и вниз, оставаясь в пределах шахты.
Поведение — это то, как объект действует и реагирует. Поведение объекта реализуется через совокупность операций, которые он может выполнить. Операцией называется определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию.
В объектно-ориентированных языках программирования операции, выполняемые над объектами, называются методами.
Рассмотрим торговый автомат. Мы можем сделать выбор, но поведение автомата будет зависеть от его состояния. Если мы не опустили в него достаточную сумму, скорее всего ничего не произойдет. Если же денег достаточно, автомат выдаст нам желаемое (и тем самым изменит свое состояние). Итак, поведение определяется выполняемыми над ним операциями и его состоянием.
Идентичность (индивидуальность) — это природа объекта. То, что отличает его от других объектов в конкретной области.
Итак, в каждый момент времени объект характеризуется присущим именно ему набором свойств (properties) и методов (methods) — операций, совершаемых над данным объектом, а также объект реагирует на события (events). Событие — это действие, распознаваемое объектом, после чего следует реакция со стороны объекта.
Возьмем, например, объект «Собака». Какими свойствами он может обладать? (порода, имя, цвет шерсти, цвет глаз, внешний вид, вес, наличие ошейника и т. д.). Свойства объекта в определенный момент времени приобретают из множества значений конкретное: порода — пудель, имя — Джек, цвет шерсти — белый, цвет глаз — коричневый, внешний вид — грязный, вес — 15 кг, наличие ошейника — да. Слева от знака тире указаны наименования свойств, справа — значения свойств. Если значение свойства нельзя изменить, то такое свойство называется постоянным, иначе оно называется переменным. Среди всех свойств особое место занимают логические свойства, т. е. такие свойства, которые принимают только два значения: True (истина) и False (ложь). Какие свойства в нашем примере являются постоянными, а какие переменными? (Постоянными свойствами являются свойства «порода» и «цвет глаз», остальные свойства являются переменными; имя для собаки можно придумать другое, шерсть перекрасить, собаку можно помыть, накормить, снять ошейник). Свойство «наличие ошейника» является логическим.
Какие методы (действия) могут быть у собаки? (Лаять, кусаться, грызть кость, сторожить, вилять хвостом). Как и всякий объект, собака может реагировать, а может и не реагировать на события.
Если положить перед собакой аппетитную косточку, то для нее возникнет событие «Кость». Поскольку у всех собак имеется «встроенный метод» — «грызть кость», то возникает соответствующая реакция: собака начинает ее грызть. Если же попытаться организовать событие «Ко мне!», то реакции может не последовать, поскольку собаки от рождения не обладают этим методом. Для того, чтобы собака могла распознавать данное событие, придется писать специальный «программный код», попросту говоря, дрессировать собаку.
По определению Г. Буча: «Объектно-ориентированное программирование — это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса, а классы образуют иерархию наследования».
Такой подход объективно обусловлен тем, что окружающий нас мир состоит их целостных объектов, которые обладают определенными свойствами и поведением. Ранее при использовании технологии структурного программирования предусматривалось «расчленение» объекта, описание его свойств отдельно от поведения.
В технологии ООП объекты сохраняют свою целостность, все свойства объекта и его поведение описывается внутри самого объекта.
С понятием объекта связано понятие класс. Объект обозначает конкретную сущность, определенную во времени и в пространстве, класс определяет лишь абстракцию существенного в объекте.
Абстракция — совокупность существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов, таким образом, четко определяют особенности данного объекта с точки зрения дальнейшего рассмотрения и анализа.
В соответствии с определением применяемая абстракция реального предмета существенно зависит от решаемой задачи: в одном случае нас будет интересовать форма предмета, в другом — вес, в третьем — материалы, из которых он сделан и т. д.
Итак, класс — это некоторое множество объектов, имеющих одну структуру и поведение. Объект, принадлежащий классу, получив конкретные значения свойств, называется экземпляром.
К традиционным преимуществам ООП относятся инкапсуляция или скрытие (encapsulation), полиформизм (polymorphism) и наследование или повторное использование (reuse).
Объединения всех свойств предмета (составляющих его состояние и поведение) и ограничения доступа к реализации этих свойств получило название инкапсуляция.
Инкапсуляция позволяет в максимальной степени изолировать объект от внешнего окружения. Обращение к свойствам объекта не через его действия недопустимо. Тем самым принцип инкапсуляции существенно повышает надежность разрабатываемых программ.
Необходимость ограничения доступа предполагает разграничения двух частей в описании абстракции:
интерфейс — совокупность доступных извне элементов реализации абстракции (основные характеристики состояния и поведения);
реализация — совокупность недоступных извне элементов реализации абстракции (внутренняя организация абстракции и механизмы реализации ее поведения).
Для примера рассмотрим коробку передач в автомобиле. Она инкапсулирует данные о режиме работы двигателя, учитывая ускорение, уклон шоссе, положение ручки переключателя передач и т. п. У вас, как пользователя, есть только один способ воздействия на эту сложную инкапсуляцию: путем перемещения рукоятки переключения передач. Вы не можете воздействовать на коробку передач, например, с помощью сигнала поворота или дворников стекла. Следовательно, рукоятка переключения передач является четко определенным интерфейсом коробки передач. Но это еще не все: то, что происходит внутри коробки передач не влияет на объекты, расположенные вне ее. Например, с помощью коробки передач нельзя включить фары. Поскольку механизм коробки передач использует инкапсуляцию, десятки производителей могут изменять ее конструкцию по своему усмотрению. Однако с точки зрения водителя все они работают одинаково.
Объектно-ориентированная методология, так же как и структурная, преследует целью построение иерархического дерева взаимосвязей между объектами. Иерархия — упорядоченная система абстракций.
В структурном программировании целое разделяется на составные части, которые связываются между собой с помощью иерархической схемы, а в ООП иерархическая схема используется при наследовании.
Наследование — это такое отношение между объектами, когда один объект повторяет структуру и поведение другого.
Принцип наследования действует в жизни повсеместно и повседневно. Например, класс «Животное» имеет свойства «наличие головы», «наличие конечностей», методы «идти», «размножаться». Созданный на его основе класс «Птицы» наследует все свойства и методы, характерные животным, к которым добавляется свойство «наличие крыльев» и метод «умение летать».
В программировании принцип наследования позволяет создавать новые классы, повторно используя уже готовый исходный код и не тратя времени на его переписывание.
Еще один принцип, который используется в ООП, называется принципом полиформизма.
Полиформизм — это свойство различных объектов выполнять одно и тоже действие разными способами, т. е. некоторые свойства объектов, сохраняя название, изменяются по сути.
Полиформизм обеспечивает возможность задания различных реализаций некоторого единого по названию метода для классов различных уровней иерархии.
Например, действие «бежать» свойственно большинству животных. Однако каждое из них (лев, слон, черепаха, крокодил) выполняет его по-своему. В рамках ООП поведенческие свойства объекта определяются набором входящих в него методов. Изменяя алгоритм того или иного метода в потомках объекта, мы можем придавать этим потомкам отсутствующие у родителя специфические свойства. Полиформизм означает, что для различных родственных объектов можно задать множество способов в реализации одного и того же действия. Затем для каждого конкретного объекта составляется свой метод, который выполняет это действие непосредственно для данного объекта. Причем все эти методы могут иметь одно и тоже имя. При традиционном подходе к программированию, животных будет перемещать программист, вызывая для каждого животного и каждого действия свою подпрограмму. При объектно-ориентированном подходе, программист только указывает какому объекту, какое их присущих ему действий требуется выполнить и (для рассматриваемого примера) однажды описанные объекты-животные сами будут себя передвигать характерным для них способом, используя входящие в него методы. Действие «бежать» будет называться полиформическим, а многообразие форм проявления этого действия — полиформизмом.
Занятие 2.
Введение
в язык программирования JavaScript. Ввод и вывод данных. Переменные в языке JavaScript.
Понятие программы на языке JavaScript.
Язык программирования JavaScript — это язык написания сценариев, встраиваемых в Web-страницы. Язык JavaScript поддерживается такими браузерами, как Netscape Navigator и Microsoft Internet Explorer.
Программой на языке JavaScript называется сценарий (script).
Сценарий — это последовательность операторов, которая обрабатывается встроенным в браузер интерпретатором. Сценарии на языке JavaScript включаются в Web-страницу в виде исходного текста. Программа-интерпретатор работает совместно с исходным текстом, она разбирает каждую инструкцию исходного текста (интерпретирует ее) и немедленно исполняет.
Инструменты написания сценариев.
Для написания исходного текста сценария используется:
1. Текстовый редактор Windows Notepad.
2. Средства визуального проектирования. В качестве средств визуального проектирования используются HTML-редакторы, позволяющие вставлять в Web-страницы сценарии. К таким средствам относятся Microsoft FrontPage и Macromedia Dreamweaver.
Размещение сценария.
Использование сценариев языка JavaScript может быть осуществлено:
1) за счет включения блока SCRIPT в HTML-код. Для включения сценариев, написанных на языке JavaScript, в HTML-код используется блок SCRIPT. Назначение данного блока — указать браузеру, что содержимое блока, заключенное между открывающим и закрывающим тегами, является сценарием.
Этот блок вставляется внутри блока HEAD, также может вставляться внутри блока BODY, в параметре language тега
2) за счет подключения к Web-странице внешнего файла с расширением .js.
Сценарий, написанный на языке JavaScript, может содержаться в отдельном файле. Это удобно, например, когда один и тот же сценарий используется на нескольких страницах. Для этого в текстовом файле с расширением .js записывается сценарий без блока SCRIPT и в месте вызывающем этот сценарий HTML-страницы записывается блок SCRIPT с указанием внешнего файла:
3) за счет встроенного сценария.
Встроенный сценарий - это сценарий, помещенный в HTML-теги web-страницы. Встроенный сценарий содержится в теле страницы, его не нужно помещать в блок SCRIPT - достаточно записать событие onclick в соответствующем теге.
Пример:
Сообщение
Типы данных Данные, которые хранятся в компьютере и подвергаются обработке, можно отнести к различным типам.
Строковый или символьный тип данных (string). Строка — связанный набор символов, включающий в себя буквы, знаки препинания и цифры. Строки, вставляемые в сценарий, написанные на языке JavaScript, заключаются в двойные или одинарные кавычки, например:
" Привет"
Строка «», не содержащая ни одного символа (даже пробела), называется пустой. При этом строка, содержащая хотя бы один пробел (например, ««), не пуста.
Числовой тип данных (number). Данные числового типа — это число, последовательность цифр, перед которой может быть указан знак числа (+ или -). Целая и дробная части числа разделяются точкой. Числа записываются без кавычек.
В языке JavaScript используются два типа чисел. Это целые числа (integer) и числа с плавающей точкой (floating-point number). Целые числа находятся в диапазоне от -10−308 до 10 308. Числа с плавающей точкой представляют собой числа с дробной десятичной частью (например, 3.141 596), либо числа в экспоненциальной форме (например, 3.76е2).