Диссертация (1167217), страница 46
Текст из файла (страница 46)
При ее активации загружается вебстраница, на которой отображается карточка, а под ней – девять ниспадающихменю и кнопка «Сохранить». Ниспадающие меню сгруппированы в два блока:«Сторона 1» (четыре меню) и «Сторона 2» (пять меню). С помощью этих менюможно указать, что будет находиться на первой стороне карточки (до четырехкомпонентов) и на второй стороне карточки (до пяти компонентов), причемкомпоненты могут повторяться.
В каждом меню доступен также и «нулевой»выбор, т. е. на этом месте отображаться ничего не будет, но и пустой строки тожене будет. Первая карточка допускает добавление меньшего количествакомпонентов потому, что на ней по умолчанию располагается порядковый номерзаписи и ее уникальный идентификатор в базе данных веб-приложения.Настройка распространяется на все наборы карточек текущего пользователя.При нажатии кнопки сохранения пользователь видит, как может выглядетьего карточка (предварительный просмотр) и принимает решение, оставить такойвариант компоновки или нет.
Такая гибкая настройка и позволяет намохарактеризовать «ИТВ(м)» как профессиональный узел ОВС.Именно с этим настраиваемым представлением карточек и работают«тренажеры» К2-1 и К2-2. Каждый из этих «тренажеров» выводит пользователювыбранныйнаборвпроизвольномпорядке(используетсяслучайноеперемешивание) таким образом, что видна или первая сторона карточки (К2-1),или ее вторая сторона (К2-2). Таким образом, «тренажеры» имитируют процессработы с бумажными карточками. При нажатии левой кнопкой мыши на видимуючасть карточки невидимая часть открывается или закрывается (имитируетсяпереворачивание бумажной карточки).Справа от каждой карточки располагаются по три небольшие кнопки собозначением «*», «**» и «***». Они нужны для переключения уровня усвоениясодержания карточки. Пользователь сам принимает решение, насколько хорошоон уже знает эту карточку и отмечает ее как выученную (три астериска) или нет(один астериск).
По умолчанию карточка имеет характеристику «*». Это также275имитирует процесс работы с бумажными карточками, как будто пользовательоткладывает выученные карточки отдельно или ставит на них отметкукарандашом. Используя настройки вида карточек 2, пользователь может найтинаилучший для себя способ работы в «тренажерах» (программный код см. вприложении 7).2763.4 Программные инструменты разработки узлов обучающейвиртуальной среды3.4.1 Язык программирования Python как современный универсальныйинструмент разработки приложенийВ настоящее время языки программирования Python, Perl и Rubyдемонстрируют стабильный рост популярности.
Их создателей объединяет идеяпредложить людям, особенно начинающим программистам, эффективныеспособы решения задач малым количеством хорошо читаемого кода (причем самиязыки в основном написаны на языке программирования C). Python, Perl, Ruby ивсе стандартные модули расширения к ним предоставляются безвозмездно, чтоуказанонаофициальныхсайтах.Pythonсвободноиспользуетсяираспространяется, даже для коммерческого использования [About Python 2016].Perl является свободным программным обеспечением и распространяется подУниверсальнойобщественнойлицензией[AboutPerl2017].Rubyраспространяется абсолютно бесплатно, его также можно свободно использовать,копировать, модифицировать и распространять дальше [About Ruby 2017].Язык программирования Python выделяется на фоне двух других тем, чтопользуетсяогромнойпопулярностьювакадемическойсреде.Гибкостьприменения языка Python позволяет ему быть и первым (учебным) языком дляначинающих программистов, и одним из основных языков работы для опытныхпрофессионалов.
Один из лидеров зарубежного ИТ-образования, Массачусетскийтехнологический институт предлагает курсы цикла «Введение в основыпрограммирования», в ходе которых студенты учатся алгоритмическомумышлению именно на Python [AGIP 2011]. Также упомянем массовые открытыеонлайн-курсы на платформе Coursera [PfE 2015; AItIPiP 2015; LtP 2014].В предисловии к книге «Мыслить как программист.
Учимся с Python»Дж. Элкнер пишет, что выбирая альтернативу языку C++ для преподавания вшколах США и изучив все мыслимые варианты, он пришел к следующему277выбору: «Мне нужен был язык, которым пользуются профессиональныепрограммисты, и вокруг которого сформировалось активное сообществоразработчиков.
И, что наиболее важно, этот язык должен быть легким в изучениии преподавании. Когда я рассмотрел имеющиеся варианты в свете моихсоображений, лучшим кандидатом оказался Python.» [Элкнек 2015].В книге «Fundamentals of Python: From First Programs Through DataStructures» К. Ламберт так обосновывает выбор темы книги, перечисляядостоинства языка программирования Python: У Python простой синтаксис, его выражения очень близки кпсевдокоду(языкуописанияалгоритмов)ииспользуютобщепринятые в алгебре знаки. Это означает, что студенты смогутбольше времени уделить решению интересных задач, а не изучениюспецифического синтаксиса. Python использует защищенный синтаксис, это значит, что введенныенеправильно выражения вызовут сообщение об ошибке. Python подходит для программистов разного уровня.
Начинающиемогут писать на нем простые программы, а опытные создаватьсложные продукты, оперируя базами данных и используя вседостижениясовременногообъектно-ориентированногопрограммирования. Python в высшей степени интерактивен. Выражения можно вводитьпрямо в строку интерпретатора, получая немедленно результатпрограммы. Значительные объемы кода можно сохранять в отдельныхфайлах и вызывать впоследствии в качестве отдельных модулей илизапускать как самостоятельные программы. Python – язык общего назначения. В контексте современности этоозначает, что язык включает в себя ресурсы для созданиясовременных приложений, включая мультимедийные и сетевые;278 За Python не надо платить, и он распространен на промышленномуровне.
Студенты могут загрузить его и работать с ним на разныхустройствах. У Python большое сообщество пользователей, что делает умениеработать с ним очень полезным.В целом Python очень удобный и гибкий язык для развития навыковпрограммирования, который в равной степени подходит и для новичков, и дляпрофессионалов. Но самое главное – с Python студенты-первокурсники меньшевремени проведут уставившись в монитор, и больше сил отдадут процессуразмышления над задачами и их решением [Lambert 2010: XXII].Приведенноевышехорошосогласуетсясфилософиейязыкапрограммирования Python, которая была сформулирована Тимом Петерсом в 19высказываниях: Красивое лучше, чем уродливое. Явное лучше, чем неявное. Простое лучше, чем сложное. Сложное лучше, чем запутанное. Плоское лучше, чем вложенное. Разреженное лучше, чем плотное. Читаемость имеет значение. Особые случаи не настолько особые, чтобы нарушать правила. При этом практичность важнее безупречности. Ошибки никогда не должны замалчиваться. Если не замалчиваются явно. Встретив двусмысленность, отбрось искушение угадать. Должен существовать один – и, желательно, только один – очевидныйспособ сделать это. Хотя он поначалу может быть и не очевиден, если вы не голландец. Сейчас лучше, чем никогда.279 Хотя никогда зачастую лучше, чем прямо сейчас. Если реализацию сложно объяснить – идея плоха. Если реализацию легко объяснить – идея, возможно, хороша. Пространства имѐн – отличная штука! Будем делать их побольше![Zen Python 2017].В нашем случае Python является языком программирования, которыйпозволяет использовать богатые возможности графической библиотеки PyQt ифреймворка web2py для разработки узлов ОВС и их компонентов.3.4.2 Графическая библиотека PyQt как инструмент разработки узловобучающей виртуальной средыНесмотря на свою универсальность, «чистый» Python имеет очень скромныевстроенные возможности создания приложений с графическим интерфейсомпользователя, например с помощью модуля tkinter [Downey 2002: 237].Библиотека Qt (PyQt – это ее воплощение для Python) широко используетсяпрограммистами, работающими на C/C++, отсюда Python и PyQt даютвозможность создавать мощные и современные оконные приложения безнеобходимости изучения C/C++, которые впрочем, могут несколько проигрыватьв скорости тандему C/C++ и PyQt.На сегодняшний день PyQt распространяются бесплатно, на условияхУниверсальной общественной лицензии GNU (GNU Public License) [Ответы GNU2014], но имеет в то же время и коммерческую версию, которая предоставляетпользователям некоторые дополнительные права.3.4.3 Фреймворк web2py как инструмент разработки узлов обучающейвиртуальной средыПервая версия фреймворка web2py появилась в 2007 г.
[Pierro 2015: 21]. Стех пор ему удалось завоевать широкую популярность среди веб-разработчиков,благодаря возможности быстро и удобно писать надежные высококачественныединамичные веб-приложения на языке программирования Python. web2py имеет280открытый исходный код и распространяется на условиях «Меньшей стандартнойобщественной лицензией GNU вер.
3» [GNU 2015].Автор фреймворка, М. Ди Пьерро преследовал в своей работе следующиецели, которые он успешно реализовал: простоту использования, скоростьразработки, безопасность и преемственность версий [Pierro 2015: 21–22].Фреймворк снабжен подробной документацией, составленной автором, котораясодержитмножествопрактическихпримеровразработкиполезныхвеб-приложений, в частности форумов и wiki.