Опыт преподавания языка ruby в рамках дисциплины «Современные технологии разработки программного обеспечения» (Максим Стержанов, LVEE-2019) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
{{LinksSection}} * [ Talks page] <!-- <blockquote>[©]</blockquote> --> {{fblink|2420241128228894}} {{vklink|1453}} <references/> [[Категория:LVEE-2019]] [[Категория:СПО в образовании]] {{stats|disqus_comments=0|refresh_time=2020-01-22T21:31:0928T14:06:20.252369386198|vimeo_plays=9|youtube_comments=0|youtube_plays=34}} |
Версия 11:06, 28 января 2020
- Докладчик
- Максим Стержанов
Experience of teaching master degree students Ruby/RoR is detailed. We explain basic course structure, list main difficulties students face and way to resolve them.
Содержание
Видео
Презентация
Thesis
Кафедра Информатики БГУИР ведет подготовку бакалавров и магистров по специальности «Информатика и технологии программирования». Одной из основных специальных дисциплин, читаемых при подготовке магистрантов является «Современные технологии разработки программного обеспечения»(СТРПО). Целью преподавания данной дисциплины является предоставление обучаемым знаний и умений в области проектирования, разработки, тестирования, отладки и внедрения программного обеспечения (ПО) вычислительной техники с использованием современных технологий.
В данной работе описывается перечень лабораторных задач,предлагаемых студентам для проработки и закрепления материала по предмету СТРПО в 2017 /2018 учебном году.
Устный опрос показывает, что основную группу магистрантов составляют программисты-практики с профильным высшим образованием (БГУИР или БГУ) и опытом работы в софтверных компаниях от 2 до 4 лет. Следовательно, данная аудитория должна иметь глубокое понимание теоретических основ информатики, опыт практического использования одного или нескольких языков и технологий. Исходя из этого, образовательный процесс фокусировался на ключевых особенностях языка Ruby.
В рамках первой лабораторной работы магистрантам предлагается познакомиться с основами написания скриптов на динамическом объектно-ориентированном языке Ruby и проработать применение базовых конструкций языка. В качестве среды разработки предлагается тестовый редактор Sublime Text или специализированная среда RubyMine. В рамках данной работы предлагается реализация простейшего алгоритма шифрования.
Вторая лабораторная работа посвящена изучению функционального стиля программирования в Ruby. Все функции в Ruby являются методами, то есть свойственны объектам. Цель выполнения работы — изучение итераторов, блоков и замыканий. Также магистратам предлагается провести сравнительный анализ объектов, которые можно вызывать (proc, lambda, method).
В рамках третьей лабораторной работы магистрантам предлагается применить на практике знания об объектной модели Ruby. Мы предполагаем, что большая часть аудитории знакома с понятиями ООП на примере других языков. Ruby является полностью объектно-ориентированным языком: числа, строки, регулярные выражения, массивы — это все объекты определенных классов. Магистрантам предлагается изучить концепцию модуля и примеси, инкапсуляцию. Результатом выполнения работы является реализация взаимодействия объектов в соответствии с индивидуальным заданием.
Четвертая и пятая лабораторная работы посвящены метапрограммированию в объектной модели Ruby. Под метапрограммированием понимается расширение и изменение абстракций языка[1]. Магистранты изучают способы динамического определения и вызова методов, применение method_missing, синглетон-методы, синглетон-классы, отрабатывают техники динамического изменения классов и методов.
На шестой, заключительной работе, магистрантам предлагается обобщить полученные знания при построении серверной части веб-приложения на платформе Ruby on Rails. Rails представляет собой среду, облегчающую разработку, развертывание и обслуживание веб-приложений[2][3]. Магистранты создают REST ориентированные сервисы в соответствии с предложенными вариантами заданий (библиотека, ресторан, больница и т.д.). Задачей является продемонстрировать умение пользоваться фреймворком объектно-реляционного отображения ActiveRecord и основами ресурсного роутинга Rails. Реализация клиентской части (HTML представления) не требуется. Тестирование осуществляется при помощи программы POSTMAN (либо аналогичной).
Содержание лабораторных работ построено в единой логике и позволяет эффективно обучить магистрантов приемам программирования на современном скриптовом языке Ruby.
Опыт преподавания языка Ruby для магистрантов выявил некоторые проблемы:
- недостаточная подготовка в области программирования (отсутствие умений и навыков разработки, отсутствие понятийного аппарата ООП) после окончания ВУЗа;
- нехватка времени для самостоятельной работы в связи с загруженностью по основному месту работы;
- выполнение работ на поверхностном уровне, нежелание переучиваться и погружаться в детали новой и незнакомой технологии.
Для решения данных проблем отстающим магистрантам были предложены упрощенные версии индивидуальных заданий.
Не смотря на указанные сложности, изучение языка Ruby и платформы Ruby on Rails дает магистрантам уникальные возможности для расширения собственного багажа знаний и опыта, которыми нельзя не воспользоваться.
Примечания и ссылки
- [ Talks page]
- ↑ A. Hunt. Programming Ruby./ A. Hunt, D. Thomas — М.: Финансы и статистика, 2004. — 864 p.
- ↑ Руби С. Rails 4. Гибкая разработка веб-приложений. С. Руби, Д. Томас, Д. Хэнссон — СПб.: Питер, 2014. — 448 с.
- ↑ Perrotta P. Metaprogramming Ruby 2: Program Like the Ruby Pros. – The Pragmatic Programmers, 2004. — 262 p.
Plays:43 Comments:0