получения моторных топлив, облегчает решение вопросов снабжения топливом транспортных средств и стационарных установок. Возможность получения биотоплива с требуемыми физико-химическими свойствами позволяет целенаправленно совершенствовать рабочие процессы дизелей и, тем самым, улучшить показатели топливной экономичности и токсичности отработавших газов.
Список литературы / References
1. Орсик Л.С., Сорин Н.Т., Федоренко В.Ф. Бионергетика // Мировой опыт и прогнозы развития, 2008. 404 с.
2. Девянин С.Л., Марков В.А., Семенов В.Г. Растительные масла и топлива на их основе для дизельных двигателей. Харьков: Изд-во «Новое слово», 2007. 452 с.
МЕТОДИЧЕСКИЕ ОСОБЕННОСТИ ИЗУЧЕНИЯ ЯЗЫКА RUBY
СТАРШИМИ ШКОЛЬНИКАМИ Кузьмин Д.Н.1, Ложкина А.Т.2 Email: [email protected]
'Кузьмин Дмитрий Николаевич - кандидат педагогических наук, доцент; 2Ложкина Анастасия Тихоновна — студент, кафедра информационных технологий обучения и непрерывного образования, Институт педагогики, психологии и социологии Сибирский федеральный университет, г. Красноярск
Аннотация: статья посвящена вопросам изучения старшими школьниками языка программирования Ruby. В настоящее время методология объектно-ориентированного программирования является ведущей в информатике, методика обучения программированию должна соответствовать современным разработкам в компьютерных науках, в связи с чем существует насущная потребность в глубоком изучении методологии объектно-ориентированного программирования с помощью современных языков программирования. Авторы статьи предлагают рассмотреть процесс обучения старших школьников языку программирования в контексте использования конкретных методик. Ключевые слова: Ruby, язык программирования, профильная школа, информатика в старших классах, Ruby в школьной информатике, школьники и Ruby.
THE METHODICAL FEATURES OF LEARNING OF THE RUBY BY HIGH
SCHOOL S SENIORS Kuzmin D.N.1, Lozhkina A.T.2
'Kuzmin Dmitry Nickolaevich - PhD in Pedagogics, Associate Professor; 2Lozhkina Anastasiya Tickhonovna — Student, INFORMATION TECHNOLOGY AND CONTINUING EDUCATION INSTITUTE PEDAGOGY SIBERIAN FEDERAL UNIVERSITY PSYCHOLOGY AND SOCIOLOGY, KRASNOYARSK
Abstract: the article is devoted to features of learning of the Ruby programming language by high school's seniors. At present, the methodology of object-oriented programming is the leading in computer science. The methodology of teaching programming should correspond to modern developments in computer science. So, there is an urgent need for a deep learning of the methodology of object-oriented programming using modern programming languages. The authors of the article suggest considering the process of teaching high school's seniors to the programming language in the context of using specific methods.
Keywords: the Ruby, programming language, high school, informatics and high school, the Ruby and informatics, high school's seniors and the Ruby.
УДК 004.432.2
В настоящее время информатика является учебной дисциплиной, наиболее нестабильной в предметном содержании. Это относится, как к дисциплинам информатики, изучаемым в школах, так и среди предметов, изучаемых в вузах и образовательных учреждениях среднего профессионального образования. Стоит отметить, что в большинстве школ в данный момент в качестве языков
программирования изучаются Pascal или Basic, в связи с чем возникает закономерный вопрос, есть ли необходимость в изучении языка Ruby будущими преподавателями информатики, обучающимися в вузе, есть ли необходимость в овладении основами данного языка старшими школьниками. Определенно, изучение старшими школьниками языка программирования Ruby в качестве первого языка программирования, может вызывать некоторые закономерные опасения: к таким могут относиться, прежде всего, динамическая типизация, высокоуровневость языка и дополнительное изучение среды разработки, фреймворка Ruby on Rails [2].
Например, в языке Ruby есть две особенности использования итераций и циклов, отличающиеся от использования в других языках, таких, как С, С++, Python. Вместо итерирования по индексу, как это происходит в С, С++ или по списку, как в Python: for i in aList: ...
в Ruby данный элемент кода программы выглядит следующим образом: some_list.each do |this_item|
Однако, стоит отметить безусловность достоинств изучения Ruby в качестве первого языка программирования в школе. По сравнению с возможностью изучения высокоуровневых языков программирования в старших классах школы, таких, как С, С++, язык Ruby имеет относительно простой синтаксис, позволяет переопределять операторы, не требует объявления переменных, позволяет работать с целыми числами произвольной величины, возможно использование библиотек, написанных на С, поддерживает многопоточное программирование. Необходимо обратить внимание на то, что язык Ruby является исключительно объектно-ориентированным языком [4].
Программы, написанные на языке Ruby, существенно лаконичнее, что облегчает задачу знакомства с языком начинающим программистам, так как поиск ошибок и отладка требует меньших временных затрат.
Например, благодаря тому, что Ruby возвращает значение последнего выражения, можно сократить количество кода не только за счет отказа от использования return, там, где это возможно, но и за счет написания простых методов, которые в итоге своей работы возвращают только true или false не используя при этом логический конструкций типа if..else: def young? (age) if age < 30 return true
else
return false
end end
Данный код мы можем переписать следующим образом: def a bigger? (a, b)
a > b end
При этом можно отметить сохраненную логическую структуру кода и его сокращенность по сравнению с предыдущим кодом [5].
Ruby является динамическим языком. В отличие от статических языков, подобных C++ или Java, методы и переменные в Ruby могут быть, как мы уже отметили, добавлены или переопределены во время выполнения программы. Это позволяет, например, обойтись без директив условной компиляции #ifdef, необходимых для языка C. Здесь проявляется сходство Ruby с такими языками, как Lisp и Smalltalk.
Кроме того, Ruby — интерпретируемый язык. Это свойство отрицательно сказывается на производительности, поэтому стоит выделить некоторые нюансы. Во-первых, быстрый цикл разработки является важнейшим достоинством, которое компенсирует некоторые недостатки. Во-вторых, в тех случаях, когда скорость абсолютно необходима, всегда есть возможность написать часть кода на языке C.
В дополнение, в Ruby имеется возможность работы с регулярными выражениями [3]. Рассматривая вопросы обучения программированию в профильных классах старшей школы, мы можем предположить, что указанные базовые представления о программировании, могут стать порогом, на котором школьник остановится, получив общее представление о понятиях объектно-ориентированного программирования, что, определенно, необходимо будет важно для сдачи ЕГЭ по информатике. Если же ученик имеет необходимые знания и навыки в области веб-программирования и постоянно находится в поиске новых, наиболее оптимальных и интересных решений, он получает в свое распоряжение достаточно универсальный, современный язык программирования, который реально применяется для разработки веб-приложений. Безусловно, большое количество встроенных
46
библиотек, широкий функционал языка Ruby, может приводить к тому, что перед школьником возникнет соблазн использования этих возможностей, вместо реального изучения алгоритмов и принципов работы этих функциональных элементов. Однако здесь необходимо рассмотреть методическую особенность изучения такого языка программирования, связанную с тем, что школьники должны первоначально изучить принципы и алгоритмы работы отдельного функционального элемента, и только затем перейти к его использованию при решении задач.
Например, нам необходимо добавить в массив уникальное значение. Исходя из условия, нам необходимо сделать проверку: имеется ли в массиве такой же элемент, аналогичный тому, который мы хотим добавить. Для проведения проверки мы пишем следующий код: fruits = ['apple', 'banana', apricot'] fruits << 'apple' unless fruits.include?('apple')
Однако, мы можем оптимизировать код, используя метод |, который присоединяет к первому массиву второй, удаляя при этом повторяющиеся элементы: fruits I = ['apple']
Таким образом, преподаватель может подойти к решению большинства задач, связанных с сортировкой массивов, поиском элементов, что в конечном итоге на профильном этапе обучения позволит школьнику решать большее количество разнообразных задач в сжатые сроки [5]. Рассматривая тонкости подготовки к ЕГЭ по информатике, в рамках применения функциональных элементов языка, трудностей на наш взгляд у школьников при подготовке к экзамену возникнуть не должно. Запрет на применение встроенных функций школьник может с успехом преодолеть путем осознания тонкостей работы алгоритмов, если изучения языка будет происходить с учетом методической особенности осознания закономерности и алгоритма работы функций элемента. В результате можно отметить, что не только нет необходимости отказываться от идеи изучения высокоуровневых языков программирования в школе, а напротив, изучение Ruby, при правильном подходе и учете методических особенностей, откроет перед учеником новые горизонты и возможности, так как современные языки программирования, совершенствуясь, становятся все более универсальными, гибкими и простыми, удобными для восприятия и отладки. Такой подход к изучению высокоуровневых языков позволит готовить уже на школьной ступени начинающих программистов, имеющих разносторонний опыт в написании программ.
Список литературы / References
1. Ruby для начинающих: чем интересен этот язык и как его эффективно изучать // DOU [Электронный ресурс]. Режим доступа: https://dou.ua/lenta/articles/ruby-for-beginners/ (дата обращения: 23.04.2018).
2. Язык программирования Ruby // Internet-Technologies. [Электронный ресурс]. Режим доступа: http://www.internet-technologies.ru/articles/yazyk-programmirovaniya-ruby.html/ (дата обращения: 23.04.2018).
3. PHP, Ruby, Python - краткая характеристика трёх языков программирования // Internet-Technologies. [Электронный ресурс]. Режим доступа: http://www.internet-technologies.ru/articles/php-ruby-python-harakteristika-yazykov-programmirovaniya.html/ (дата обращения: 23.04.2018).
4. Особенности языка Ruby // Ruby - лучший друг программиста. [Электронный ресурс]. Режим доступа: https://www.ruby-lang.org/ru/documentation/ruby-from-other-languages/ (дата обращения: 23.04.2018).
5. Ruby и красивый код // RubyDev. [Электронный ресурс]. Режим доступа: https://rubydev.ru/2010/10/ruby-and-beautiful-code/ (дата обращения: 23.04.2018).