Курсовий проект пояснювальна записка система дистанційного навчання програмуванню. Підсистема слухача. Студент гр. Пзас-06 2



Сторінка1/4
Дата конвертації13.03.2016
Розмір0.82 Mb.
  1   2   3   4


Міністерство освіти і науки України

Харківський національний університет радіоелектроніки

Факультет комп’ютерних наук

Кафедра програмного забезпечення ЕОМ



КОМПЛЕКСНИЙ КУРСОВИЙ ПРОЕКТ

ПОЯСНЮВАЛЬНА ЗАПИСКА



Система дистанційного навчання програмуванню. Підсистема слухача .

Студент гр. ПЗАС-06-2 Крутих О. В. .

(позначка групи) (прізвище, ініціали )

Дата захисту ________


Робота захищена з оцінкою ______________

Керівник проекту проф. Бондарєв В.М.

( посада, звання ) (прізвище, ініціали)

Комісія


____________
_______________
________________

Харків, 2010р.

ФОРМА № У 6.01

Харківський національний університет радіоелектроніки



(назва вищого навчального закладу)

Кафедра Програмного забезпечення ЕОМ

Дисципліна     Комплексний курсовий проект

Спеціальність   Програмне забезпечення автоматизованих систем

Курс 4 Група ПЗАС-06-2 Семестр 8


З А В Д А Н Н Я

на комплексний курсовий проект студента



Крутих Олексія Віталійовича

(прізвище, ім’я, по-батькові)

1.Тема роботи  Система дистанційного навчання програмуванню. Підсистема слухуча

2. Строк здачі студентом закінченої роботи    1.06.2010

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

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

5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень)



приклади діаграм Google Charts, діаграма варіантів використання, діаграма класів, діаграми структури бази даних, приклади рафічного інтерфейсу користувача

6. Дата видачі завдання    02.02.2010


КАЛЕНДАРНИЙ ПЛАН





Назва етапу

Термін виконання

1

Видача теми ККП, узгодження і затвердження теми

02-02-2010 – 03-02-2010 р.


2

Аналіз предметної області

03-02-2010 – 20-03-2010 р.


3

Формування функціональних вимог щодо системи, яка проектується

20-03-2010 – 25-03-2010 р.

4

Проектування системи

25-03-2010 – 10-04-2010 р.

6

Кодування системи

10-04-2010 – 07-05-2010 р.


7

Тестування і доопрацювання розробленої програмної системи

07-05-2010– 19-05-2010 р.


8

Оформлення пояснювальної записки, додатків

19-05-2010 – 29-05-2010 р.


10

Перевірка виконаного проекту керівником, допуск до захисту

29-05-2010 – 31-05-2010 р.


11

Публічний захист проекту перед комісією


31-05-2010 –04-06-2010 р.

Студент гр. ПЗАС-06-2 Крутих Олександр Віталійович


Керівник професор Бондарєв Володимир Михайлович

