вторник, 23 декабря 2014 г.

Научный Олимп 2014

Научный Олимп - это конкурс научно-исследовательских работ студентов. Хотя он имеет региональный статус, на мой взгляд, это один из самых профессиональных конкурсов. А я (вернее мои студенты) поучаствовал во многих конкурсах. Проводится в два эта этапа:первый -направляют студенческие работы в профильные министерства или экспертам и собирают от них отзывы. На втором - внутри себя комбинируют.
В прошлом году моя студентка - Юля Язовских заняла второе место по направлению "Технические науки". Спросил у организаторов - почему не первое? Ответили, что первое дали студенту из Горного, у которого несколько внедрений и получение гранта на его тему, чего-то там про торфоразработки. Я к тому, что уровень достаточно серьезный.
В этом году студенты подавали по направлению "Гуманитарные науки", раздел "Экономика". Я оформил в администрацию города заявку на разработку исследовательской темы и по ней они сделали дипломы.
Рецензент все оценил по высшим баллам.

Дальше началась коньюнктура. Оказалось, что у них 4 раздела в направлении "Гуманитарные науки". Соответственно, кто-то же должен..., "боливар не вынесет двоих"... Короче, Дарье дали только Премию Правительства области, лауреатом она не стала.

Я нахально поинтересовался, полагается ли руководителю работы какая-то премия. Мне объяснили, что руководитель получает диплом.

Получил очередное Благодарственное Письмо, которых у меня скопилось уже немало. Самое противное, что они не дают абсолютно никаких льгот. (Кстати, в прошлом году было письмо за подписью Председателя Правительства, а нынче только министр подписал). Прибил на стенку.

Потом была довольно-таки унылая конференция. О степени заинтересованности участников можно судит по нижнему фото. Первой выступала какая-то местная девочка, которая уже знаменитость за то, что у нее уже 23 публикации. У меня такая тенденция всегда вызывала скепсис. Я считаю, что большое количество публикаций никак не говорит о качестве научных работ, примерно так же, как большой живот - не признак качественного пищеварения. Вспомнил, что один раз моя студентка подавала документы на стипендию Губернатора. В тот год победил студент Мед.академии у которого было 67 (!) публикаций. В общем, усилием воли заставил себя замолчать )))

Тем не менее выступил. Сказал, что формируется схоластическая академическая среда, далекая от реальности. Что из работы моей студентки не был оценен самый ценный момент - работ сделана на тему, которая сформулирована администрацией. Что даже в рецензии нет ни одного пункта по связи с практикой. В общем, внес свою ложку дегтя...


Общее фото участников.


среда, 5 ноября 2014 г.

Солнечный удар

Вчера посмотрел по ящику михалковский "Солнечный удар". Выскажу пару комментов. У меня так получилось, что два смысловых пласта.
Первый сразу после просмотра. Когда в финале герой узнает в своем палаче-чекисте подростка из провинциального городка на Волге с которым познакомился, и который его спрашивал, правда ли, что мы все от обезьян, как говорил им учитель, прибывший из Петербурга. И типа герой понимает, что с этого все началось... Он тогда отмахнулся от вопроса, а оно вон что. Показалось, что это слишком прямолинейная иллюстрация принципа Достоевского "Если Бога нет, то все позволено".
Для интересу почитал критиков. Набрал в поисковой машине "Солнечный удар". Странные люди эти кинокритики. Почему-то всех зацепили кадры с поршнями корабельной машины, на фоне которых часто происходят события. И почему-то все стали их понимать как метафору полового акта. У меня они больше ассоциировались с неумолимым движением эпохи, которая перемалывает все: личность, отношения. Примерно в духе Замятина и Платонова.
А потом - ко второму уровню осмысления. Когда герой первый раз выпрыгивает с парохода под действием своих фантазий о встрече с Прекрасной Незнакомкой. Я понял, что вот такими они и были дворяне: жили в своих уютных усадьбах, согретые любовью родителей, дядюшек, нянюшек. "Жизнь Арсентьева" хотя бы вспомнить того же Бунина. Инфантильные. Живущие в своих собственных фантазиях. В таком контексте уместно выглядит и сцена с шарфом, которая так не нравится критикам. Герой гоняется за очередной химерой.
И вот такие порядочные, честные попадают в плен. Дисциплинированно идут на убой, даже не пытаясь противостоять своим палачам. Мужественно тонут. Целое поколение вот так утонуло. 

воскресенье, 2 ноября 2014 г.

Еще раз про компетенции

