Разработка приложения для обучения программированию на языке Python учеников 8-9 классов

XXII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Разработка приложения для обучения программированию на языке Python учеников 8-9 классов

Мокина Д.А. 1
1Муниципальное казённое общеобразовательное учреждение "Бисертская средняя школа №1»
Пылаева Е.М. 1
1МКОУ "Бисертская средняя школа №1"
Автор работы награжден дипломом победителя II степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

  1. Мною была выбрана тема проекта «Разработка приложения для обучения программированию на языке Python учеников 8-9 классов»

Цель: разработка приложения для обучения программированию учеников 8-9 классов

Задачи:

  1. Изучить уровень знаний учеников 9-10 классов и доступность материала по программированию на языке Python

  2. Изучить платформы и курсы по обучению программированию на языке Python

  3. Разработать приложение на основе полученных данных

  4. Протестировать готовое приложение

всц

Актуальность выбранной темы: в настоящее время IT-специалисты очень востребованы на рынке труда из-за стремительно развивающихся технологий. Навыки программирования, полученные в программе 8-9 классов по информатике, дают базовые знания о программировании не только на языке Python, но и являются базой для изучения других языков. Чуть более углублённые знания позволят трудоустроится на хорошо оплачиваемые должности. Так же знание и понимание основных принципов программирования развивает внимательность, умение выстраивать длинные логические цепочки, а также креативность.

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

Объект исследования: обучение программированию в 8-9 классах

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

1.Теоретическая часть

1.1 Анкетирование

Для определения актуальности проекта я провела электронное анкетирование среди обучающихся 9-10 классов (Приложение 1), которое показало, что всего 21% учеников не испытывали никаких сложностей с изучением программирования в 8-9 классах, а почти 58% даже после завершения изучения не могут самостоятельно составить алгоритмы.

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

1.2 Язык программирования Python

Идея языка Python пришла к Гвидо ван Россуму в конце 1980-х годов, а в декабре 1989 началось его создание. Язык задумывался как наследник языка ABC, то есть для использования непрограммистами в повседневных целях и для изучения основ программирования. Эта идея была реализована, так как сейчас Python считается одним из самых лёгких языков. Первая версия была выпущена в январе 1994 года, но доступным язык стал раньше, после выпуска версии 0.9.0 в феврале 1991 года. Последней же полноценной версией является 3.12, вышедшая 2 октября 2023, но на данный момент идёт разработка версии 3.13.

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

Python – высокоуровневый язык с динамической типизацией и автоматическим управлением памятью. Это всё даёт возможность быстро писать программы на нём, не отвлекаясь на длинные обозначения и отдельное объявление типов. Его лёгкость для усвоения определяется совокупностью объектно-ориентированного типа и минималистичности, то есть связи объекта и его данных и методов, и полу-интуитивно понятных команд.

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

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

Помимо обучения, как уже было сказано, Python используется профессиональными программистами. Широкое применение он получил с развитием искусственных интеллектов, большинство которых написано именно на нём, например известный ChatGBT. Помимо этого, Python используется при разработке мобильных и компьютерных приложений, веб-разработке и аналитике.

1.3 Язык программирования С#

С# (Си Шарп) – язык семейства С, история которого начинается в 1969 году, с выпуском первого языка в этой линейке: B. От него в большей степени пошли императивные языки программирования, то есть те, которые исполняют точные действия, задающиеся ключевым словом (функцией или оператором). Структура языка С# похожа на структуру В. Следующий язык планировали назвать NB (NewB), но в процессе разработки новый язык стал сильно отличаться от своего предшественника, и название было изменено на С. Дальнейшие языки (С++ и С#) близки к нему по синтаксису и употреблению.

Сам С# был разработан в период с 1998 по 2001 год и приурочен к выходу в компании Microsoft платформы для разработки приложений .NET. Язык разрабатывался специально для неё, что и определило его основную направленность. С# продолжил линейку усовершенствований языка С (С-С++-С++++(С#)). Его создатели - Скотт Вилтамут и Андерс Хейльсберг. К С# так же было выпущено специальное приложения для написания кода – Visual Studio

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

1.4 Среда Unity

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

Основная идея Unity – понятный интерфейс и простота использования, что и делает платформу такой популярной. Среда даёт возможность разрабатывать приложения для 25 платформ, в том числе Mac, Windows, Linux, VR и так далее.

Основой интерфейса является принцип Drag&Drop (перетаскивание и щелчок), множество окон, в которых можно отслеживать состояние и свойства объектов, отладка прямо в редакторе.

Свое распространение Unity получил за счёт своей доступности, ведь необходимость платной версии приложения возникает только если доход от игр, созданных на этой платформе, превышает 100 тысяч долларов в год. Движок позволяет модулировать физические среды, и то, что отличает его от других платформ – имеет визуальный редактор.

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

На данный момент в Unity созданы такие игры, как Pokemon Go, Мой говорящий Том, AngryBirds, Granny, GenshinImpact и другие.

2.Практическая часть

2.1 Создание приложения

В начале работы я нарисовала несколько эскизов того, как может выглядеть приложение, а также некоторые элементы интерфейса в приложении Krita. Было нарисовано 3 варианта компьютера: стандартный (синий), при верном ответе (зелёный) и при ошибке (красный). Так же я нарисовала окно ввода программы пользователем, окно диалога с компьютером (примеры ввода) и окно примера программ.

