Изучение объектно-ориентированного программирования в школьном курсе информатики на базе языка программирования 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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.