Забыл сказать, что получения рецензии УМО потребовало от мня расписать компетенции в курсе. (Речь идет про курс "Базы данных"). И поскольку я рецензию таки получил, то УМО с моей трактовкой согласилось. Поэтому приведу выдержки из того, что относится к компетенциям.


Результаты прохождения курса связаны со следующими обязательными требованиями по его усвоению, перечисленными в стандарте ФГОС-3.
Знать:
  1. принципы организации проектирования и содержание этапов процесса разработки программных комплексов (в части проектирования баз данных),
  2. модели данных,
  3. архитектуру баз данных,
  4. системы управления базами данных и информационными хранилищами,
  5. методы и средства проектирования баз данных,
  6. особенности администрирования баз данных в локальных и глобальных сетях,
Уметь:
  1. использовать международные и отечественные стандарты,
  2. разрабатывать концептуальную модель предметной области, выбирать инструментальные средства и технологии проектирования ИС.
 Обеспечение требований образовательного стандарта.
В соответствии со списком «знать», разбит весь массив тестовых вопросов. Поэтому, используя результаты тестирования, можно оценить уровень знаний по всем разделам. Тестирование рекомендуется проводить в форме компьютерного тестирования. Необходимые умения появляются в процессе выполнения практических работ. Использование международных и и отечественных стандартов вплетено в процесс изложения материала и далее перетекает в практические работы.

Компетенции, формируемые в результате изучения.
Процесс изучения дисциплины направлен на формирование основной компетенции
-        ПК-9 –  «способен моделировать и проектировать структуры данных и знаний, прикладные и информационные процессы»
и развитие сопутствующих компетенций:
-        ПК-6 – «способен документировать процессы создания информационных систем на всех стадиях жизненного цикла»,
-        ПК-7 – «способен использовать технологические и функциональные стандарты, современные модели и методы оценки качества и надежности при проектировании, конструировании и отладке программных средств»,
-        ПК-12 – «способен эксплуатировать и сопровождать информационные системы и сервисы»,
-        ПК-13 – «способен принимать участие во внедрении, адаптации и настройке прикладных ИС»
Для понимания того, как формируются необходимые компетенции, необходимо представить уточняющий контекст компетенции в пределах настоящего курса.
Название компетенции в стандарте
Уточняющий контекст компетенции в пределах курса


ПК-6 – «способен документировать процессы создания информационных систем на всех стадиях жизненного цикла»
По сути, это императивное требование, т.к. проектирование и создание базы данных является одним из этапов разработки информационной системы.
ПК-7 – «способен использовать технологические и функциональные стандарты, современные модели и методы оценки качества и надежности при проектировании, конструировании и отладке программных средств»
В контексте настоящего курса может быть  сформирована и проверена составляющая, относящаяся к оценке надежности при разработке приложений для СУБД Access. Разработка надежных приложений включает, прежде всего, использование методов поддержания целостности базы данных.
ПК-12 – «способен эксплуатировать и сопровождать информационные системы и сервисы»
На основании закона 143-ФЗ «Об информации, информационных технологиях и защите информации» под информационной системой понимается «совокупность содержащейся в базах данных информации и обеспечивающих ее работу информационных технологий и технических средств». Откуда следует, что компетенцию ПК-12 в контексте настоящего курса следует понимать как умение эксплуатировать и сопровождать базы данных.
ПК-13 – «способен принимать участие во внедрении, адаптации и настройке прикладных ИС»
Аналогичным образом данная компетенция понимается как участие во внедрении, адаптации и настройке баз данных и приложений на их основе.

Поскольку компетенция является интегральной характеристикой, то оценка уровня сформированности той или иной компетенции целесообразней проводить по итогам обучения: во время Государственного экзамена или по качеству выполненной ВКР. В контексте настоящего курса уровень сформированности основной компетенции ПК-9 можно оценить так:
-        Высокий (продвинутый) уровень – сдача теста и выполнение всех практических работ на оценку «отлично»,
-        Средний уровень развития – сдача теста и выполнение всех практических работ на оценки «хорошо» и «отлично»,
-        Низкий уровень развития – сдача теста выполнение всех практических работ в том числе с оценкой «удовлетворительно». 

 Разумеется, представленные рекомендации не являются универсальными и каждый ВУЗ (каждый преподаватель) вправе использовать свою шкалу.    