После этого я создала проект в Unity с типом 2D, после чего создала меню, разделив темы на 3 блока: Ввод и вывод, арифметика и оператор if. Эти темы – основное, что изучают в 8-9 классах. Каждый блок я разделила ещё на 2 части (уровни). Каждый уровень имеет примерно одинаковую структуру: теоретическая часть с примерами написания функций и операторов, пояснениями их работы и от 2 до 5 упражнений для отработки полученного материала.

Теоретическая часть занимала много места, и в процессе подбора наиболее оптимального метода я пришла к scroll-scroll-container – специально настраиваемые поля, которые можно прокручивать при зажатии мышкой центральной части экрана.

При создании уровней я использовала технику ввода текста через Input Field и передачу введённой информации через кнопку в программу(скрипт). В самой программе введённые данные разбиваются построчно и заносятся в массив. Далее массив обрабатывается, удаляются лишние пробелы (в начале и конце) и после этого я проверяю введённое через оператор if-else. Каждый элемент массива проверяется на соответствие правильно написанной программы и каждой её вариации. Так, например, если первая строка программы должна содержать ввод строки с клавиатуры, происходит проверка со второго символа на соответствие строке “=input ()”. Проверка происходит со второго символа, поскольку первый – название переменной, которое пользователь задаёт самостоятельно.

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

Все задания по своей структуре похожи друг на друга, кроме 1-ого и 3-его заданий 2 уровня – в них нужно не написать программу, а выбрать правильный ответ. Эти задания реализованы через кнопки, где для каждой из них в скрипте существует свой блок команд.

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

На каждом уровне есть кнопки перехода в меню, в теории и к заданиям. Они реализованы по тому же принципу, как задания 1 и 3 на уровне 2.

Ссылка на продукт: https://disk.yandex.ru/d/M7te-o8V-3--0w

Инструкция по работе: приложение 2

 

3. Заключение

Электронный приложение - инструмент обучения и познания языка программирования Python. Приложение является и репетитором, и тренажером, и самоучителем.

Во время разработки проекта «Разработка приложения для обучения программированию на языке Python учеников 8-9 классов» я выполнила все поставленные задачи. Приложение готово к употреблению, основные темы, изучаемые в 8 в 9 классах, доступны в приложении. На данный момент его тестирует учитель информатики, оно используется учениками, которые по какой-то причине не присутствовали на уроках. В дальнейшем в приложение будет добавлен блок «Циклы» (циклы for и while), а также блоки «Функции» и «Массивы», темы которых проходят в 10 классе, что сделает приложение полезным для учеников старшей школы.

4.Список литературы и интернет - ресурсов

  1. https://vc.ru/u/852031-shkola-programmirovaniya-piksel/613232-samyy-populyarnyy-yazyk-programmirovaniya-pochemu-rebenku-stoit-izuchat- Самый популярный язык программирования: почему ребенку стоит изучать Python

  2. https://stepik.org/course/58852/syllabus - Курсы Stepik

  3. https://ru.wikipedia.org/wiki/Python - википедия Python

  4. https://habr.com/ru/articles/313694/ - История языков программирования: C# — впереди планеты всей

  5. «Head First. Изучаем C#» — книга Э. Стиллмена и Дж. Грина.

Приложение 1

Приложение 2

Инструкция

  1. Для скачивания приложения перейдите по ссылке (https://disk.yandex.ru/d/M7te-o8V-3--0w) и нажмите скачать. После загрузки распакуйте zip-файл и зайдите в папку «Обучение Python», после чего нажмите на иконку с синим компьютером.

  2. При входе в приложение вы попадаете на главный экран с 3-мя модулями: Ввод и вывод, арифметика и оператор if.

  3. Каждый модуль разделён на 2 уровня. Что бы перейти на уровень нужно нажать на кнопку зелёного цвета в соответствующем блоке.

  4. При нажатии на какую-либо кнопку появляется теоретическая часть модуля. На верхней панели есть несколько кнопок. В основной части экрана написана сама теоретическая часть.

  5. Вы можете пролистать теоретическую часть, для этого нужно зажать середину экрана.

  6. Вторая кнопка: теории, открывает окно с теорией. Если оно уже открыто, ничего не происходит.

  7. Все последующие кнопки открывают задания с соответствующим номером.

  8. Задания делятся на 2 типа:

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

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

  9. В модуле ввод и вывод:

    1. Первый уровень: структура и использование функций print и input, вывод нескольких аргументов и 3 задания

    2. Второй уровень: понятие переменной, оператор присваивания, конвертация, 3 задания

  10. В модуле арифметика:

    1. Третий уровень: арифметические операторы, частые задачи с целочисленным делением и нахождением остатка, 5 заданий

    2. Четвёртый уровень: модуль Math, основные функции этого модуля, 2 задания

  11. В модуле оператор if:

    1. Пятый уровень: оператор if, операторы сравнения, необязательные операторы else и elif, 4 задания

    2. Шестой уровень: логические операторы and и or, последовательность выполнения, 3 задания

Просмотров работы: 63