Microsoft Research запустила браузерную игру-головоломку по обучению программированию
Microsoft Research в своем блоге анонсировала запуск браузерной игры-головоломки Code Hunt по обучению программированию на C# и Java.Игроку даются фрагменты кода с заранее неизвестной функциональностью. Цель игры заключается в том, чтобы на основе входных данных и ожидаемого результата, изменить код метода или функции так, чтобы выходные данные соответствовали этому ожидаемому результату.
В начале игры игрок выбирает на каком языке (Java или C#) будут представлены фрагменты кода. В дальнейшем, в ходе игры в любой момент времени можно переключиться с одного языка на другой. Игра разделена на сектора, соответствующие разным темам программирования (циклы, массивы, работа со строками и т.д.). Каждый сектор, в свою очередь, состоит из нескольких уровней, расположенных в порядке возрастания сложности. Прохождение уровня оценивается одним, двумя или тремя «кирпичиками» в зависимости от «элегантности» написанного кода. Чем короче код, тем он считается элегантнее. Например, в задаче подсчета количества символов 'a' в строке, код
public class Program { public static int Puzzle (String s) { int result = 0; for (char c: s) { if (c == 'a') ++result; } return result; } } оценивается в один кирпичик по шкале элегантности, а вот код, имеющий ту же функциональность, но написанный с использованием регулярных выражений — уже в три кирпичика: public class Program { public static int Puzzle (String s) { return s.replaceAll (»[^a]»,»).length (); } } Конечно, эта игра больше подходит под категорию головоломок или пазлов, чем обучалок программированию, но в качестве разминки для мозгов весьма затягивает.