Опыт преподавания языка ruby в рамках дисциплины «Современные технологии разработки программного обеспечения» (Максим Стержанов, LVEE-2019) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) (Batch edit: replace PCRE (\n\n)+(\n) with \2) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
;{{SpeakerInfo}}: {{Speaker|Максим Стержанов}}
<blockquote>
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.
</blockquote>
{{VideoSection}}
{{vimeoembed|366006753|800|450}}
{{youtubelink|X0KUhEYhae4}}
{{SlidesSection}}
[[File:Опыт преподавания языка ruby в рамках дисциплины «Современные технологии разработки программного обеспечения» (LVEE-2019).pdf|left|page=-|300px]]
{{----}}
== Thesis == * недостаточная подготовка в области программирования (отсутствие умений и навыков разработки, отсутствие понятийного аппарата ООП) после окончания ВУЗа; * нехватка времени для самостоятельной работы в связи с загруженностью по основному месту работы; * выполнение работ на поверхностном уровне, нежелание переучиваться и погружаться в детали новой и незнакомой технологии. Для решения данных проблем отстающим магистрантам были предложены упрощенные версии индивидуальных заданий. Не смотря на указанные сложности, изучение языка Ruby и платформы Ruby on Rails дает магистрантам уникальные возможности для расширения собственного багажа знаний и опыта, которыми нельзя не воспользоваться. {{----}} [[File:{{#setmainimage:Опыт преподавания языка ruby в рамках дисциплины «Современные технологии разработки программного обеспечения» (LVEE-2019)!.jpg}}|center|640px]] {{LinksSection}} * [ Talks page] <!-- <blockquote>[©]</blockquote> --> {{fblink|2420241128228894}} {{vklink|1453}} <references/> [[Категория:LVEE-2019]] [[Категория:СПО в образовании]] {{stats|disqus_comments=0|refresh_time=2020-07-06T20:18:532021-08-31T17:42:51.473966936656|vimeo_plays=19|youtube_comments=0|youtube_plays=44}}62}} |
Текущая версия на 12:22, 4 сентября 2021
- Докладчик
- Максим Стержанов
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]
- Discuss on Facebook
- Discuss on VK
- ↑ 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:81 Comments:0