И дальше в практических работах. Например.
Работа N1
Цель работы:
Создать простую таблицу с записями о студентах.
Задание студентам:
-        Изучить интерфейс СУБД Access.
-        Ознакомиться с мастером создания таблиц,
-        Создать таблицу, содержащую сведения о студентах группы. Обязательная часть сведений должна включать: номер зачетки, фамилию, имя, отчество, дате рождения, телефон, номер группы, название специальности.
-        При создании таблицы учесть бизнес-ограничения, обеспечивающие целостность базы данных, не менее 5.
-        Ввести не менее 15 о коллегах-студентах из этой или других групп.
-        Проанализировать заполненную таблицу с помощью мастера «Анализ быстродействия» (раздел меню «Работа с базами данных»).
-        Полученную таблицу сохранить для последующего использования. 
-        Подготовить отчет о выполненной работе с помощью мастера «Архивариус» или «Средство документирования баз данных» (раздел меню «Работа с базами данных») и дать заключение о пригодности мастера для документирования.
 Форма представления результата:
-        Файл в формате MS Access.
-        Отчет о выполненной работе. Отчет включает:
o   Титульный лист с названием работы, дисциплины, группы и фамилии студента,
o   Описание структуры таблицы,
o   Описание средств обеспечения целостности базы данных, использованных студентом.
o   Заключение о пригодности мастера «Архивариус» для подготовки отчетов.
Оценка за выполнение работы:
Оценка выставляется с учетом степени полноты выполнения заданий и наличия средств поддержки целостности базы данных.
-        «Отлично» - выполнены все задания работы и в таблице имеется не менее 5 бизнес-ограничений для поддержки целостности базы данных.
-        «Хорошо» - полностью выполнены все задания работы, но не хватает бизнес-ограничений для поддержания целостности базы данных.
-        «Удовлетворительно» - не выполнено одно из заданий работы.
Формируемые компетенции
-        ПК-9 –  «способен моделировать и проектировать структуры данных и знаний, прикладные и информационные процессы»
-        ПК-6 – «способен документировать процессы создания информационных систем на всех стадиях жизненного цикла»,
-        ПК-7 – «способен использовать технологические и функциональные стандарты, современные модели и методы оценки качества и надежности при проектировании, конструировании и отладке программных средств»,
-        ПК-12 – «способен эксплуатировать и сопровождать информационные системы и сервисы»,

четверг, 30 октября 2014 г.

Мой учебник получил гриф УМО и другое прочее

Я в свободное от остальной деятельности время стал пописывать учебники. Началось все с того, что я когда был молодым и наивным преподавателем, и верил, что по каждой дисциплине должен быть готов УМК, который включает и конспект лекций. С этого и пошло... Потом я задумался, что зря пропадает. Выбрал, правда не с первого раза, электронное издательство. Сейчас работаю с издательством "Директ-Медиа" (www.bibioclub.ru). Вот список моих произведений (прошу прощения за дебильный "современный" дизайн).
Тут есть даже видео, которое получилось опять же случайно. Я вел дистанционно курс повышения квалификации. Лекции проходили в форме вебинаров. Но слушатели жаловались, что в рабочее время им неудобно - ходят посетители и пр. Пришлось продублировать - я записывал лекции отдельно, потом выкладывал. Потом опять стало жаль, что пропадает продукт. Оказалось издательство берет и видео.
Вот другой скриншот с сортировкой и информацией про ВУЗы, которые пользуются ресурсами.
Чемпион по просмотрам - учебник по базам данных. Он получился достаточно удачным. Недавно я представлял его для получения грифа от УМО. Эксперты тамошние мне выдали замечания, я исправлял. В принципе замечания мне понравились. Одно из требований было - расписать все по компетенциям. Я сделал как понимал. Теперь - после получения грифа, имею право посылать наш методический отдел ... Потому, что УМО одобрил. Вот историческая бумага.
Но это еще не все. В учебнике есть набор тестовых вопросов. Я решил применить навыки по созданию баз данных. Тестовые вопросы можно защитить не только авторским правом, но оформить их как интеллектуальную собственность. Получить свидетельство о регистрации базы данных. Очень модная тема сейчас. Требуется во всех отчетах и приравнивается к публикации. 


среда, 15 октября 2014 г.

Побеждаем планировщик задач

Я уже рассказывал про свои попытки настроить планировщик задач муцдле. Тогда так и смог решить проблему. Но есть хороший способ - отправить проблему в подсознание. Через какое-то время все равно оттуда всплывет. Главное, не забыть, что туда ее оправил ))) Забудешь - там и будет лежать... 
Я еще написал в форум мудла про проблему, получил от товарища следующий ответ

