Архив по категории ‘софт’.

Нужно ли заставлять студентов учиться?

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

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

Надо сказать, что мне нравится обстановка, которая складывается на разных программерских конференциях, на которых докладчики и слушатели ходят добровольно и, если и получают за это какие-то бонусы, то чисто символические — наклейки на ноутбук или кусок пиццы в конце конференции. На таких конференциях всегда чувствуется атмосфера живого интереса — обсуждают доклады или какие-то свои проблемы, связанные с темой конференции. К сожалению, в институте среди студентов я такой обстановки не наблюдаю. Хорошо, если в коридоре обсуждают что-нибудь про работу транзистора, но часто это связано с тем, что нужно сдавать лабораторку, а не из-за того, что им это интересно. На самом деле есть студенты, которые интересны какие-то предметы, но концентрация их на квадратный метр очень не велика.

Я считаю, что репрессивными мерами на занятиях нельзя заинтересовать студента, а если нет интереса, то занятия становятся скучными не только студентам, но и преподавателю, а от этого он начинает более монотонно читать свой предмет, что еще больше усиливает скуку студентов. Всегда нужна обратная связь. Учеба без интереса — это насилие над собой, и скорее всего знаний от такого предмета не прибавится. Именно поэтому я закрываю глаза на посещаемость (ее отмечаю, но она ни на что не влияет) и спокойно отношусь к опозданиям, разумеется, я поворчу, если кто-то опоздает на полчаса или больше, но еще никого за это за дверь не выгонял.

Но может быть я не прав, и надо более строго следить за дисциплиной? Ведь если кто-то будет ходить на лекции через одну или опаздывать на каждую лекцию по полчаса, то вряд ли он нормально усвоит тему, а непонятные вещи еще больше будут вгонять в тоску, и он больше будет забивать на лекции. Может быть все-таки надо как-то принуждать к учебе? При этом давать какие-то домашние задания нужно обязательно, тупое начитывание лекций, когда студенты не делают ничего самостоятельно, бесполезно. Лабораторки тоже в большинстве случаев не дают необходимого для понимания опыта — на них студенты тупо выполняют инструкцию, что-то измеряют, что-то считают, но часто не понимают, что они делают. А вот домашние и курсовые работы — это другое дело, там студентам приходится что-то делать самостоятельно.

В этом семестре меня удивил один студент (достаточно толковый), который сказал, что ему понравился один предмет, который он был вынужден выучить во время сессии (не во время основных занятий) из-за жесткого преподавателя. Именно после того, как он разобрался с предметом, он ему понравился. Может быть я не прав со своими достаточно достаточно либеральными взглядами на обучение?

Optlib 0.2. Библиотека для оптимизации на языке Rust

Optlib 0.2. Библиотека для оптимизации на языке Rust

Параллельно с другими проектами я продолжаю заниматься библиотекой optlib, предназначенной для оптимизации функций на языке Rust. Напомню, что под оптимизацией функции f(x) понимается нахождение такого значения x’ (в общем случае x — вектор), что значение функции f(x’) минимально на заданном интервале для x. Библиотека optlib содержит в себе алгоритмы, предназначенные для глобальной оптимизации, то есть, в отличие от градиентных методов, эти алгоритмы пытаются найти глобальный экстремум функции (градиентные методы находят только ближайший к начальной точке локальный экстремум).

Читать далее ‘Optlib 0.2. Библиотека для оптимизации на языке Rust’ »

OutWiker 3.0.0.868 unstable

OutWiker 3.0.0.868 unstable

Обычно я стараюсь выкладывать новые нестабильные версии OutWiker примерно раз в месяц, но иногда работа над очередной версией затягивается. Одной из причин такой задержки в этот раз стало то, что я внезапно для себя взялся за задачу, которую до этого планировал выполнить после релиза стабильной версии OutWiker 3.0, а потом решил, что сейчас для этой задачи самое время, потому что она ломает совместимость со старыми версиями плагинов.

Читать далее ‘OutWiker 3.0.0.868 unstable’ »

Доклад про генетические алгоритмы

В Москве есть такое замечательное сообщество — Московский клуб программистов. Раз в две недели участники этого сообщества собираются (в последнее время площадку для таких митапов предоставляет компания Леруа Мерлен у себя в офисе на Шаболовке) и обсуждают какие-нибудь две темы. Обычно это происходит в виде доклада с последующими вопросами или в виде модерируемого обсуждения.