(Прізвище, Ім'я, По батькові)


«02» лютого 2010 р.
РЕФЕРАТ

Обсяг пояснювальної записки 60 стр., кількість іллюстрацій – 25 , таблиць – 1 , додатків – 0 , джерел та посилань – 16.


Мета курсового проектування – розробити окрему частину системи дистанційної освіти, яка дозволяє переглядати лекції, виконувати тести для перевірки знань, розв’язувати завдання з програмування, вести діалог між користувачами.

Об’єкт дослідження – предметна галузь дистанційної освіти програмування.

Методи дослідження – знання зі стандартів RSS-файлів, знання з використання Google Charts API, знання з організації дистанційного навчання студентів.

Результат дослідження – підсистема веб-застосування, яка дозволяє переглядати лекції та виконувати тести до них, розв’язувати завдання з програмування, вести діалог між користувачами системи.

Даний проект реалізовано за допомогою інтегрованого середовища Microsoft Visual Studio 2010 та бази даних MS SQL Server 2008.

ЛЕКЦІЯ, ТЕСТИ, ЗАДАЧА, СТАТИСТИКА, ГРАФІКИ, СТУДЕНТ, ВИКЛАДАЧ, C#, VISUAL STUDIO 2010, ASP.NET MVC


The purpose of course design is to develop a separate part of the distance education system.This part should allow student to view lectures, carry out tests to check knowledge, solve problems with programming, to dialog with other users.

The research subject is the subject field of distance education.

The methods of research are knowledge of RSS-files standards, knowledge of Google Charts API, knowledge of distance education.

The research results are the web application subsystem, which allows student to view lectures and perform tests to them, to solve problems with programming, to dialogue with other users of the system.

LECTURES, TESTS, PROBLEM, STATISTICS, GRAPHICS, STUDENT, TEACHER, C#, VISUAL STUDIO 2010, ASP.NET MVC
ЗМІСТ

Вступ ………………………………………………………………………… 7

1 Аналіз предметної галузі ………………………………………………… 9

1.1 Визначення дійових осіб у предметній галузі ………………………... 9

1.2 Задачі, що існують у предметній галузі ………………………………. 10

1.2.1 Учбові матеріали ……………………………………………………… 10

1.2.2 Діалог між студентом та викладачем ……………………………….. 12

1.2.3 Самоперевірка знань …………………………………………………. 13

1.2.4 Практична робота …………………………………………………….. 13

1.2.5 Статистика результатів ………………………………………………. 14

1.2.6 Повідомлення про події (новини) …………………………………… 16

1.3 Аналіз засобів Google Charts …………………………………………… 18

1.3.1 Особливості побудови стовпчастої діаграми ……………………….. 21

1.3.2 Особливості побудови кругової діаграми …………………………... 24

1.4 Постановка задачі ………………………………………………………. 26

2 Розробка програмної системи …………………………………………… 28

2.1 Аналіз вимог ……………………………………………………………. 28

2.1.1 Отримати новини ……………………………………………………… 28

2.1.2 Перегляд списку вчителів ……………………………………………. 29

2.1.3 Перегляд інформації користувача (профайлу) ……………………… 29

2.1.4 Перегляд статистики за групою ………………………………………. 30

2.1.5 Перегляд статистики за студентом …………………………………… 30

2.1.6 Перегляд статистики за завданнями ………………………………….. 31

2.1.7 Перегляд лекції ………………………………………………………… 32

2.1.8 Створити нову лекцію …………………………………………………. 32

2.1.9 Додати тест до лекції …………………………………………………… 32

2.1.10 Додати завдання до лекції ……………………………………………. 33

2.1.11 Пройти тест ……………………………………………………………. 33

2.1.12 Відправити рішення на завдання до лекції …………………………. 34

2.1.13 Виставити оцінку за рішення ………………………………………… 34

2.2 Архітектура програмного забезпечення ………………………………… 35

2.3 Класова структура ………………………………………………………… 37

2.3.1 Клас TaskStatisticsController …………………………………………… 38

2.3.2 Клас StudentStatisticsModel ……………………………………………. 40

2.3.3 Клас StudentStatisticsItem ……………………………………………… 41

2.3.4 Клас GroupJournal ……………………………………………………… 41

2.3.5 GroupJournalItem ……………………………………………………….. 42

2.3.6 GroupStatistics ………………………………………………………….. 43

2.3.7 Клас TaskStatisticItem ………………………………………………….. 43

2.3.8 Клас SelectListProvider ………………………………………………… 44

2.3.9 Клас UserSelectedListItem ……………………………………………… 46

3 Вибір програмного середовища …………………………………………… 47

3.1 Опис та обґрунтування вибору програмного середовища ……………. 47

3.2 База даних ………………………………………………………………… 48

3.3 Структура бази даних ……………………………………………………. 49

4 Аналіз можливих використань ……………………………………………. 53

4.1 Виклик, загрузка, системні вимоги ……………………………………… 53

4.2 Графічний інтерфейс користувача ………………………………………. 53

Висновок ……………………………………………………………………… 58

Перелік посилань …………………………………………………………….. 59

ВСТУП

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



Безперечними перевагами дистанційного навчання (за [2]) є:

а) більш висока ефективність професійної підготовки в порівнянні з вечірньою та заочною формами навчання при більш низькій вартості освітніх послуг;

