Автоматизация заполнения базы данных "по студентам", немного статистикиЯ уже провел две лабораторных работы и один семинар с первым курсом в этом семестре и, так как на лабораторных мне делать особенно нечего, в основном занимался "статистическими" изысканиями и вообще, наблюдал за поведением первокурсников в естественных, так сказать, условиях. Но мне хочетя рассказать о "базе данных". Дело в том, что наш деканат это не просто "деканат", а "деканат факультета прикладной математики и физики". Как следствие, в нем есть компьютер. Зачем он там находится мне доподлинно неизвестно, так как кроме него там же находится и печатающая машинка времен расцвета социализма, но наличие электроники обязывает к прогрессу. Прогрессивность нашего деканата заключается, в частности, в том, что вот уже несколько лет на этом компьютере установлена "база данных" (так ее называют). В ней находится информация о студентах: паспортные данные, сведения о родителях и прочее. Кроме того, в ней есть возможность занесения отметок, но реально этим никто не пользуется (кто же туда их будет заносить?) История возникновения этой "базы данных" достаточно проста: требование прогресса в деканате способствовало заказу на подобную программу, заказ, конечно же, оформился в передачу его на мою родную кафедру алгоритмических языков и программирования ("вычислительной арифметики" ©), а тут рассудили достаточно просто. Никому из "старших товарищей" заниматься этим не хотелось (разве что поруководить), поэтому задание отдали студентам, тем более что за это обещали платить какие-то деньги (ощутимые для бедного студента второго курса). Нетрудно догадаться, во что это вылилось. Студент второго курса программировать, по большому счету, не умеет, поэтому для него это стало упражнением на изучение Delphi, тем не менее программа таки была написана. И даже заработала. И вот тут выяснилось самое страшное. Оказывается, написать программу не являлось самым сложным в этом задании! Программа "просто так" не представляет никакой пользы, для нее нужны данные. В деканате же никто и не собирался вводить их туда, так что внесение информации внутрь так же легло на студенческие плечи... Но тут было выдвинуто рац. предложение оформить заполнение анкет в электронном виде как лабораторную работу. И оформили. С тех пор в курсе "Информатика", в котором изучаются основы построения алгоритмов и программирование, формулируются и доказываются различные теоремы, первая лабораторная работа заключается в следующем:
В результате, к концу первого месяца у нас появляется набор анкет в электронном виде. Сложность заключается в том, что так как это лабораторная работа по emacs, то нельзя выдать студентам программу по заполнению этой анкеты "с формой ввода", приходиться просить их заполнить файл по примеру (шаблону), который каждый из них должен скопировать из определенного места: /usr/user/stud/f8/1/studinfo/studinfo. Набрать весь этот путь для них является большой трудностью (так как использовать механизм завершения имен в bash они еще не умеют, а некоторые из них так и не научатся до конца нашего курса). Что только не делают студенты с этим файлом... фактически, на первом курсе порядка 120-140 человек и НИ У ОДНОГО из них нет безупречно оформленной анкеты. В инструкции по выполнению лабораторной работы написано: "скопировать файл studinfo из каталога ... в файл NN.GGG в своем домашнем каталоге, где NN --- номер студента по списку, а GGG --- номер группы". Понятно, что на первой лабораторной работе еще не все студенты имеют практикум, в котором находится эта инструкция, и воспринимают процитированную фразу на слух. В итоге в домашних каталогах студентов появляются (если появляются) следующие файлы: studinfo, NN.GGG, NN_GGG, GGG.NN и т.д. Вариантов --- море ;) Шаблон анкеты выглядит как уже готовый пример анкеты для некоторой студентки Ивановой Татьяны. На момент обработки файлов выясняется, что из 120 студентов на курсе учатся как минимум 30-40 Ивановых Татьян ;) А какие только ошибки не допускаются внутри анкеты... впрочем, перечислять их все бессмысленно. Кстати сказать, тот студент, который писал программу, уже и не студент вовсе, а аспирант, и эта "база данных" висит на нем как тяжелый камень. В прошлом году мы попытались автоматизировать процесс обработки студенческих ошибок в анкетах (это было очень эмоционально, мы хотели пойти по домам, но было необходимо внести собранные анкеты в "базу данных", поэтому можно представить наше состояние, когда ни одна анкета из 120 штук не была готова к автоматической обработке). Вылилось это в 10 скриптов на Perl с оригинальными названиями (догадайтесь сами с трех раз... как? уже угадали?) Нет ничего приятнее, чем смачно произнести что-то в духе: "студент такой-то не прошел сквозь <название скрипта>" (про название вы уже догадались.) Шаблон анкеты тоже достаточно забавен. Например, в нем есть спорная фраза в поле примечание: "имеет младшую сестру". Ничего смешного... нет, правда ничего смешного в этом нет и не надо так пошловато улыбаться. Тем не менее, можно очень просто следить за первокурсниками, определяя на каком месте анкеты они находятся. Если первокурсник вдруг заулыбался, начал воровато оглядываться и исподтишка толкать локтем соседа и показывать ему что-то на терминале, давясь от смеха, значит он дошел до примечания ;) Шаблон поведения. Но бывают особые "умники". Во-первых, среди студентов-первокурсников всегда есть "крутые": люди, которые написали пару программ на Delphi, или имеют опыт написания какого-нибудь CGI-скрипта, или (таких в последнее время становится все больше и больше) владельцы какого-нибудь "сайта" в интернете. Нет, среди них есть и нормальные люди, а есть такие, которые считают, что они уже все постигли и расценивают свое присутствие здесь как одолжение лично мне. Во-вторых, есть люди, которые хотят как-то "соригинальничать" и почему-то не понимают, что эта анкета не место для их "оригинальностей". Обычно эти два класса "умников" совпадают ;) Самая частая оригинальность: в анкете есть поле, в котором надо указать свой пол (буквами М или Ж). По-английски оно называется... правильно, SEX. Соответственно, студенты (именно те, которым положено туда написать буковку М), пишут там такую ахинею, что становится немного странно. Во всяком случае, лично мне это немного непонятно --- почему на подобный вопрос, надо писать всякие глупости? В общем, все глупости, которые могут допустить первокурсники, повторяются из года в год практически без изменений даже в количественном составе. Особенной скурпулезностью на первых лабораторных работах отличаются девочки... пардон, девушки. Они обычно сбиваются маленькой группой (их обычно 3-4... хм... штуки) и делают лабораторную работу "хором". Тем более, что первые работы очень простые и это у них получается. Точно так же, обычно в группе находится одна девушка, которая сидит отдельно от всей этой группы девушек, в окружении мальчиков... опять пардон, юношей. На следующих лабораторных работах (которые становятся сложнее), делать их вместе уже не получается и вся школьная скурпулезность улетучивается, заменяясь нервозностью, потому что времени обычно не хватает. Теперь что касается статистики. У студентов первого курса все чаще и чаще появляются в анкетах домашние странички. Сегодня команда вида "fgrep http `find . -name "*[._-]10[1-6]"` | grep -v www.ru", выполненная в корневом каталоге для первого курса, выдала мне целых семь вхождений. Кстати сказать, последний "grep -v www.ru" добавлен прежде всего потому, что в примере заполнения анкеты именно этот адрес прописан в поле для домашней странички ;) Для сравнения: в прошлом году домашних страничек было две. В позапрошлом, по-моему, не было ни одной, хотя я это плохо помню. Точно так же меняется направленность предпочтений и пожеланий студентов. В той анкете, которую я прошу написать для меня (точнее это не анкета, а просто просьба написать что-нибудь о себе и своих планах), в том, что касается пожеланий к курсу, лидирующее положение начинает занимать Java и "веб-программирование", а C++, который был лидером ранее, отходит на второй план. Свои собственные познания студенты точно так же начинают расписывать несколько иначе, чем ранее. Нет, BASIC (или BASIK, как они еще пишут название этого языка программирования) и Excel (иногда Exel, XL, Ecxel) лидируют очень прочно. Но второе место теперь делят Delphi (которое раньше там находилось в гордом одиночестве) и... язык программирования HTML. А так же JavaScript, Perl, PHP. Оценки расставляются обычно чрезвычайно важно, "отлично", "профессионально", "весьма" и т.д. Кстати. В "лаборатирии" установлен принтер Digital LAT120, который предназначен для распечатки студентами своих протоколов. Это не совсем принтер в обычном понимании этого слова, скорее, это терминал с печатающей машинкой вместо экрана. Тем не менее, первокурсники сегодня столкнулись с такой техникой впервые. Самая сложная задача, это получить из него свою распечатку ;) он печатает на перфорированной бумаге, которую надо вытащить из него и отрезать или оторвать по сгибу. Делается это изящным поворотом ручки с левой стороны... один студент сегодня пять минут стоял перед принтером в раздумиях, за что его надо дернуть, что бы получить свой протокол ;) В общем, только сегодня я понял, что принтеры "с ручками" ушли безвозвратно... развитие техники, однако. РезюмеОдна из анект отличалась особой краткостью: "хочу стать крутым программистом!". Так выпьем же за это!
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
© 2000-2008, Andrey L. Kalinin mailto:andrey@kalinin.ru |
|