Віртуальний кабінет викладача програмування

Дослідження проблеми створення інструментарію для автоматизації роботи викладача програмування на основі набору інструментів промислової програмної інженерії. Основні будівельні блоки віртуального кабінету викладача та послідовність роботи в ньому.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 24.04.2021
Размер файла 766,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Національний технічний університет України

«Київський політехнічний інститут імені Ігоря Сікорського»

Віртуальний кабінет викладача програмування

Булах Богдан Вікторович

кандидат технічних наук, доцент кафедри системного проектування

Лашко Олена Вікторівна

викладач кафедри приладів та систем неруйнівного контролю

Анотація

Досліджено проблему створення інструментарію для автоматизації роботи викладача програмування на основі набору інструментів промислової програмної інженерії.

Ключові слова: віртуальний кабінет, програмування, інструментарій.

Аннотация

ВИРТУАЛЬНЫЙ КАБИНЕТ ПРЕПОДАВАТЕЛЯ ПРОГРАММИРОВАНИЯ

Булах Богдан Викторович

кандидат технических наук, доцент кафедры системного проектирования

Национальный технический университет Украины

«Киевский политехнический институт имени Игоря Сикорского»

Лашко Елена Викторовна

преподаватель кафедры приборов и систем неразрушающего контроля

Национальный технический университет Украины

«Киевский политехнический институт имени Игоря Сикорского»

Исследована проблема создания инструментария для автоматизации работы преподавателя программирования на основе набора инструментов промышленной программной инженерии.

Ключевые слова: виртуальный кабинет, программирование, инструментарий.

Summary

VIRTUAL WORKSPACE FOR A PROGRAMMING TEACHER

Bulakh Bogdan

Candidate of Technical Sciences,

Associate Professor of the System Design Department

National Technical University of Ukraine

«Igor Sikorsky Kyiv Polytechnic Institute»

Lashko Olena

Lecturer at the Non-Destructive Testing Instruments and Systems Department

National Technical University of Ukraine

«Igor Sikorsky Kyiv Polytechnic Institute»

The problem of the development of the toolkit based on software engineering industrial tools for programming course teacher work automation was investigated.

Key words: virtual workspace, programming, toolkit.

Постановка задачі