б) скорочення термінів навчання;

в) зменшення витрат на освіту студента (за рахунок непотрібності використання приміщень для проведення лекцій);

г) незалежність студента від географічного розташування вузу.

Експерименти [3] підтвердили, що якість і структура навчальних курсів (так само як і якість викладання) при дистанційному навчанні часто є набагато кращою, ніж при традиційних формах навчання. Нові електронні технології можуть не тільки забезпечити активне залучення учнів у навчальний процес, але і дозволяють керувати цим процесом.

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

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

Загальною метою розроблюваного курсового проекту було створення програмного продукту, що надавав би можливість організації всіх задач, що пов’язані з дистанційною освітою: доступ до навчальних матеріалів, діалог між студентами та викладачами, перевірка знань студентів. Конкретна мета саме даної частини курсового проекту – реалізація підсистеми, що дозволяє виконувати всі функції, що має студент у даному програмному продукту..

1 АНАЛІЗ ПРЕДМЕТНОЇ ГАЛУЗІ

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

а) хто приймає участь у організації і проведенні занять;

б) які задачі перед ними стоять;

в) які з задач, що стоять перед користувачем, мають бути розв’язані за допомогою розробки спеціального програмного забезпечення, а які користувач може виконати самостійно. Таким чином буде визначено пріоритетність проблем у предметній галузі;

г) визначити шляхи, якими можуть бути вирішені проблеми предметної галузі. На цьому етапі необхідно проаналізувати можливі шляхи вирішення проблем предметної галузі, визначити їх переваги та недоліки, вибрати найбільш ефективний варіант розв’язання проблеми;

ґ) необхідно зауважити, що для розв’язання деяких задач предметної галузі можуть використовуватися вже існуючи алгоритми чи стандарти. Для ефективного їх використання у розробці програмного продукту необхідно також провести їх детальний аналіз.

У подальших розділах аналізу предметної галузі всі ці етапи будуть розглянуті більш детально.

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


1.1 Визначення дійових осіб у предметній галузі
Головна задача будь-якого виду освіти (як очної, так і заочної) є надання знань та професіональних навичок тим, хто навчається. Сенс всієї системи освіти зникає, якщо не існує того, хто отримує знання. Саме тому у предметній галузі дистанційної освіти одним з головних дійових осіб є студент. І будь-який програмний засіб, що було реалізовано для організації процесу дистанційної освіти, обов’язково повинен допомагати вирішувати завдання що стоять перед студентом.

Для того щоб студент мав змогу отримати нові знання та здобути професійні навички, йому необхідні матеріали, за допомогою яких він зможе це здобути. Тому як немає сенсу у реалізації системи дистанційної освіти, що не передбачає користування нею студента, так немає сенсу і у організації навчання без викладача. Його роль і його проблеми у даній предметній галузі також надважливі.

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

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


1.2 Задачі, що існують у предметній галузі
У предметній галузі дистанційної освіти існує ряд задач. Розглянемо основні з них, та виберемо шляхи, якими вони можуть бути розв’язані.
1.2.1 Учбові матеріали
По-перше, для здобуття знань студентами необхідні учбові матеріали, за якими студенти будуть отримувати знання з курсу. З точки зору студентів, їм необхідно мати змогу зручним шляхом передивлятися всю цю інформацію. Для викладача ж необхідно мати змогу підготовлювати учбові матеріали, надавати їх студентам. Крім того, зважаючи на можливість зміни інформації з часом (наприклад у разі старіння) та можливих помилок у учбовому матеріалі для викладача є дуже важливим мати змогу вносити зміну у вже опублікований матеріал. З цього випливає, що учбовий матеріал не може бути переданий студентам один раз, а повинен бути доступний у будь-який час (щоб студенти мали змогу отримати оновлену версію учбового матеріалу).

