Home

zorchi


Advertisement

Customize

November 4th, 2009

Куда мир катится. @ 03:18 am

Аааа!

Анимированные иконки на сайте студии Артемия Лебедева: http://www.artlebedev.ru/tools/blogs/
 

November 1st, 2009

Эволюция домика @ 01:01 am


Задача на циклы.

0. Нарисовать звёздочками такой домик:
   *
  * *
 *   *
*******
*     *
* *** *
* * * *
* *** *
*     *
*******

0’. Этот этап можно смело пропустить, но если уж кто совсем не врубается, то лучше дать.

Дано число  N. Вывсести N звёздочек вертикально.
*
*
*


1. Дано число  N. Вывести N-этажный домик.
   *
  * *
 *   *
*******
*     *
* *** *
* * * *
* *** *
*     *
* *** *
* * * *
* *** *
*     *
* *** *
* * * *
* *** *
*     *
*******


2. Даны два числа N и M. Вывести общагу c MxN окнами:

*******************
*                 *
* *** *** *** *** *
* * * * * * * * * *
* *** *** *** *** *
*                 *
* *** *** *** *** *
* * * * * * * * * *
* *** *** *** *** *
*                 *
* *** *** *** *** *
* * * * * * * * * *
* *** *** *** *** *
*                 *
*******************


3. Даны два числа N и M. Вывести общагу c MxN окнами и крышей:
         *
        * *
       *   *
      *     *
     *       *
    *         *
   *           *
  *             *
 *               *
*******************
*                 *
* *** *** *** *** *
* * * * * * * * * *
* *** *** *** *** *
*                 *
* *** *** *** *** *
* * * * * * * * * *
* *** *** *** *** *
*                 *
* *** *** *** *** *
* * * * * * * * * *
* *** *** *** *** *
*                 *
*******************
 

September 30th, 2009

Нужен план действий. @ 11:28 pm

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

Хочу сделать так, чтобы знание или объяснение, родившись однажды, не пропадало вникуда, а сохранялось и модифицировалось. Чтобы то, что сегодня пришлось объяснять всю пару (а то и не одну), завтра любой мог понять за два часа или час самостоятельного изучения. Ему только надо будет сказать, к следующему уроку, мол, вам надо разобраться с материалом по такому-то адресу.

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

Поэтому надо сделать экшн план. Не просто садиться и думать, куда какой материал передвинуть. А заранее в фоновом режиме придумать эти действия, и сев за компьютер уже сделать конкретные вещи.

Например, следующим действием у меня будет такое:

Сделать страничку, где описано домашнее задание на прошлый урок, задание прошлого урока, домашнее задание на следующий урок, задание будущего урока и предположительное домашнее задание, которое будет дано на следующем уроке.

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

September 26th, 2009

как учить @ 11:45 pm

конечные цели у всех двадцати человек разные, но у пути есть общие кусочки.
С одной стороны если учить только общим кусочкам, то многие перестают видеть конечную цель. То есть не видна ни одна из множества возможных.

А если декларировать какаю-то цель, то сразу теряют интерес те, у кого цель другая, они не видят, что путь во многом совпадае
 

September 9th, 2009

Логика и пользовательский интерфейс. @ 10:45 am



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

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

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

Потому что, учителя в болшинстве случаев не знают как это правильно делать, как отделять логику от дизайна. А дети, понятно, этого тоже не знают, но в болшинстве случаев они даже не понимают, что это надо делать. Просто доходят до какого-то момента, когда поддерживать свою программу уже не могут, но не понимают, почему, а объяснить некому. Бросают её и начинают другую. И всё повторяется по новой.

Даже если учитель всё это знает, то проконтролировать, чтобы у детей в коде всё было нормально и сделать так, чтобы они всё это почувствовали, очень сложно.

Вариант решения.
И тут нам на помощь приходят web-приложения, где логика выносится на сервер, а на клиенте остаётся только пользовательский интерфейс. Тогда логика от дизайна отделяется не какими-то принципами, а вполне конкретно. Их даже писать нужно на разных языках.

Серверная часть решает задачу и выдаёт ответ в минималистическом виде для передачи клиенту. А клиент, наоборот, совсем не думает о каких-то задачах, а думает только о том, как это отобразить. И дети естественным образом привыкают к тому, как отделять view от logic. Ура!
 

September 1st, 2009