Несколько дней назад я выступил на этом митапе и рассказал о генетических алгоритмах. Ниже вы можете посмотреть видео этого доклада. Материалы с этого митапа (в том числе презентацию) можно скачать по этой ссылке с сайта Московского клуба программистов.

OutWiker 3.0.0.866 unstable

OutWiker 3.0.0.866 unstable

Всем привет. Сегодня выложил следующую нестабильную версию OutWiker с номером 3.0.0.866.

В этой версии я в основном сосредоточился на исправлении ошибок и наведении красоты в коде программы. Но и новые возможности в этой версии тоже появились.

Читать далее ‘OutWiker 3.0.0.866 unstable’ »

OutWiker 3.0.0.864 unstable

OutWiker 3.0.0.864 unstable

Сегодня выложил следующую нестабильную версию OutWiker под номером 3.0.0.864. Эта версия в основном содержит исправления ошибок.

Читать далее ‘OutWiker 3.0.0.864 unstable’ »

OutWiker 3.0.0.862 unstable с большим количеством изменений

OutWiker 3.0.0.862 unstable с большим количеством изменений

И снова всем привет! Сегодня выложил новую нестабильную версию OutWiker под номером 3.0.0.862. В этой версии было сделано огромное количество изменений, как заметных пользователям, так и тех, которые, я надеюсь, пользователи не заметят. В этом посте будет два раздела. Сначала я опишу изменения в интерфейсе, которые вошли в новую версию, а затем расскажу о том, почему под Linux пришлось переходить на новую версию WebKit, как это происходило и к чему привело.

Читать далее ‘OutWiker 3.0.0.862 unstable с большим количеством изменений’ »

Про лекции и конспекты

Чтение лекции — это процесс переноса конспекта преподавателя в тетрадь студента, минуя сознание обоих.

Недавно на Хабре появился перевод статьи Как я пишу конспекты по математике на LaTeX в Vim. Идея в том, что автор настолько виртуозно умеет работать в Vim и знает LaTeX, что вместо написания конспекта ручкой в тетради, успевает оформлять его в электронном виде в формате LaTeX. Но на этот пост меня подтолкнули комментарии, где разгорелись споры по поводу того, нужно ли вообще вести конспект лекций, не устарело ли это понятие в цифровой век.

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

Читать далее ‘Про лекции и конспекты’ »

OutWiker 3.0.0.860 unstable и опрос по поводу новой иконки

OutWiker 3.0.0.860 unstable и опрос по поводу новой иконки

Я больше чем на месяц переключился с OutWiker на другой проект, о котором напишу, когда завершу статью о нем, поэтому очередная нестабильная версия OutWiker задержалась, и в ней не так много изменений. В основном это исправление ошибок и обновление локализаций.

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

Также обновил плагины Snippets, Source, TeXEquation и UpdateNotifier. В основном изменения там касаются обновления украинской и немецкой локализаций. В плагине TeXEquation немного улучшен внешний вид окна предпросмотра набираемой формулы.

Читать далее ‘OutWiker 3.0.0.860 unstable и опрос по поводу новой иконки’ »

О языке Rust и книге Дж. Блэнди и Дж. Орендорфа «Программирование на языке Rust»

К языку Rust я присматривался давно. Пару лет назад даже пытался писать на нем небольшую программку, но до серьезного использования дело не дошло. И вот в начале этого года я решил взяться за этот язык основательно.

Rust — это компилируемый язык, предназначенный в том числе и для системного программирования. Основная «фишка» языка — это исключение на уровне компиляции ошибок работы с памятью — не инициализированные указатели, висячие ссылки и т.п. — и избегание неопределенного поведения. При этом не используется сборщик мусора, а сам язык ориентирован на максимально возможную производительность. При этом стиль программирования на Rust сильно отличается от традиционного объектно-ориентированного программирования. Если говорить очень грубо, то это скорее напоминает C с интерфейсами и очень необычной работой с памятью. Разработчики Rust позиционируют язык как замена C++. Особенности языка заставляют заранее продумывать структуру взаимодействия используемых объектов, а не плодить сложную сеть из взаимосвязанных объектов в надежде, что сборщик мусора потом все уберет. У Rust очень строгий компилятор, который откажется компилировать программу, если у него не будет уверенности в том, что она корректно работает с памятью, и что не будет гонок данных в многопоточной программе.

Читать далее ‘О языке Rust и книге Дж. Блэнди и Дж. Орендорфа «Программирование на языке Rust»’ »