Представлення навчального матеріалу може бути виконано різними шляхами. Далі буде проаналізовані основні варіанти, якими може бути це зроблено (докладніше аналіз проведено у [4]).

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

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

Варіанти представлення учбового матеріалу у вигляді аудіофайлів чи відеоматеріалів також мають свої переваги та недоліки. До переваг можна віднести більш наочне представлення інформації, за рахунок чого збільшується ефективність процесу навчання. До недоліків можна віднести складність підготовки цих матеріалів для викладача (зробити відеозапис чи аудіозапис набагато складніше ніж скомпонувати з вже існуючих джерел текстовий варіант лекції), великий обсяг інформації (аудіо та відеоінформація займає набагато більше місця ніж текст), через що у студентів та викладачів можуть виникнути проблеми з доступом до цих матеріалів через комп’ютерні мережі. Крім цього у нетекстових матеріалах набагато складніше проводити пошук необхідної інформації. Фактично, щоб знайти необхідний частину учбового матеріалу, необхідно буде продивитися увесь матеріал. Ще один недолік учбових матеріалів у аудіо та відеоформаті є те, що для перегляду їх необхідне спеціальне програмне забезпечення, що не завжди може бути у користувача.

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

Таким чином, кращим варіантом для представлення учбової інформації з програмування є комплексний підхід [5]. Учбові матеріали повинні представляти собою поєднання текстової інформації з візуальною та звуковою інформацією. Такий підхід надасть можливість поєднати преваги цих видів інформації. Як варіант такої схеми учбових матеріалів, можна вибрати такий: основна інформація є текстовою, а візуальні, звукові матеріали та приклади програмних проектів мають бути також доступні, проте окремо. У тексті можна робити посилання на відповідні матеріали, коли в них виникає потреба.

Важливим є розбиття усіх учбових матеріалів по курсу на окремі логічні одиниці – лекції. Такий варіант представлення інформації несе в собі декілька переваг. Так, наприклад, завдяки цьому інформація буде більш легко засвоюватися. Крім цього, таке розбиття надає переваги під час обговорення питань. що виникли у студентів. Логічним також є таке розбиття і для групування практичних завдань по курсу. Практичні учбові задачі зазвичай пов’язані не з усім курсом, а лише з окремою частиною його. Тому студентам при розділенні учбових матеріалів на окремі лекції буде більш легко знаходити інформацію для виконання практичних завдань.


1.2.2 Діалог між студентом та викладачем
Під час дистанційного вивчення учбових матеріалів у студентів з тих чи інших причин (наприклад, через неправильну їх інтерпретацію, чи через помилки в матеріалах) можуть виникати проблеми пов’язані з розумінням цих матеріалів. Звичайно, ці проблеми він може спробувати вирішити самостійно, проте набагато ефективніше буде вирішити ці питання з автором лекцій – викладачам. Викладачу також необхідно мати можливість вести діалог зі студентами – як для кращого розуміння ними курсу, так і для інших потреб (наприклад, для вирішення питань, пов’язаних з успішністю студентів з курсу). Тому проблема організації діалогу між студентом та викладачем є також важливою задачею. Розглянемо, якими способами може вирішуватися дана задача.

По-перше, діалог між студентом та викладачем може вестися у реальному часі. Такий варіант надає можливість організувати комунікації як через текстові повідомлення, так і через голосовий канал. Проте великої необхідності у голосовому діалозі не існує, тому що питання, пов’язані з програмуванням дуже часто потребують приклади програмного коду, які через голосовий канал передати неможливо. До того ж спілкування у режимі реального часу є незручним, бо необхідно щоб і студент, і викладач були одночасно присутніми, чого в реаліях заочної освіти не завжди буває. Крім цього у різних студентів можуть виникнути однакові питання але в різний час, і викладачу доведеться повторювати свої пояснення декілька раз.

