CTE Workshop Proceedings, 2013, Vol. 1: CTE-2012 150 ВИКОРИСТАННЯ ХМАРНИХ ТЕХНОЛОГІЙ ДЛЯ ПЕРЕВІРКИ ТА ОБЛІКУ РОЗВ’ЯЗКІВ ЗАВДАНЬ З ПРОГРАМУВАННЯ В. В. Лазорик1, В. М. Чернов2 1 м. Чернівці, Чернівецький національний університет імені Юрія Федьковича 2 м. Чернівці, Чернівецький торговельно-економічний інститут Київського національного торговельно-економічного університету v.lazoryk@chnu.edu.ua Стрімкий розвиток програмно-апаратного забезпечення, пропускної здатності телекомунікаційних мереж надав надзвичайні можливості в використанні хмарних технологій у багатьох сферах життя, і в першу чергу в освіті. Наприклад, існує багато Інтернет-ресурсів, які пропону- ють своєрідні середовища розробки програм (IDE), побудовані на веб- інтерфейсі. Такі середовища дозволяють зберігати вихідні коди програм, проводити їх налагодження, компілювати та виконувати. Інтенсифікація процесу навчання стимулює пошук нових підходів у викладанні дисциплін, створенню нового та застосуванню готового про- грамного забезпечення для підтримки навчального процесу на високому рівні. При цьому важливу роль при вивченні дисциплін, пов’язаних з програмуванням, займають автоматизовані інформаційні системи пере- вірки розв’язків та обліку результатів перевірки. Адже простий перегляд викладачем готового коду програм, навіть за відсутності помилок ком- піляції, та проходження перевірки на декількох простих вхідних тестах, далеко не завжди дає однозначну відповідь про правильність розв’язку. Крім того, така перевірка вимагає колосального ресурсу аудиторного часу та уваги викладача, який може бути використано для пояснення та допомоги студентам. Вперше системи такого типу почали використовувати для суддівст- ва олімпіад з програмування. До таких системах пред’являються надзви- чайно високі вимоги з боку надійності, стабільності, сумісності та ін. Головною вимогою щодо надійності таких систем є стійкість по відно- шенню аномально небезпечної поведінки програм – розв’язків. Сучасні автоматизовані системи перевірки розв’язків завдань з про- грамування – це складні комплекси програм, які складаються з таких основних частин: серверної, адміністративної та клієнтських частин. Особливістю таких інформаційних систем є можливість перевірки розв’язків на будь-якій «розумній» множині тестів. Це дає можливість перевірити розв’язки для складних граничних умов, що підтверджує по- вноту розв’язку. CTE Workshop Proceedings, 2013, Vol. 1: CTE-2012 151 Обмеження за часом для певного завдання вимагає знаходити та за- стосовувати більш швидкі алгоритми розв’язку завдання. З огляду на сучасну реалізацію автоматизованих інформаційних си- стем перевірки розв’язків та обліку результатів перевірки, можна виді- лити EJudge та PC2. Це складні, багатофункціональні, високозахищені інформаційні системи. Кожна з них має свою специфіку, переваги та недоліки. Так перевагою системи EJudge є реалізація інтерфейсної частини з використанням Web-технологій, що позбавляє користувачів відповідних частин інформаційної системи встановлювати відповідне клієнтське програмне забезпечення. Недоліком цієї системи є досить складний про- цес встановлення та налагодження на Linux сервері та неможливість отримання повідомлень у реальному часі без відповідних запитів корис- тувачів. На відміну від EJudge, система PC2 побудована за клієнт-серверною Java-технологією, що надає їй перевагу в миттєвому отриманні повідом- лень її клієнтам, навіть без їх запитів. Відповідно її недоліком є необхід- ність встановлення відповідного клієнтського програмного забезпечен- ня. Цей недолік є досить відносний, з огляду на її кросплатформеність (достатньо функціонування Java VM) та простоту встановлення (достат- ньо просто скопіювати відповідні файли інформаційної системи). До безперечних переваг інформаційних систем EJudge та PC2 відно- сять можливість їх вільного, безкоштовного використання на основі від- повідних ліцензії. Таким чином, сучасний апаратний розвиток та сучасна реалізація автоматизованих інформаційних систем перевірки розв’язків та обліку результатів перевірки, відкриває нові перспективи у навчанні, зокрема дистанційному, дозволяє значно покращити якість викладання дисцип- лін, де вивчається програмування, зокрема алгоритмічне. Засоби цих систем дозволяють студентам відслідковувати свій об’єктивний рейтинг, а розв’язання задач різного рівня складності дозволяє поступово покра- щувати власну кваліфікацію, згідно з принципом «від простого – до складного». Список використаних джерел 1. Система ejudge [Электронный ресурс]. – 2012. – Режим доступа : http://new.ejudge.ru/wiki/index.php/Система_ejudge 2. PC2 Version 8.5 Contest Administrator’s Installation and Configuration Guide [Electronic resource] / ACM international collegiate programming contest ; California State University, Sacramento’s. – 2003. – Access mode : http://acm2007.cct.lsu.edu/pc2/pc2v85AdminGuide.htm