Это хостинг ?
Есть подозрение, что php.ini для веб-сервера и для php-cli разные. Это можно проверить сравнив вывод "php -i" с тем что показывает moodle в информации о php.
Есть другой способ - использовать wget/curl в cron 
 На всякий случай посмотрел, что такое wget. В википедии написано, что консольная программа для загрузки файлов по сети. Позволяет скачивать и загружать по сети любые файлы. После этого проблема и была отправлена в подсознание. Выдернуть ее оттуда пришлось, когда через пару дней стал получать сообщения на почту

/usr/local/cpanel/bin/jailshell: www.cp526266.cpanel.tech-logol.ru/public_html/moodle/admin/cron.php: No such file or directory
Во-первых удивился, что через несколько дней. Думал, изменились настройки хостинга. (Позже выяснилось, что письма попадали в спам и когда спам-корзина переполнилась, начали приходить в почту). Из сообщения видно, что скрипт пытается выполниться. Для начала проверил разрешения. Все оказалось правильно: везде стоит 755. Дальше попробовал запустить вручную, через браузер. Оказалось, запускается строка http://www.cp526266.cpanel.tech-logol.ru/moodle/admin/cron.php Исправил в кроме. Результат тот же.
Решил еще раз погуглить на тему /usr/local/cpanel/bin/jailshell: Оказывается, это оболочка для исполнения внешних команд. Пишут всякое разное. Еще раз попалась на глаза сообщение с командой wget. Интуитивно пишу в таблице крона строку
wget http://cp526266.cpanel.tech-logol.ru/moodle/admin/cron.php
В ответ получаю по почте сообщение
--2014-10-15 17:05:02--  http://cp526266.cpanel.tech-logol.ru/moodle/admin/cron.phpResolving cp526266.cpanel.tech-logol.ru... 91.195.124.142Connecting to cp526266.cpanel.tech-logol.ru|91.195.124.142|:80... connected.HTTP request sent, awaiting response... 200 OKLength: unspecified [text/plain]Saving to: “cron.php”
     0K .........                                              1.86K=5.3s
2014-10-15 17:05:19 (1.86 KB/s) - “cron.php” saved [10151]
Смысл примерно такой команда wget пытается соединиться с сервером хостинга, посылает ему запрос на скачивание файла admin/cron.php. данный скрипт запускается и выводит сообщения, которые команда пытается сохранить в файле "cron.php" Уже радует! Остается немного на всякий случай подавить вывод в файл, для чего в конце строки пишем -o null. И проверить в мудле (Раздел "Администррование"-> "Сервер" -> "Планировщик задач").
Видим отрадную картину.

Cron работает. Все мудловские задачи своевременно выполняются. Так-то!

понедельник, 13 октября 2014 г.

Лекция в Мудле.

Решил заполнить хотя бы один раздел курса. Посмотрел, какие элементы можно добавлять и увидел лекцию. Потыкался - потыкался... Понял, что своего рода мини-интернет: система страниц, тестовых вопросов, объединенная системой гиперссылок. Возник вопрос: зачем?
Почитал теорию.
ЛЕКЦИЯ преподносит учебный материал в интересной и гибкой форме. Состоит из набора страниц. Каждая страница может заканчиваться вопросом, на торый учащийся должен ответить. Последовательность переходов со страницы на страницу заранее определяется преподавателем и зависит от того, как студент отвечает на вопрос. В зависимости от правильности ответа учащийся переходит на следующую страницу или возвращается на предыдущую. На неправильные ответы преподаватель может дать соответствующий комментарий. 
Хорошо пройтись по этому элементу бритвой Оккама. По имени известного средневекового мозгоблуда схоласта Вильяма Оккама. В современном виде "бритву" формулируют так: "не умножай сущности без необходимости". Абсолютно все возможности, сами по себе, есть в самом мудле. Тогда в чем оригинальность? Только в том, что "в зависимости от правильности ответа учащийся переходит на следующую страницу"? Если это в директивной форме, то можно и поспорить, нужен ли такой жесткий контроль. Может он потом захочет вернуться. Если это не жестко закреплено - тогда возможностей и стандартного мудла хватит.

Оккам смотрит на тебя ...

четверг, 9 октября 2014 г.

Планировщик задач в мудле

Когда я в очередной раз установил, мудл, то обратил внимание на файл readme.txt, где содержались "рекомендации" по установке. Читаем
4) Set up a cron task to call the file admin/cron.php
   every five minutes or so.