По-друге, діалог між студентом та викладачем може вестися на підставі повідомлень. які вони можуть залишати не маючи залежності від іншого співрозмовника. Для такого варіанти побудови діалогу краще підійдуть текстові повідомлення (наприклад, як чат чи коментарі до статті). Проте проблеми, що існують при діалозі у реальному часі, в даному випадку не існують. Тому такий формат є більш зручним.
1.2.3 Самоперевірка знань
Одне з основних відмінностей дистанційної форми навчання від очного є більша ступінь самостійної роботи студента [6]. Студент самостійно вивчає матеріал, який при очній системі йому роз’яснюється лектором. Крім того, у денній формі навчання проводяться проміжні контролі, на яких оцінюється знання, отримані студентом. При дистанційному навчанні якість окрім вивчення матеріалу студент також має самостійно оцінити якість своїх знань. Саме тому у предметній галузі дистанційного навчання програмуванню велику роль відіграє процес самоконтролю [7]. Для студента у предметній галузі стоїть задача оцінки своїх знань, для викладача – підготовка матеріалів, за якими студент може проводити контроль своїх знань.

Процес самоконтролю зазвичай організовується у вигляді питань, що йдуть після вивчення нового матеріалу (лекції). Питання краще повинні бути тестового плану, ніж питання, на які потрібно давати розгорнуту відповідь. По-перше, такий різновид питань легше організувати викладачу (питання тестів потребують менше інформації, яку треба помістити у правильну відповідь), по-друге, перевірку правильності відповіді на тестові питання можна організувати за допомогою програмних засобів. По-третє, результати самоперевірки по тестовим питанням є для студента більш очевидними, аніж для питань з розгорнутою відповіддю. Результат тестів – число правильних відповідей, а свою розгорнуту відповідь студент ще повинен самостійно порівняти з правильною відповіддю, щоб встановити ступінь її правильності; це не завжди можна зробити об’єктивно. Щодо якості питань, то вона більше залежить від вміння викладача їх сформулювати, ніж від типу питання. Тому для самоперевірки знань тестові питання підійдуть краще.


1.2.4 Практична робота
Знання з програмування мають більше практичну направленість, аніж теоретичну. Найкращим свідченням ступені знань людини з програмування є її уміння складати прикладні програми, а не загальні знання з програмування. Саме тому одним з основних завдань у предметній галузі навчання програмуванню (для будь-якої форми освіти) є навчання та оцінка здібностей людини застосовувати свої знання на практиці [8]. Для студента ця задача виражається у реалізації практичних завдань з курсу, що вивчається. З точки зору викладача ця задача виражається у формулюванні умов задач та перевірки результатів роботи програм студентів.
1.2.5 Статистика результатів
Ступінь успішності навчання студента виражається у системі освіти за допомогою оцінок. Це є підсумок результатів роботи студента, по якому будуть судити про межі його знань. Зважаючи на те, що основним виміром знань студента по програмуванню є його практичні навики, вміння розробляти програми, то підсумок успішності навчання має залежати від результатів його практичної роботи. Зазвичай для студента є важливим його підсумковий результат, він буде прагнути, щоб він був якнайвищий. Тому для студента у предметній галузі дистанційного навчання програмуванню важливим є задача отримання інформації про поточний стан його навчання – скільки робіт він вже виконав, які роботи йому залишились, які оцінки він має зараз. Використовуючи цю інформацію, студент може планувати свої наступні дії.

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

Тепер розберемо, яка саме інформація необхідна студентам, а яка – викладачам.

Для студента є важливим така інформація:

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

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

Для викладача є важливим така інформація:

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

б) середній бал, який мають студенти за курс, що веде викладач. Така інформація дозволить викладачу розуміти, які підсумки мають студенти з його курсу. Цю інформацію, як і попередню, також доречно згрупувати по навчальним групам;

в) результати усіх студентів за кожним завданням окремо. Така інформація надасть можливість побачити, які завдання є простими, а з якими у студентів виникли серйозні складнощі;

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

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