Смысл работы для учителя. @ 12:17 am



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

Когда я только начал работать, мне дали ориентир: показывать связь программирования и математики, чтобы было видно, как программирование полезно в математике, а математика в программировании, и чтобы наши занятия информатикой развивали детей математически. Я очень долго следовал этому ориентиру.

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

Чему я хочу учить? Да тому же, чему всегда хотел учить. Хотел учить их писать законченные и расширяемые программы. Чтобы ребёнок мог увидеть результат своего труда, чтобы это было что-то осязаемое.

Ещё я хочу вытащить их на свой уровень. Это я сейчас понял. Мне нравится разговаривать с детьми на интересующие меня темы, но это иногда не возможно, и почти всегда непродуктивно. И интерес мой как учителя заключается в том, чтобы максимально быстро и эффективно вывести детей на такой уровень, чтобы они могли продуктивно работать над интересными мне вопросами. Это целое искусство. Я как-то рассказывал 7 раз подряд разным группам, как решать линейные диофантовы уравнения. Каждый день новая группа. К концу я научился делать это очень хорошо, последние группы три группы понимали очень быстро. Ну о том, что даже я сам научился решать эти уравнения, уже помолчу.

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

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

August 28th, 2009

Как планировать чтение книг. @ 11:53 pm



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

Главную ошибку которую я допускал — это планировал чтение постранично. Мол, в день по 50 страниц и телемаркет. А это, естественно, не правильно, что практика мне и показала.

На самом деле, первым плотным заходом нужно проанализировать содержание книги, может быть почитать первую главу и т. д. В общем понять о чём она и что тебе теперь нужно из неё извлечь. Например, из «Паттернов проектирования» мне нужно извлечь 20 паттернов. В общем, выделить конкретные единицы смысла. И уже изучение этих конкретных единиц смысла запланировать. Например, я наверное буду изучать в некотором порядке по 2-3 паттерна в неделю. Порядок будет диктоваться моими интересами, т. е. буду читать то, что сейчас нужнее всего и интереснее.

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

August 25th, 2009

Цель. @ 12:11 am

Миниатюра:

— Так дети. Берём HTML, вставляем в PHP, чтобы проверить, заливаем на сервер и там смотрим. Через полчаса проверю, что у вас получилось.
— Пётр Петрович! Пётр Петрович!
— Чего тебе, Иванов? Всё сделал уже? Давай посмотрим.
— Пётр Петрович, как ноутбук открыть?


Уста младенца глаголят истину. Это я немножко не рассчитал сложность программы в летнюю школу и тут же получил отражение в детском выступлении на сцене.

Но всё-таки я скорее прав, чем неправ. Понятно, что пришлось их потом учить ноутбуки открывать и проходить азы. Но умение открывать ноутбук само по себе бессмысленно. И если бы я начал занятия с фразы: «на сегодняшнем уроке мы будем учиться открывать ноутбуки, а интересные программы вы когда-нибудь потом научитесь писать», то вряд ли бы загорелся в чьих нибудь глазах интерес.

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

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


— Зачем тебе открывать ноутбук?
— Чтобы запихать HTML в PHP.
— Зачем тебе это надо?
— Написать суперклёвую программу!
— Зачем?
— Хочется.


Сомневаюсь, что кому-то хочется просто открывать ноутбуки. Чтобы делать что-либо, нужно осознавать хотя бы ближайшее хочется. Как доставшей уже всех притче про трёх мужиков, таскающих камни. Чтобы таскать камни следует знать о храме.

Это касается не только информатики, но и любого школьного предмета. Да и вообще, любого вида деятельности.
 

July 26th, 2009

(no subject) @ 10:39 pm



Возьми любую книжку по менеджменту, послушай любого бизнес-тренера, зайди на сайт к Александру Орлову или в блог к [info]slavapankratov, в конце-концов, спроси у своего начальника. Любой тебе скажет, что программист нужен только потому, что без него не обойтись. Бизнесу нужны IT решения и поэтому он соглашается нанимать программистов. Если было бы можно, бизнес с удовольствием обошёлся бы без них, и программисты были бы никому не нужны. В общем, программисты — это такие прикладные люди уровня обслуги.

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

Под воздействием таких аргументов я чуть не отказался от программирования и чуть не стал менеджером.

