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

28.11.2018

Суть поста вкратце: я считаю, что на олимпиадах, целью которых (хотя бы отчасти) является выявление победителя, задачи должны быть составлены так, чтобы победитель не набрал максбалл — победитель должен скорее набирать процентов 70-80.

Далее

Про алгоритмический сахар, или почему я требую писать все вручную

12.11.2018

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

Далее

Undefined behavior: как прострелить себе ногу в C++ (видео)

26.10.2018

Недавно я выступал на нижегородской C++ User Group с докладом про Undefined behavior. Сейчас огранизаторы мероприятия смонтировали видео и выложили на youtube. Настоятельно рекомендую посмотреть всем, кто более-менее неплохо знает C++.

Далее

Coffeescript — мой любимый язык программирования (не совсем)

20.09.2018

…Недавно меня спросили, какой мой любимый язык программирования. Вообще, конечно, этот вопрос некорректный. Языки отличаются по очень многим вещам, и нет какого-то одного идеального языка, у каждого языка есть свои достинства и недостатки.

Далее

Как отлаживать маленькие программы

4.05.2018

Пусть у вас есть небольшая программа, которая… не работает. Причем не просто как-то не работает, а у вас есть конкретный тест, конкретный пример, на котором она не работает. (Если у вас такого примера нет, то у меня есть отдельный текст про то, что делать в таком случае.) Как понять, что в программе не так, и как это исправить?

Далее

Почему в олимпиадах по информатике задачи только на программирование

21.03.2018

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

Далее

Думайте сразу над общим случаем

28.02.2018

Очень часто наблюдаю, как многие школьники, да и не только школьники, начиная решать какую-то задачу, начинают сначала думать с разные мелких частных случаев, которые на самом деле никак не помогают в общем решении.

Далее

Про Инфознайку и прочие странные олимпиады

24.01.2018

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

Далее

Про тестирование программы во время написания

25.12.2017

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

Далее

Code that belongs in a problem

8.12.2017

If you want proof, Harry, that you belong in Gryffindor, I suggest you look more closely at this.

Harry Potter and the Chamber of Secrets, by J.K. Rowling

Далее