Статистична інформація, особливо, якщо її багато, може не дуже легко сприйматися. Велика кількість цифр та складні таблиці інформації можуть бути незручними. Для більш кращого розуміння її можна використовувати графічні засоби її представлення – графіки та діаграми. Таким чином, у предметній галузі є ще одна задача – відображення статистичної інформації за допомогою графіків.

Серед статичної інформації, яка потрібна користувачам у предметній галузі дистанційного навчання програмуванню, можна виділити ту, яку буде зручніше та наочніше відобразити за допомогою діаграм. Такою інформацією є середні бали студента за курсами, середні бали студентів за курсом, статистика успішності групи. Інша інформація буде наочніше виглядати за допомогою таблиці.

Для побудови діаграм та графіків можна використовувати спеціальні засоби, що полегшують цей процес. Одним з таких засобів є сервіс від компанії Google – Google Charts. Для того, щоб використовувати його можливості у розроблюваній системі дистанційної освіти, необхідно проаналізувати, які можливості він пропонує, та яким саме чином його можна використовувати.

1.2.6 Повідомлення про події (новини)


Як було визначено у попередніх розділах, одна з особливостей дистанційної освіти полягає у тому, що дійові особи (студенти та викладачі) можуть виконувати свої задачі у час, який є зручним для кожного з них. Для задач, які не містять у собі взаємодію між дійовими особами (наприклад, перегляд учбового матеріалу), така особливість ніяк не позначається на процесі. Проте для задач, які вимагають взаємодію з іншими дійовими особами (наприклад, коли студент задає питання викладачу, він повинен очікувати відповідь на нього), виникають додаткові складнощі. Розглянемо наведений приклад такої дії. Студент може задати питання викладачу у зручний для нього час. Проте не факт, що у цей час викладач очікує питань і тому одразу на нього відповість. Тому студенту необхідно очікувати, коли на його питання буде надіслана відповідь. У найпростішому випадку зробити це можна за допомогою серії перевірок, чи не надійшла відповідь. Якщо студент працює лише по одному курсу, і виконує небагато дій, що вимагають взаємодію з іншими дійовими особами, то він може запам’ятати, які відповіді він чекає. У цьому разі він може виконувати перевірку отримання кожного відгуку самостійно. Проте це є незручним. Для ситуації, коли студент активно працює над багатьма курсами, запам’ятати усі такі свої дії йому буде важко. Існує ризик, що про деякі він взагалі забуде. Щоб вирішити цю проблему, студенти та викладачі мають мати ще одну задачу – перегляд новин.

Новина – це повідомлення, яке сповіщає про відгук іншої дійової особи на дії користувача. Якщо студент з минулого прикладу може виконувати функцію перегляду новин , то процес стеження за відгуками стає набагато простішим. Йому вже не потрібно переглядати усі свої задані питання в очікуванні відповідей, йому достатньо переглянути список своїх новин, у якому будуть відображена інформація про всі відповіді, що надіслані йому на даний момент. Звичайно, це не вирішує проблеми очікування повністю. Студенту все одно доведеться виконувати серію перевірок своїх новин, щоб швидше узнати, про отримані відповіді. Проте за допомогою використання цієї функції зникає необхідність пам’ятати всі свої дії, за якими може бути отримано відгук. Це значно спрощує роботу у системі дистанційної освіти.

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

Для студента це:

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

б) інформація про появу відповіді на його запитання викладачу чи на його репліку. Така подія є також важливою – викладач може побачити його питання і дати свою відповідь у будь-який час, тому студент має стежити за своїми запитаннями;

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

Для викладача це:

а) інформація про появу запитання викладачу. Така подія є важливою –у студентів можуть виникнути запитання у будь-який час, тому викладач має стежити за усіма своїми лекціями. Окрім цього може розгорнутися дискусія, тому викладачу потрібно також стежити за всіма своїми відповідями;%

б) інформація про реєстрацію студента на вивчення його курсу. Інформація важлива для роозуміння кількості студентів, що працюють за його курсом;

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