Сучасна методологія викладання курсів, мета яких -- навчити студентів певній мові програмування або принципам якоїсь із парадигм програмування (процедурної, об'єктно-орієнтованої тощо), передбачає наявність практичних занять. Інколи їх відносять до лабораторних, однак коректніше їх називати саме практичними заняттями, бо на них, як правило, відпрацьовуються навички студентів з написання алгоритмів та їх реалізація у вигляді кодів програм. Часто якість роботу студента на таких заняттях страждає через необхідність встигнути як виконати завдання згідно варіанту, так і захистити його одночасно зі своїми колегами. Так виникає ідея скоротити час, необхідний на перевірку викладачем коректності виконання завдання, за рахунок автоматизації ряду дій, що можливе в рамках «віртуального робочого середовища (кабінету) викладача». Актуальність даної теми також обумовлюється все більш популярним «дистанційним» режимом навчання, який пропонують все більше закладів вищої освіти. В такому режимі наявність віртуального кабінету -- необхідність.

Віртуальний кабінет викладача має як ряд спільних для усіх предметів (базових) функцій та ряд специфічних функцій, характерних лише для обмеженої групи навчальних курсів або навіть одного курсу. Такими притаманними курсам з програмування функціями є:

• перевірка коректності написання програми (контроль синтаксису),

• перевірка коректності виконання програми (відповідність результатів роботи завданню),

• перевірка коректності побудови програми: (чи вірні алгоритмічні рішення, структури даних, архітектурні шаблони тощо (назвемо їх проектними рішеннями) було обрано студентом для вирішення завдання).

В усіх цих підзадачах контролю можлива автоматизація з використанням інструментів зі стеку засобів промислової розробки програмного забезпечення. Включаючи хмарні сервіси та ресурси [1,2]. Таким чином, основна ідея даної публікації -- показати можливі варіанти побудови віртуального кабінету викладача програмування з використанням (інтеграцією) існуючих спеціалізованих інструментів. Це дасть змогу суттєво скоротити витрати часу викладача на пошук помилок у студентських роботах, а студенти зможуть оперативніше отримувати зворотний зв'язок від викладача та зможуть швидше та якісніше виправити виявлені недоліки. Це все, в результаті, покликане підвищити якість викладання та закріплення матеріалу. автоматизація віртуальний програмний інженерія

Складові інструменти кабінету викладача

На нашу думку, віртуальний кабінет викладача міг би спиратися на наступні спеціалізовані інструменти.

1. Віддалений репозитарій коду, на який студенти будуть завантажувати чергові версії своїх робіт. Хоча використання простого хмарного диску- сховища допустиме, але більш доцільно організувати репозитарії коду саме з використанням систем контролю версій. Це дасть змогу переглядати та контролювати усі зміни, які студенти вноситимуть у код їх програм, маючи змогу порівнювати різні версії (по хронології) їх коду. До того ж при внесенні змін студенти будуть їх коментувати, що є додатковою інформацією для викладача. І, зрештою, випадково видалити код буде неможливо. Стандартними де-факто нині є такі децентралізовані системи контролю версій, як Git та Mercurial, які підтримують роботу з кількома гілками (версіями) коду.

2. Хмарне середовище розробки. Може бути корисне як самим студентам (середовище доступне скрізь де є доступ до мережі, тобто можна не інсталювати програмне забезпечення у випадку розробки відносно простих програм), так і викладачу -- як інструмент для зручного аналізу коду. Середовище має підтримувати розширений механізм пошуку (з використанням регулярних виразів), взаємодіяти з системами контролю версій (може виступати графічним клієнтом для цих систем) та завантажувати код з віддалених репозиторіїв, а також бажаними є інструменти для поглибленого рефакторингу та аналізу коду (для простішого з'ясування коректності обраних студентом проектних рішень). Нині є достатньо подібних рішень, інтегрованих з репозитаріями та середовищами виконання, наприклад Cloud 9, Eclipse Che.

3. Інструмент автоматизованого збирання програм. Має підтримувати усі необхідні компілятори та інструменти пакетної збірки програм, що використовуються в конкретному курсі. Іншими словами, має бути достатньо розширюваним. Окрім добревідомих утиліт типу CMake варто звернути увагу на системи неперервної інтеграції типу Jenkins, які мають досить широкі можливості.

4. Середовище тестування програм. Як мінімум, має підтримувати автоматизоване виконання консольних програм (в ідеалі -- і графічних, однак в рамках більшості курсів програмування достатньо обмежитись консольними програмами) на наборі тестових вхідних даних з визначенням відповідності отриманих результатів очікуваним. Альтернативний варіант -- пропагування стилю «розробка через тестування» та розробка студентами unit-тестів. Можливе підключення сематничних аналізаторів коду [3].

5. Система обліку помилок (баг-трекер). Для обліку виявлених при перевірці помилок в коді та відстеження прогресу їх усунення. З можливістю визначати різні категорії та пріоритети задач.

6. Система контролю загального прогресу виконання завдань студентами. Може базуватись на програмному забезпеченні управління проектами, з можливістю керування підзадачами (лабораторні роботи, курсова робота).

7. Сервіс спілкування зі студентами (поштовий сервіс, мессенджери). Для вирішення питань, що виходять за рамки баг-трекера, або ж для дублювання важливих подій на поштові скриньки студентів. Звичайно, бажано тримати всю історію взаємодії зі студентами в одному місці, тож даний сервіс є ско-ріше резервним, за наявності баг-трекера.

8. Система віртуалізації або контейнеризації. Для виконання зібраних кодів з метою перевірки виконання тестів. Контейнери Docker зарекомендували себе надійним та зручним інструментом в тому числі і для тестування програм, тож стануть в нагоді і для вирішення задач кабінету викладача.

Рис. 1. Основні будівельні блоки віртуального кабінету викладача та послідовність роботи в ньому

Варіант організації віртуального кабінету викладача

В результаті відбору найбільш значущих інструментів, які до того ж є відкритими та безкоштовними, було запропоновано наступну будову кабінету викладача, представлену на рис. 1.

Роль точки входу викладача та студентів відіграє веб-портал, що надає резюме по інформації інтегрованих інструментів (статус проекту, задачі на усунення помилок, перегляд коду з репозиторію). У якості системи управління проектами та баг-треке- ру обрано Redmine, система контролю версій -- Git, засіб неперервної інтеграції -- Jenkins. Дана система знаходиться в експериментальній експлуатації, і навіть без функціонального порталу довела свою зручність при роботі з великими групами студентів. У якості майбутнього розвитку системи будуть додані модулі перевірки кодів на плагіат та автоматизованого пошуку «антипатернів» у студентських кодах.

Висновки

В даній статті розглядається проблема автоматизації роботи викладача програмування за допомогою створення програмного комплексу «віртуальний кабінет викладача». Виділено коло функцій, які потребують автоматизації та запропоновано максимально скористатися існуючими зрілими рішеннями, поширеними у промисловості. Досвід використання прототипу подібної системи на кафедрах авторів -- позитивний.

Література

1. Kurelovi K., Rako S. and Tomljanovi J. Cloud Computing in Education and Student's Needs // Information & Communication Technology Electronics & Microelectronics (36th Int. Conference MIPRO). -- 2013. -- PP. 856-861.

2. Wang B., and Xing H. The Application of Cloud Computing in Education Informatization // IEEE int. Conference on Computer Science and Service System (CSSS). -- 2011. -- PP. 2673-2676.

3. Булах Б. В. Застосування семантичних технологій для аналізу та рефакторингу програмного коду // Міжнародний науковий журнал «Інтернаука». -- 2018. -- № 12.

Размещено на Allbest.ru

...

Подобные документы

  • Особливості системи онлайн-агрегаторів новин, універсальної програмної платформи Microsoft Window. Використання мови програмування C#, створення бази даних. Розробка програмного продукту, алгоритм його створення. Вихідний код та інструкція користувача.

    дипломная работа [730,9 K], добавлен 21.01.2016

  • Вибір стратегії розв`язування задачі. Загальна характеристика середовища програмування Lazarus. Робота з текстовими файлами для збереження навчального матеріалу і результатів тестування. Авторизація викладача. Підпрограми редагування навчання та тестів.

    курсовая работа [1,6 M], добавлен 10.09.2012

  • Розробка програми для тренування швидкого десяти пальцевого набору тексту на клавіатурі за допомогою класів, які будуть містити в собі параметри об’єктів та їх методи. Аналіз об'єкту програмування. Основні принципи об'єктно-орієнтованого програмування.

    курсовая работа [1,8 M], добавлен 18.05.2017

  • Методика та порядок програмування алгоритмів циклічної структури із заданим числом повторень за допомогою мови програмування VAB. Алгоритм роботи з одновимірними масивами. Програмування алгоритмів із структурою вкладених циклів, обробка матриць.

    курсовая работа [27,7 K], добавлен 03.04.2009

  • Розрахунок собівартості інструментальної системи створення електронних підручників. Вибір технології та мови програмування. Загальна характеристика програми і принцип роботи. Вибір мови програмування. Опис тегів, які підтримуються HTML-редактором.

    дипломная работа [112,7 K], добавлен 04.06.2010

  • Створення баз даних для автоматизування роботи торгового представника в середовищі програмування Delрhі. Опис вхідної та результуючої інформації, формалізований опис задачі. Розробка технічного та робочого проекту, опис та обґрунтування вибору структури.

    курсовая работа [135,8 K], добавлен 11.10.2010

  • Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.

    курсовая работа [991,4 K], добавлен 06.08.2013

  • Розробка програми на мові програмування С++ з використанням об'єктно-орієнтованого програмування. Робота з файлами, графікою, класами, обробка числової інформації. Графічні засоби мови програмування. Алгоритм задачі та допоміжні програмні засоби.

    курсовая работа [102,5 K], добавлен 14.03.2013

  • Основні принципи об’єктно-орієнтованого програмування. Типові середовища програмування та особливості мови С++. Етапи проектування БД. Розробка програмного забезпечення для реалізації створення бази відеофільмів. Основні положення та моделі БД.

    курсовая работа [2,7 M], добавлен 24.03.2011

  • Основні відомості про історію розвитку мови Object Pascal, середовища Delphi, їх основні технології та застосування для роботи з файлами. Опис основних особливостей мови, основних елементів програмної мови. Принципи об'єктно-орієнтованого програмування.

    курсовая работа [471,5 K], добавлен 12.04.2010

  • Особливості Unity у створенні віртуального робочого середовища. Моделювання у віртуальному середовищі навчальних проектів у вигляді лабораторних робіт з фізики, які спрямовані на покращення і спрощення навчального та практичного процесу навчання.

    курсовая работа [74,0 K], добавлен 30.08.2014

  • Принципи роботи інтерфейсу ADO для роботи в СУБД MS Access. Створення додатку "Довідник фармацевта" на основі Borland Delphi 7.0, що допомагає ввести звітну документацію, формувати підсумки роботи зберігати дані про ліки та їх ціни, постачальників.

    курсовая работа [1,2 M], добавлен 30.06.2015

  • Розв'язання задач мовою програмування VBA з використанням алгоритмів лінійної, розгалуженої та ітераційної циклічної структури. Розробка блок-схеми алгоритму, таблиці ідентифікаторів та тексту програми. Створення власної панелі інструментів користувача.

    практическая работа [1012,6 K], добавлен 19.02.2010

  • Дослідження проблеми пошуку автомобілів та постановка задачі створення автокаталогу з використанням мови програмування PHP і JаvаScrіpt. Дослідження моделей прецедентів системи та їх класової архітектури. Моделювання розподіленої конфігурації систем.

    курсовая работа [3,7 M], добавлен 11.10.2010

  • Приклади рішень від провідних компаній-розробників, що працюють у сфері автоматизації роботи з документами. Основні можливості систем електронного документообігу. Вибір програмного забезпечення для створення програмного продукту. Опис програмної системи.

    курсовая работа [45,8 K], добавлен 06.06.2011

  • Дослідження середовища візуального програмування Delphi. Вивчення процесу створення навчальної програми "Електронний словник". Опис графічного інтерфейсу. Характеристика структури та основних процедур даної програми. Аналіз роботи з програмним кодом.

    курсовая работа [831,2 K], добавлен 01.03.2014

  • Характеристика мов програмування. Опис логічної структури. Створення головної сторінки електронного журналу за допомогою гіпертекстової розмітки, бази даних для роботи журналу. Розробка таблиць, форм та скрипту. Тестування програмного забезпечення.

    курсовая работа [659,7 K], добавлен 01.04.2016

  • Розгляд особливостей мови програмування С++: основні можливості, характеристика функцій. Аналіз файлів з вхідними даними. Використання похідних класів як ефективний засіб об’єктно-орієнтованого програмування. Способи роздруківки графічного вирішення.

    курсовая работа [510,9 K], добавлен 14.03.2013

  • Загальний вид двовимірного завдання лінійного програмування. Алгоритм рішення задач графічним методом. Максимізація (мінімізація) цільової функції. Послідовність рішення завдань лінійного програмування симплексом-методом. Принцип перетворення Гауса.

    контрольная работа [149,8 K], добавлен 24.11.2010

  • Концепції об'єктно-орієнтованого програмування. Спеціалізовані засоби розробки програмного забезпечення мовою Delphi. Загальні питання побудови та використання сучасних систем об’єктно-орієнтованного та візуального проектування програмних засобів.

    курсовая работа [201,4 K], добавлен 01.04.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.