Какие возражения? Конечно, менеджмент — это сложно и интересно, но... Интерес? Каждому интересно своё. Кому — работа с людьми, кому — математика, кому — программирование. Сложность? Смотря на каком уровне. Люди-то в массе своей одинаковые, хоть и нелинейные. Все хотят отпуск и прибавку к зарплате (ну там всякие отраслевые тонкости, но они тоже стандартные) всё предсказуемо, лишь местами неприятно. Нужно хладнокровно со всеми обо всём договариваться. Нервная работа, этим и сложна. Но в любой профессии такие заковыки случаются, что даже самым матёрым есть над чем голову поломать. Так что было бы желание, а сложности найдутся.

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

July 23rd, 2009

Работа начальника, или почему директор школы не ведёт уроков. @ 11:56 pm



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

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

Ну и вопрос над которым я задумался такой. Вот приходит молодой специалист, неважно, с высшим образованием или после таких же курсов телемастера. Телевизоры он ремонтирует не хуже, а то и лучше, потому что дядя мой их уже давно не ремонтирует. Режиссёрское дело, тоже вперёд ушло, и вполне возможно, что после курсов юное дарование знает больше, чем человек работавший в селе. А если он с высшим образованием, так вообще. А может он просто умный. Но начальником всё равно будет тот человек, который уже несколько лет работает. По крайней мере первое время точно. Почему? Наверное дело не в умении телевизоры ремонтировать и не в режиссёрских знаниях.

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

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

July 21st, 2009

Круг общения. @ 11:56 pm



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

Внимание вопросы:

1. Что мешает нам сформировать круг общения раньше, ещё в школьные годы. Зачем ждать студенчества?
2. Если раньше его сформировать нельзя в силу особенностей возраста, то что мешает нам сформировать тот же круг общения без вуза? Выборка людей ведь в конце-концов оказывается весьма разношёрстная, тогда причём же здесь студенчество и зачем быть ему за это благодарным?
 

ЕГЭ. Без тренировки никуда. @ 12:13 am



Ещё раз о том, почему перед ЕГЭ нужно обязательно тренироваться. Дело в том, что иногда в задачах попадаются тонкие моменты. Тонкий момент, это иногда бывает так, что не можешь словами объяснить, что тут тонкость, но мозг эту тонкость фиксирует и обращает внимание.

Нельзя сказать, что там бывают какие-то сложные тонкости. Наоборот, тонкости там типичны и определённые виды тонкостей появляются в определённых задачах. Умный человек, встретив задачу и начав внимательно решать, непременно эти тонкости обнаружит безо всяких тренировок. Внимание вопрос: зачем же всё-таки тренироваться?

А тренироваться надо затем, что любая тонкость требует дополнительного времени на распознание. А на ЕГЭ это время ограничено. То есть, всматриваться в каждую задачу на предмет тонкостей нельзя, иначе нехватит времени. А если не всматриваться, то упустишь тонкости и не наберёшь высокий балл. Что делать? Тренироваться.

Как я уже сказал все тонкости на ЕГЭ типичные, поэтому немного потренировавшись и набив достаточное количество шишек, вы можете заранее отличать задачу с возможными тонкостями. То есть вы тратите своё время и внимание не на каждую задачу, а лишь на определённые. А отличать эти определённые от каждых вам поможет только предварительная тренировка.
 

July 19th, 2009

Искусcтвенные ограничения. @ 09:36 pm



Разумно ли специально вводить какие-либо ограничения на учебном проекте? Например, пишем только на PHP, и независимо от того, что покажет анализ разработки на других технологиях, или используем обязательно методологию XP, или непременно пишем под определённую операционную систему.

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

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

Мы конечно можем поставить условие найти самый удобный инструмент и самую подходящую технологию, этим мы будем развивать умение анализа. Можем забить на анализ и всё писать на .Net, но обращать внимание на какие-то другие вещи, чтобы развить другие умения.

Заметьте, поскольку ни писать, ни анализировать, ни менеджерить мы толком не умеем, то конкретных преимуществ для проекта не получаем. Ну то есть, если мы забиваем на анализ и пишем на PHP с использованием паттернов, то мы оттачиваем програмистские навыки, и потом мы на PHP будем писать проект лучше, чем если бы делали на .Net. Т.е. PHP мы знаем и пишем на нём, даже если анализ (причём, нами сделанный) показал, что .Net якобы больше подходит. Во-первых, мы не так хорошо знаем .Net, поэтому на менее подходящей, но более знакомой технологии построим проект лучше, а во-вторых, аналитики из нас пока тоже никакие, поэтому в том, .Net действительно для данного проекта подходит больше, я бы лично сильно усомнился. Ну и наоборот, мы можем действительно уделять много времени анализу, и в конце-концов научиться это делать хорошо. То же касается управления проектов, процесса разработки, работе в команде, распределённости и т.д.

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