Необхідно зазначити, що новини, хоча і вирішують проблему перегляду великого об’єму матеріалів, проте все одно вимагають від користувача багаторазового обновлення інформації про свої новини. Це теж може бути незручним. Проте існують спеціальні програми – RSS-агрегатори (докладніше принцип застосування можна знайти у [9]), які можуть виконувати операції обновлення та пошук нової інформації автоматично. Використання таких програм надає найбільшу користь від можливості перегляду новин.


1.3 Аналіз засобів Google Charts
Google Charts - це засіб для розробників, що дозволяє швидко створювати графіки та діаграми, які можна використовувати як на сайтах, так і у звичайних застосуваннях. Аналіз було проведено на основі специфікації [10].

Засоби Google Charts діляться на дві групи – Chart API та Visualization API.

Chart API використовується для побудови діаграм, що являють собою звичайні зображення. Воно повертає PNG зображення діаграми у відповідь на URL GET або POST запит. API може генерувати різні типи діаграм, з круговою або графіків з QR кодів і формул. Вся інформація про діаграмі, що ви хочете, наприклад, дані діаграми, розмір, кольор та текст діаграми, передаються через URL у якості параметрів. (для запитів POST, існують деякі відмінності, проте для загального сенсу це не суттєво). Для отримання картинки можна ввести цю URL адресу безпосередньо у браузер, або прирівняти цьому URL властивість href тегу .

Visualization API дозволяє будувати анімовані графіки, що можна переглядати. використовуючи браузер. Принцип використання Visualization API полягає у створенні HTML розмітки та JavaScript-коду, що виконує побудову графіку. Цей скрипт містить у собі спеціальні функції з бібліотеки, яку пропонує Google.

Зважаючи на те, що графіки у системі не є надто складними, і для їх наочного представлення засоби анімації не є потрібними. Тому використання Visualization API лише збільшить красу графіків. З іншого боку, передивлятися такі графіки без використання браузеру не буде можливим. Тому для задачі візуального відображення даних статистики можна використовувати звичайні графіки без анімації. Тому надалі аналіз проведено лише для групи засобів Google Charts API.

Для подальшого аналізу необхідно визначити деякі терміни, що використовуються у графіках:

а) ряд – відповідний набір даних на діаграмі. Що являє собою ряд, залежить від типу діаграми. Так, наприклад, у лінійному графіку – це є неперервна лінія, для кругової діаграми - кожен елемент даних уявляє собою шматок, і всі шматки разом уявляють собою ряд. У гістограмі, ряд – це всі стовбці з одного набору даних; різні ряди можуть бути або згруповані пліч-о-пліч або укладеними поверх один одного, в залежності від типу гістограми;

б) осьові мітки - числові або текстові значення по кожній з осей;

в) простір діаграми – область діаграми. у якій відображується ряд;

г) легенда - невелика область на діаграмі, у якій пояснюються значення кожного ряду;

ґ) параметр – пара (ключ = значення), що використовується URL. Наприклад: chxt = х, де chxt це ім'я параметра і х значення параметра;

Як було вже зазначено вище, для побудови графіку необхідно побудувати GET або POST запит і відправити його на сервер Google. Там буде побудоване зображення, яке і буде повернене. Спочатку розберемо специфіку побудови GET запитів. Простий приклад URL - http: //chart.apis.google.com /chart?chs=250x100 &chd=t:60,40 &cht=p3 &chl= Hello| World. Вид графіку. що буде повернено на цей запит, зображено на рисунку 1.1


Рисунок 1.1 – Приклад графіку, що зроблено з використанням Google Charts


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

Всі URL-адреси (за якими отримується діаграми), починаються з http://chart.apis.google.com/chart?. Після цього слідують параметри, які визначають усі параметри графіку – вид графіку, дані графіку, інші характерні особливості. Параметри задаються у вигляді ім'я = значення пар, розділених знаками амперсанду (&). Послідовність параметрів не визначена, тому вони можуть бути в будь-якому порядку. Всі діаграми, що будуються за допомогою Google Charts API повинні мати як мінімум наступні параметри: cht (тип діаграми), chd (самдані) і chs (розміри діаграми). Однак є багато інших параметрів для додаткових опцій, і визначивши їх, можна отримати кращу діаграму.

