A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 132

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 292

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 166

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 235

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 315

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 356

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 282

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_cookie_params(): Session cookie parameters cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 294

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 304

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 314

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 315

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 316

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 317

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 375

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Session ini settings cannot be changed after headers have already been sent

Filename: drivers/Session_files_driver.php

Line Number: 108

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_save_handler(): Session save handler cannot be changed after headers have already been sent

Filename: Session/Session.php

Line Number: 110

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_start(): Session cannot be started after headers have already been sent

Filename: Session/Session.php

Line Number: 143

Backtrace:

File: /home/shevitza/public_html/index.php
Line: 315
Function: require_once

ПОЛИТИКА ЗА ПОВЕРИТЕЛНОСТ И ЗАЩИТА НА ЛИЧНИ ДАННИ

Експериментален обучителен тест с AngularJS

Когато се налага да учим ...

  • Най-важните неща в един урок винаги могат да се опишат с няколко изречения.
  • От друга страна, ако след всеки урок, който учим, се опитваме да съставим няколко изречения за важните неща, това би ни помогнало да научим урока по-добре!
  • Ако ползваме онлайн обучение и ни предложат възможни варианти за създаване на изречение по урока, това определено би ни накарало да се замислим, а после - да потърсим верния отговор.
  • Ако сбъркаме, нека да няма "наказание", а просто да потърсим отново...
  • Ако нашите грешки се записват, преподавателят, който е създал урока ще може да ги види и да обмисли евентуални промени, така че нещата да се разбират по-бързо. А обратната връзка е важна!
  • Този подход лесно може да се приложи за почти всички учебни дисциплини, които не изискват чертежи или формули!
  • ...и накрая, този тест може да се окаже подходящ и за уроци по програмиране. Писането на програмен код е процес свързан с абстракция, както при математиката, но в същото време нещата, които се правят, изискват съобразяване с правила и изключения, както е при езиците.

Demo GitHub

Как изглежда това?

Реализация на тази идея може да видите от горното Демо. Тя се отнася до малък курс по JavaScript за начинаещи, който съдържа видеа и учебни материали в zip папка, към всеки урок.

Може да отидете на желания урок, да гледате видеото и да направите теста като този по-долу. Избирате трите части на изречение, което смятате за вярно и кликвате на "Провери..."

Верните изречения са пред очите Ви и можете да им се радвате, до като мислите за следващото нещо "за откриване".

Ако сбъркате, грешката няма да бъде показвана! Ще получите само броя на останалите неоткрити изречения.

От страната на преподавателя....

Преподавателят може да добавя уроци, да редактира въпросите...

... и да разглежда грешките!

Обратната връзка е анонимна и бърза. Обявавам този проект сега, но негов вариант беше публикуван преди няколко месеца и точно този урок беше разглеждан от някой, който беше правил и теста. След като прочетох отговорите, реших да променя както видеото, така и въпросите към него, защото реших, че не са достатъчно ясни. Убедена съм, че този вариант е по-добрият.

Решението е с AngularJS

AngularJS се оказва добро и леко решение. Има много HTML контроли в потребителската и административната част, които лесно се управляват с ng-model. Асинхронните заявки вървят леко без да се презарежда видеото.

Възможни приложения

Прилагането на подобен тест за уроци по програмиране е експеримент. Подобни тестове може да се срещнат в учебниците по езици. Струва ми се, че и тук един такъв тест би помогнал "да се осъзнаят" доста подробности. Информацията за преподавателя също е ценна, особено за случаи, в които дадена тема не е била развивана пред публика и лекторът няма представа за реакциите на слушателите.

Споделете мнение!