Я преподаю программирование в провинциальном, но таки государственном университете. Работаю шестой год, по образованию — математик-программист. Работу свою люблю и отношусь к ней ответственно. Главная цель — научить студентов писать чёткие и прямые программы. Про это и хочу рассказать.
В четвертом семестре у прикладных математиков курс «Структуры данных и алгоритмы». Язык С++, среда и интерфейс программ мне индифферентны, но чтобы не тратили лишнее время, ратую за консоль. Две группы по две пары по четвергам весь семестр.
Первое занятие у одной группы. После получасовых объяснений студент спрашивает: «А что, STL использовать нельзя?» Говорю, что нет, ибо цель как раз в том, чтобы понять, как это работает. Он оказывается самым сильным в группе, библиотеку знает, но не умеет передавать параметры в функцию по ссылке. Круто. Объясняю.
Через пару — вторая группа. «А теперь возьмите код из примеров и реализуйте через функции». Четыре девочки говорят, что не умеют с ними работать. Мысленно матерюсь, вслух зову их поближе к доске и полпары объясняю то, что они должны были усвоить в первом, на крайний случай во втором семестре. Остальная часть группы краем уха слушает. Дома изливаю яд в блоге, вопрошая, почему девочкам незнание программирования ранее спустили на тормозах. Дураки с этой специальности отчисляются на первом курсе, так что по крайней мере математику студенты понимают.
Вторая неделя. Несколько студентов сделали задачи дома и принесли сдавать. Один красавец для каждой задачи создаёт отдельный динамический массив, перемещается по нему с помощью указателей и пытается выдать творение за линейный список. Ругаюсь, пока не начинаю повторяться. Товарищ оправдывается: мол, хотел побыстрее отделаться. В итоге потратил две пары на переделывание и дописывание задач. В конце сдаёт и гордо так говорит, что сделал быструю сортировку. Разумеется, нашёл реализацию для массива, и вместо каждого упоминания размера вставил функцию определения длины списка. Объясняю, что у полученного алгоритма сложность стала больше, чем у «пузырька». Ржём уже вместе. Кстати, о «пузырьке» — надо ли говорить, что остальные студенты о других сортировках не имеют никакого понятия? Обнаруживаются ещё четверо не знающих функций, зато давешние девицы к концу занятия доделывают первую часть лабы. Правда, с моей помощью, но радость и гордость на лицах неподдельные.
Началась третья неделя. Жду, что нового принесёт четверг.
Программисты, как известно, товар штучный. Я не идеальный преподаватель, иногда я ошибаюсь, у меня тяжёлый характер, и я знаю, что не все хорошо меня воспринимают. Но я верю, что вместе с коллегами мы сможем выпустить тех, кого не назовут индусами и быдлокодерами.
#5588: Как я встретил вашу маму
12:00 02.03.2011, IT happens
Сижу у друга в офисе, где он компы ковыряет. Заходят три тела: «Мы вот тут комп собирали, чё-то не фурычит». Честно говоря, по виду дядечек я бы и не сказал, что они на такое способны.
Друг отошёл, я решил глянуть сам. Открываю, смотрю — вроде ничего. Беру фонарик, направляю на мать, а там трещина здоровая. Ничего ж себе контроль качества у %vendorName%, думаю. Присмотрелся сбоку — свят-свят! Половина матери прикручена на стойки, а другая — саморезами в упор к стенке блока. Силы мужичкам явно не занимать.
#5589: В Канаде хорошего не снимут
14:00 02.03.2011, IT happens
Айтишник известной компании как-то за бутылкой чая рассказал мне забавнейшую историю. Подсели его домашние на какой-то дурацкий сериал. Через некоторое время товарищу опостылели натужные шутки с закадровым смехом.
В неординарном решении проблемы содействовали программеры и отдел технической документации. Программеры написали перехватчик видео; отдел документации немного подправил заранее скачанные серии. Каждые несколько минут просмотра в специально подобранных местах слышался раскатистый пердёж, сопровождаемый закадровым смехом. Терренс и Филлип нервно курили в сторонке.
На третий вечер просмотра было принято общесемейное решение: фильм — говно, смотреть нельзя.
#5590: Бесконтактная бестолковщина
14:00 02.03.2011, IT happens
Звонит пользовательница: «Не печатает принтер». Подключаюсь удалённо. Статус «готов», с настройками всё в порядке, но тестовая страница не печатается, хотя принтер беспроблемный. Перезагрузила, добавила прав — та же история. Удалила принтер, переставила, перезагрузила — то же самое. Удалила драйвера в свойствах сервера печати, всё перепроверила, переставила с нуля, ещё раз перепроверила — нет результата.
Минут через сорок моих мучений юзерша, с которой я всё это время общалась по телефону, сообщает мне, что в обед ходила к нашим техникам за новым картриджем, ей выдали, но какой-то не такой, как обычно. Настораживаюсь, уточняю, что в нём необычного.
— А он меньше по размеру. Я его внутрь положила, а принтер не печатает.
#5591: Будет, как было, и будь что будет
14:00 02.03.2011, IT happens