July 10th, 2009

Цели. @ 10:32 pm

Какие нужно ставить цели, начиная вести курс? Любая цель, типа, выпускать каждую четверть микропроект, и к концу каждого года мегапроект, с одной стороны хороша, потому что сразу понятно, достигли мы её или нет. Хороша, например, такая цель: в конце обучения сдать ЕГЭ не менее чем на 80 баллов. Цель что-нибудь изучить, чего-нибудь добиться, что-нибудь запомнить, освоить или сделать, всегда можно сказать достигли мы цели или нет.

Чем такая цель плоха? Тем, что некоторые родители приходят в ужас от мысли, что их ребёнок может стать программистом (учителем, врачом, юристом, милиционером). Как только говоришь им, наша цель сделать что-то конкретное, они отвечают а зачем ему это надо, может быть он никогда в жизни не будет делать это конкретное.

Но как объяснять то, что дети десять лет ходят на уроки математики, литературы, географии, физкультуры и прочей лажи? Зачем туда ходить, если это может никогда не понадобиться? Как объяснять это детям, родителям и себе? Происходит подмена целей.

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

Почему такие «цели» всех устраивают?
Почему они устраивают родителей? Ясно, почему. Родителей уже не пугает потенциальная возможность ребёнка стать программистом. Они думают, что он учится общаться и системно мыслить, а это ведь очень полезные умения, они везде пригодятся.

Почему это устраивает учителей? Ясно, почему. Как проверить качество обучения? Никак. Как показать добились мы цели научить ребёнка общатья или не добились? Никак. Это же благодать, можно ничего не делать, имитируя бурную деятельность, и никто тебя не сможет упрекнуть.

Что же делать? Ну или так, зачем вообще что-то делать? Да затем, что если вы хотите делать свою работу качественно, то у вас должны быть чёткие критерии качества своей работы. Степень умения общаться измерить нельзя, значит это не может быть критерием. Чтобы выработать такие критерии, нужно ставить чёткие цели и добиваться их. Тогда вы можете сказать, сделали вы дело хорошо или где-то не дотянули.

А как же умение системно мыслить? Это несомненно полезное умение. Но оно не может быть целью. Это некий побочный эффект вашей деятельности. Как крепкое здоровье у спортсменов. Спортсмен занимается лыжами или баскетболом не ради крепкого здоровья, а ради лыж или баскетбола. Больше того, для крепкого здоровья ему совсем не обязательно заниматься сразу всеми видами спорта. Здоровье — это побочный эффект занятий спортом. Так же как системное мышление — это побочный эффект некоторых видов умственной деятельности.

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

July 9th, 2009

Альтруизм. @ 11:46 pm

Помните, я рассказывал, про агрессивность учителей? Почему так происходит? Потому что у учителей нет денег и социальной значимости. Им нехватает ресурсов, чтобы удовлетворять свои потребности. Как писал Фриц Mорген, доброта и любовь они как пиво в кружке, наполните сначала добротой себя до краёв, и тогда она польётся через край на окружающих.

А ещё есть пирамида потребностей Маслоу, согласно которой потребность к альтруизму, возникает только после удовлетворения всех более низших уровней. Собственно, кружечная аналогия Фрица очень соотносится с пирамидой Маслоу.

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

July 8th, 2009

Проекты школьников. @ 11:17 pm

Школьники мечтают делать собственные проекты. Учителя мечтают, чтобы их ученики делали собственные прокеты.

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

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

А всё почему? Потому что учителя недостаточно компетентны, даже лучшие из них не знают подноготной разработки ПО. А те кто занят в этой интустрии, тем не до школьников. Я восхищаюсь барнаульской и питерской школой, где компетентные люди, таки занимаются со школьниками. Изо всех сил стараюсь не отставать.

Моя цель, наладить производство школьниками качественных проектов. Это будет и детям приятно, и покажет (повысит) моё мастерство преподавателя.
 

Advertisement

Customize

zorchi