Я знал, что cron - это планировщик задач в nix-овых системах. И что на него вешают все работы, которые должны выполняться периодически. Не думал, что в мудле есть такие. Кстати, возможность пользовательского доступа к планировщику задач - проверка качества хостинга. Далеко не все хостеры дают такую возможность.
Итак, надо в cron запускать скрипт admin/cron.php. Понятно, что его надо запускать через интерпретатор php. Служба тех.поддержки сказала, что запускать через строку
php - f путь доступа/cron.php
Хостер даже предоставляет интерфейс (есть такая функция crontab) для формирования заданий. Результат должен приходить мне на email.
Продуем. Вставляем в планировщик строчку
php -f /home/cp526266/public_html/moodle/admin/cron.php
В ответ получаем сообщение.
Web cron can not be executed as CLI script any more, please use admin/cli/cron.php instead
Оказывается, что CLI - Command Line Usage (Использование из командной строки) - специальный тип скриптов, который используется для системных задач. Немного гуглим. Как я понял CLI скрипты должны располагаться в специальной директории. Смотрим. Правильно, есть в мудле директория admin/cli. Меняем строку запуска в планировщике
php -f /home/cp526266/public_html/moodle/admin/cli/cron.php
Приходит сообщение
!!! <p>Error: Database connection failed</p><p>It is possible that the database is overloaded or otherwise not running properly.</p><p>The site administrator should also check that the database details have been correctly specified in config.php</p> !!!
 Не цепляет базу данных. Придется лазить по тексту. Залезаем в cron.php, видим строчку
require(dirname(dirname(dirname(__FILE__))).'/config.php');
Чтобы понять, что произошло, посмотрим описание функции dirname. "dirname — Возвращает имя родительского каталога из указанного пути". Авторы программы рассчитывали на то, что путь до родительского каталога будет состоять из трех уровней. Вроде правильно. Смотрим файл error_log.txt. Нам сообщают
09-Oct-2014 06:25:02 Europe/Moscow] PHP Warning:  mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/cp526266/public_html/moodle/lib/dml/mysqli_native_moodle_database.php on line 376
Ищем инфу по ошибке HY000/2002. Оказывается проблема в том, что MySQL не может соединиться с текущей базой потому, что занят сокет для сеанса. (Насколько я помню протокол TCP/IP для создания сеанса связи нужно устойчивое соединение - сокет). В доках рекомендуется либо очищать существующий сокет, либо создавать новый. Вообще написано, что MeSQL может работать либо через порт, либо через сокет. Через сокет создается безопасное соединение.
Смотрим программу mysqli_native_moodle_database.php. Строка 376
$this->mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname, $dbport, $dbsocket);
Похоже. Откуда берется переменная dbsoket? Чуть выше находим строчки
// dbsocket is used ONLY if host is NULL or 'localhost',
// you can not disable it because it is always tried if dbhost is 'localhost'
if (!empty($this->dboptions['dbsocket'])
and (strpos($this->dboptions['dbsocket'], '/') !== false or strpos($this->dboptions['dbsocket'], '\\') !== false)) {
                       $dbsocket = $this->dboptions['dbsocket'];
            } else {
                       $dbsocket = ini_get('mysqli.default_socket');
}
Из которых следует, что в случае, если при название сервера первоначальное - "localhost", и название сокета пустое, то будет работать одна ветка оператора (которая работает сейчас), в противном случае другая. При том, что менять код очень бы не хотелось. Во-первых, судя по названию скрипт mysqli_native_moodle_database.php - основной драйвер базы данных, поэтому чревато. Во-вторых, это не системно: потом забудешь, никакие автоматические изменения использовать нельзя и пр. Надо придумать способ, как решить проблему, не меняя кода.
Другой вариант - переназвать  либо сервер, либо сокет. Вообще-то это делает при инсталляции мудла, но ведь в нашем распоряжении есть настроечный файл config.php. Изменяем название сокета. Не проканало. Увы.

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

Вечером читаю еще раз документацию. Оказывается есть версия для веб-запуска. В каталоге moodle/admin (Именно ее я пытался запустить через интерпретатор php в начале). Пробуем запустить скрипт через браузер. Как ни удивительно - Работает!!!

НО, я не могу повесить это задание на планировщик, потому, для автоматического режима надо скрипт гонять через интерпретатор php, см. начало и все повторится снова. Пока пусть так будет. Потом еще поразбираюсь.

Лицензия Creative Commons
Произведение «Блог "Эффективное дистанционное образование"» созданное автором по имени А.Н.Гущин, публикуется на условиях лицензии Creative Commons «Attribution» («Атрибуция») 3.0 Непортированная.
Основано на произведении с an1954.blogspot.ru. на следующий (также выделен полужирным шрифтом):