Розберемо сенс усіх обов’язкових параметрів, що використовуються у URl графіку.

Першим обов’язковим параметром є параметр cht. Значенням цього параметри визначають, який саме тип графіку будується. Google Charts API дозволяє будувати такі типи графіків: стовпчаста діаграма (для неї значення cht=bvs), діаграма свічнику (cht=lc), діаграма прямокутників (cht=lc), діаграма вимірювача (сht=gom), діаграма зв’язків (cht= gv), лінійна діаграма (сht= lc), діаграма карти (cht=t), кругова діаграма (cht=p), радіолокаційні графіки (cht= r), діаграму розбросу (cht= s), діаграму Венна (cht=v). Окрім цих діаграм також можлива побудова динамічних іконок, формул, QR-кодів.

Другим обов’язковим параметром є параметр chd. За допомогою значень цього параметру визначається вид ряд на діаграмі. Фактично цей параметр являє собою дані, по яким будується графік. Значення цього параметру може бути представлене у таких видах:

а) основні текстовий формат – дані представлені у вигляді звичайних чисел з плаваючою крапкою від 0-100, включно. Значення нижче нуля позначаються як відсутні, значення вище 100 усікається до 100. Перевага основного текстового формату полягають у тому, що значення легко прочитати і зрозуміти в URL, а осьові мітки показують дані значення точно. Разом з тим, такий формат призводить до довгого рядку, через який цей формат складно використовувати для діаграм з великим об’ємом даних. Синтаксис: chd=t:val,val,val|val,val,val. Тут кожний ряд це одне або декілька значень, розділених комами. Розділення значень для різних рядів виконується за допомогою символу “|”;

б) формат тексту з користувацьким масштабуванням - схожий на основний текстовий формат, але він дозволяє визначити користувальницькі діапазони значень, що передаються, використовуючи другий параметр URL. Використовується, якщо дані містять значення за межами [0;100]. Тоді існує можливість масштабувати дані, привівши їх до значень, що входять в діапазон. У такому випадку доведеться задавати масштаб даних, окремим параметром, щоб значення осьових міток відображали вірні значення. Такий формат також призводить до довгого рядку, через який цей формат складно використовувати для діаграм з великим об’ємом даних. Синтаксис параметру: chd=t:val,val,val|val,val,val & chds=, , ..., ,. Тут спосіб установки параметру chd аналогічний попередньому, проте для коректного завдання значень з’являється новий параметр – масштабу (chds). Синтаксис цього параметру – для кожного ряду через кому задаються дійсне значення для найменшого значення і для найбільшого;

в) формат простого кодування - формат простого кодування дозволяє вказати цілі значення від 0-61 включно, що кодуються одним алфавітно-цифрові символи. У результаті довжина URL зменшується. Таким чином такий формат доцільно використовувати, коли потрібно задати велику кількість даних. Синтаксис параметру: chd=s:,...,. Тут – ряд, де кожен символ складається з однієї точки даних, окремі ряди розділяються комою. Тут підтримується символьні данні, їх значення: A-Z, де А = 0, B = 1,… Z = 25; f-z, де а = 26, b = 27,… z = 51; 0-9, де 0 = 52 а 9 = 61;

г) розширений формат кодування – дозволяє вказати цілі значення від 0-4095 включно, кодується двома буквено-цифровими символами. Синтаксис: chd=s:,...,. Тут – ряд, де кожні два символи складаються з однієї точки даних, окремі ряди розділяються комою. Тут підтримується символьні данні: A-Z a-z 0-9 .(крапка) –(дефіс).

Третім обов’язковим параметром є параметр chs. Цим параметром можна встановити розміри зображення у пікселях. Синтаксис цієї команди: chs=x

  1   2   3   4


База даних захищена авторським правом ©refs.in.ua 2016
звернутися до адміністрації

    Головна сторінка