Изучение объектно-ориентированного программирования в школьном курсе информатики на базе языка программирования F#
Моделирование объектов реального мира и описание взаимодействия между ними при изучении объектно-ориентированного программирования в школьном курсе информатики. Области использования кроссплатформенного функционального языка с открытым исходным кодом.
Рубрика | Педагогика |
Вид | статья |
Язык | русский |
Дата добавления | 23.01.2019 |
Размер файла | 285,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.Allbest.Ru/
Размещено на http://www.Allbest.Ru/
Размещено на http://www.Allbest.Ru/
Саратовский государственный университет имени Н.Г. Чернышевского
Педагогические науки
Изучение объектно-ориентированного программирования в школьном курсе информатики на базе языка программирования F#
Векслер В.А., к.п.н., доцент
Аннотация
В статье рассматривается вопрос изучения объектно-ориентированного программирования в школьном курсе информатики, на профильном уровне или в рамках факультативных занятий. Приводятся примеры изучаемых разделов и варианты решенных задач на языке F#.
Ключевые слова: факультатив, информатика, профильный курс, школа, объектно-ориентированное программирование
Рассмотрение основ программирования в базовом курсе информатики осуществляется на основе структурных языков программирования «Basic» и «Pascal». Данный подход на сегодня уже устарел и не отвечает современным технологиям программирования, поэтому становится актуальным вопрос внедрения в школьный курс парадигмы объектно-ориентированного программирования.
Основная цель изучения объектно-ориентированного программирования -- моделирование объектов реального мира и описание взаимодействия между ними. Объектно-ориентированное программирование является ведущим подходом в программировании и реализуется сегодня уже практически в любом современном языке программирования. Изучение данной парадигмы программирования предусматривает рассмотрение основных понятий объектно-ориентированного программирования (класс; экземпляр класса; характеристики, методы, свойства, индексаторы класса; интерфейсы; абстрактные классы), работы с большим числом уже созданных библиотек и созданием персональных компонентов.
Отметим, что на современном этапе развития школьной информатики статус объектно-ориентированного программирования в базовом курсе до сих пор полностью не определен. Методика изучения в школе любых видов объектного программирования разработана совершенно недостаточно, и, как правило, сводится лишь к проектированию в визуальном дизайнере форм. Именно поэтому на современном этапе стоит разделить объектно-ориентированное программирование с визуализацией посредством графических объектов.
В рамках профильных курсов, факультативов, кружковой деятельности по информатики возможно изучения данной парадигмы. Основным языком программирования на основе которого может пройти изучение может стать F#.
F# (произносится эф-шарп) -- это мультипарадигменный язык программирования из семейства языков .NET Framework, поддерживающий функциональное программирование в дополнение к императивному (процедурному) и объектно-ориентированному программированию. Это уже окончательно сформировавшийся кроссплатформенный функциональный язык программирования с открытым исходным кодом. Он позволяет пользователям и организациям решать сложные вычислительные проблемы с помощью простого, удобного в обслуживании и надежного кода.
F# используется в широком диапазоне областей применения и поддерживается как активным открытым сообществом, так и ведущими в отрасли компаниями, предоставляющими профессиональные инструменты. Работать с языком программирования возможно в интегрированных средах разработки (например, Visual Studio), или онлайн-компиляторах (например, ideone.com). объектный ориентированный кроссплатформенный язык
Классы в F# задают с помощью ключевого слова type, за которым следует частное имя класса, знак равенства и ключевое слово class (необязательное). Завершается определение класса ключевым словом end (необязательное). Для того, чтобы задать конструктор, необходимо в определение класса включить компонент с оператором new.
Определение класса должно содержать в себе хотя бы один конструктор, иначе код не будет компилироваться. Для того чтобы определить поле, необходимо добавляют его именем ключевое слово val. По умолчанию поля класса является неизменяемы, для того чтобы сделать поле изменяемым, необходимо добавить перед его именем оператор mutable. Методы класса определяются посредством оператора member.
Рассмотрим примеры заданий
Задача 1. Создайте явным образом класс «Прямоугольник». Продумайте какими полями характеризуется данная фигура. Определите варианты конструирования фигуры (два конструктора). Какие методы может реализовывать прямоугольник?
Задача 2. Создайте явным образом класс «Окружность». Продумайте какими полями характеризуется данная фигура. Определите варианты конструирования фигуры (два конструктора). Какие методы может реализовывать прямоугольник?
Рассмотрев ряд задач проектирования классов в объектно-ориентированном программировании, учащиеся подводятся к основной идее: класс -- это некоторый способ описания сущности, задающий состояние и поведение, зависящее от этого состояния, а также правила для взаимодействия с данной сущностью (контракт). С точки зрения программирования класс необходимо рассматривать как набор данных (полей, атрибутов, членов класса) и функций для работы с ними (методов). С точки зрения структуры программы, класс является сложным типом данных. Представителем класса в основной программе является экземпляр класса.
Введение понятий об абстрактном классе, интерфейсе -- становятся задачами уже более сложного уровня. F# поддерживает только одиночное наследование. Наследование задается с помощью ключевого слова inherit которое идет сразу после class. При вызове любого конструктора потомка автоматически вызовется пустой конструктор предка. Если такого конструктора в предке нет, необходимо явно вызвать в теле конструктора потомка базовый конструктор с помощью ключевого слова inherit.
Задача 3. Построить иерархию классов, начиная с абстрактного класса.
Таким образом, представление классов в F# выглядит более сжато, по сравнению со многими другими языками программирования. Понимание сущности парадигмы объектно-ориентированного программирования прививается более фундаментально.
На начальном уровне происходит изучение основных базовых примеров. Ученики на компьютере, пока что с помощью учителя, пробуют решать задачи, и разбираются с новыми для себя понятиями. Позже они уже начинают придумывать свои сущности и реализовывать их.
Список литературы
1. F Sharp [Электронный ресурс] // Википедия
2. Векслер В.А. Программирование на языке f# в школьном курсе информатики // В сборнике: Информационные технологии в образовании "ИТО-Саратов-2016" Материалы VIII Международной научно-практической конференции. 2016. С. 36-40.
3. Три парадигмы F# [Электронный ресурс]
4. Учебно-методический комплекс "Объектно-ориентированное программирование в профильном курсе информатики [Электронный ресурс] // Инфоурок
Размещено на allbest.ru
Подобные документы
Основные понятия и принципы объектно-ориентированного программирования. Структура программы, типы данных, операторы языка в Object Pascal. Интерфейс интегрированной среды разработки Delphi. Методика обучения визуальному программированию, контроль знаний.
курсовая работа [442,5 K], добавлен 09.07.2012История и роль школьного предмета "Информатика". Общие вопросы изучения алгоритмизации и программирования в школьном курсе информатики. Основные методы преподавания темы "Основы алгоритмизации и программирования". Разработка урока по исследуемой теме.
курсовая работа [55,5 K], добавлен 22.11.2011Язык программирования HTML: его мультимедийные и графические возможности. Требования к оформлению и созданию Web-сайтов. Методические разработки по изучению "Web конструирования" в школьном курсе информатики и информационно–коммуникационных технологий.
курсовая работа [40,7 K], добавлен 12.09.2012Место темы в школьном курсе информатики и ее содержание. Требования к заданиям для среднего школьного возраста по теме "Моделирование и формализация". Основные условия и факторы эффективного обучения учащихся 7 класса информационному моделированию.
дипломная работа [2,5 M], добавлен 13.06.2013Историческое начало и элементы педагогической техники. Педагогическое разрешение и создание конфликта. Ознакомление с особенностями организации и проведения личностно-ориентированных и компьютерных телекоммуникаций в школьном курсе информатики.
дипломная работа [1,0 M], добавлен 10.03.2012Изучение алгоритмизации в школьном курсе информатике. Алгоритм решения вычислительной задачи как совокупность правил преобразования исходных данных в результатные. Разновидности алгоритмов: линейный, ветвящийся, циклический. Способы записи алгоритмов.
курсовая работа [257,5 K], добавлен 27.11.2010Виды компьютерной графики, системы цветов. Растровый графический редактор Paint, векторный редактор MS Office. Методика рассмотрения основных понятий компьютерной графики в школьном курсе. Использование информационных технологий при изучении данной темы.
дипломная работа [1,9 M], добавлен 24.06.2011Сущность теоретических методов познания, примеры их использования в школьном курсе физики. Этапы цикла научного познания. Методы абстрагирования, идеализации, аналогии, моделирования и мысленного эксперимента. Этапы овладения методами в школьном курсе.
курсовая работа [18,3 K], добавлен 02.05.2010Алгоритмическая содержательная линия школьного курса программирования, средства формализованного описания действий исполнителя. Методика изучения раздела "Алгоритм и исполнители" в курсе информатики. Основные формы представления циклического алгоритма.
курсовая работа [363,8 K], добавлен 06.02.2014Изучение XML-ориентированного подхода к созданию баз данных в профильном курсе информатики в средней школе. Логическое представление информации в компьютере. Методика изучения и программа элективного курса "Разработка базы данных на основе языка XML".
дипломная работа [1,1 M], добавлен 18.06.2013