Scratch

Friday, 28 December 2007 17:42
andrzejn: (Children)
[personal profile] andrzejn
Решил приобщить детей к программированию. Пошарил - нашёл программную среду Scratch (бесплатную, разработка MIT). По-моему, для детей в районе 10 лет - самое то. Язык неполноценный (без коллекций, без работы со строками, без создания экзепляров объектов, без...), но всё-таки с событиями, условиями, циклами, параллельностью, заточенный под анимацию, рисование, звуки и так далее. Алгоритмы не пишутся текстом, а собираются из графических блоков. Мощности инструмента хватает на написание полноценного тетриса, а классическую игрушку Invaders я сложил за двадцать минут.



Когда же ребёнок перерастёт Scratch, можно дать ему KPL, а за ним - уже любой взрослый язык.


Костя полюбопытствовал, но немедленно программировать не рванулся. Ему пока интереснее играть в готовые красивые игрушки, чем творить что-то примитивное, но своё. Нам было легче: наши поделки по качеству вполне соответствовали большинству доступных на то время игр.

Date: Friday, 28 December 2007 16:21 (UTC)
From: (Anonymous)
заказывай у него игры за деньги:) или, за велосипед там, или чего он еще хочет:)

Date: Friday, 28 December 2007 16:33 (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
Люто, неистово рекомендую Colobot. Язык там унутре премерзкий, что-то типа жаваскрипта, но мемберы описываются как в плюсах, через "::", однако это неважно, я даже не разбирался, потому что писать всякое можно и интуитивно, чем я и занимался все шесть часов или около того, потраченных на прохождение. Это прекрасная, прекрасная развивающая_игрушка! Там роботы!

Правда, ребёнку её, наверное, стОит показывать под присмотром. Чтобы он не рулил этим всем ручками, а заценил, насколько прикольно шевелится робот-страшный-охотник или робот-собиратель-минералов, наблюдать за ними можно вечно, испытывая чувство глубокого морального удовлетворения: нашёл руду, притащил к заводу, закинул, если у завода кончилась батарейка -- достал, отвёз на подзарядку, вернулся, вставил, достал из завода Кусочек Металла, отвёз в кучку кусочков металла, повторил с шага 1, если на каком-то этапе кончается своя батарейка, тоже подзарядился. И вот оно как бы само ездит, жужжит, существует!

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

гм, а чем это лучше

Date: Friday, 28 December 2007 16:37 (UTC)
From: [identity profile] k113.livejournal.com
банального бейсика? Тем, что блок-схему картинками рисует и заодно приучает разбираться с нестандартными (по бейсикам-то книг мешок) командами?

Date: Friday, 28 December 2007 16:38 (UTC)
From: [identity profile] metaldoom.livejournal.com
А у нас в школе были "Алгоритмика" и "Супер-Лого". Я их терпеть не могла, несмотря на то, что они были сделаны, как игра... :(((

Date: Friday, 28 December 2007 17:33 (UTC)
From: [identity profile] dkorduban.livejournal.com
А Кенгуренок у вас был? Мне нравилось в свое время =)

Date: Friday, 28 December 2007 17:54 (UTC)
From: [identity profile] metaldoom.livejournal.com
Кенгуренков не припомню

Date: Friday, 28 December 2007 18:52 (UTC)
From: [identity profile] tomotom.livejournal.com
Всяко присединяюсь к рекомендации.

Re

Date: Friday, 28 December 2007 21:45 (UTC)
From: [identity profile] granite-golem.livejournal.com
Как в том анекдоте: "Вырастешь, сынок, - иди в менеджеры. А то будешь, как папа, всю жизнь программером, а то и эникейщиком".

тем

Date: Friday, 28 December 2007 23:10 (UTC)
From: [identity profile] gds.livejournal.com
лучше, чем бейсик, что не прививает неправильный стиль погроммирования.
Как минимум, я не видел в скриншотах никаких goto (стрелок из произвольного места в произвольное место).
Ещё чем лучше -- что приучает к тому, что для каждой проблемы существует свой domain specific language. Для простейших игр -- простейшие блок-схемы, а как человек поймёт, что нужно что-то мощнее, так и возьмёт. В противовес текущему среднему подходу, когда берут слишком уж универсальный и неподходящий язык и решают на нём всё (даже то, что не стоит), а в качестве облегчения предлагают copy'n'paste. Очень хорошая практика, б/п.
А мешок книг по бейсику из-за того и нужен, что язык кривой и требует этого мешка для понимания.
Лучше уж рисованые блок-схемы.
И лучше, когда программирование является и остаётся удовольствием, нежели тупыми разборками с синтаксисом, с семантикой (нетривиальной для средних языков программирования), с клавиатурой (когда кода слишком много), с ненужными, лишними деталями (а язык именно тогда считается низкоуровневым, когда требует внимания к вещам, не относящимся к предметной области).

а он знает инглиш в таком объеме?

Date: Saturday, 29 December 2007 08:06 (UTC)
From: [identity profile] freedom_of_sea.livejournal.com
может попробовать 1с?

Date: Saturday, 29 December 2007 09:08 (UTC)
From: [identity profile] vumny.livejournal.com
Здорово.

Re: гм, а чем это лучше

Date: Saturday, 29 December 2007 14:05 (UTC)
From: [identity profile] -pk-sly.livejournal.com
я сам осваивал бейсик (на MSX) с 7-8 лет, так что это возможно.

другое дело, что, конечно такого уровня игрушки не писал в том возрасте.

Re: гм, а чем это лучше

Date: Saturday, 29 December 2007 14:12 (UTC)
From: [identity profile] -pk-sly.livejournal.com
ну кстати..
платформа MSX лучше приспособлена к играм, чем PC.
учитывая что выпущено это дело было в 1983 году, там уже был звукогой (многоголосный) процессор, видео-процессор уровня EGA (и с зачатками VGA) с аппаратной поддержкой спрайтов (и детектирования их пересечения), кравиатура гораздо отзывчивее, чем ПиСишная.
так что игры там писать было несколько легче.

Date: Saturday, 29 December 2007 15:00 (UTC)
livelight: (Default)
From: [personal profile] livelight
Я в 12 лет сразу с TurboBasic'а начал :)
Детского воображения вполне должно хватить, чтобы все эти блоки представить самостоятельно (если хочется), имея перед глазами только голый текст скрипта :)

Единственная проблема - английский язык. Не все его в 10 лет знают достаточно, чтобы нормально понимать, что написано хоть слева картинками, хоть справа текстом.

Date: Thursday, 3 January 2008 14:49 (UTC)
From: [identity profile] guns-linger-24.livejournal.com
сложно рекомендовать на самом деле. миссии - кошмар унутренный и премерзкий, дитё посмотрев на кошмар графики и изврат прохождения может и плюнуть. тем паче что очень часто ПРОЩЕ ручками руководить роботом, нежели продираться через кривизну скриптов.
вот "упраженения" - хороши. обучательны. обидно только что после этого нет нормальной возможности "запустить все это" - чтобы мир где можно было бы наладить действительно длинную производственную цепочку.
язык напоминает C++ по большей части. идея классная, но много ляпов. главный по сути то что каждый робот независим и система разваливается от тычка.
из конкретных идиотизмов:
- перезарядить другой бот - анрил, точка прикручивания батарейки не прописана.
- прицеливание стрелялок нормально не сделано, только костылями.
- скрипты прикручены к роботу, сдох - скрипт стирается, если не сохранили - плачьте.
- алгоритмы путенахождения - кривы и регулярно зависают. писать свои. причем хорошо если для каких-нибудь ползалок, про полеты вообще молчать можно.

но в целом идея богатая, да. кабы тут было общее скриптовое пространство...

Date: Thursday, 3 January 2008 15:11 (UTC)
From: [identity profile] faceted-jacinth.livejournal.com
Не, прицеливание мне там как раз дико нравится. Оно реалистичное! И, если написать правильный стрелятельный алгоритм, то очень сильное удовлетворение можно испытать, глядя на своё жуткое чудовище, убивающее пауков в десять раз быстрее, чем ты.


Да, я и говорю, продолжения для взрослых очень не хватает =)

Re: Reply to your comment...

Date: Thursday, 3 January 2008 15:47 (UTC)
From: [identity profile] guns-linger-24.livejournal.com
прицеливание в горизонтальной плоскости - на ять, не спорю. но смотришь на этот идиотский aim() с прицеливанием в градусах, которые хрен узнаешь(да, я пытался считать по треугольникам, но тут нету синуса-арксинуса, хоть убейся) и без которого в горной местности хрен кого подстрелишь... плюс атомные батарейки доступны крайне нескоро а с простыми леталка падает после четырех выстрелов.

Scratch как "разогревающий язык"

Date: Sunday, 6 January 2008 06:00 (UTC)
From: [identity profile] shperk.livejournal.com
Самое главное в Скретче - даже не его простота освоения и ориентированность на графику (кстати, последнее никто в обсуждении не упомянул), а наличие сообщества.
Созданные программы можно загрузить на сайт, как и скачать оттуда любую другую, и смотреть, изучать, модифицировать. Нахолдить красивые решения и делать их еще лучше.
Скретч - это не еще один инструмент для обучения программированию. Ориентированность на игры и графику создает для детей ощущение "игры на своем поле". Они тут сами по себе и играют (создают) по своим правилам, а не по навязанным взрослыми, чито неизбежно при раннем изучении "взрослого языка".
При этом обратим внимание, что графические эффекты там сравнимы с фотошопом, плавность движения и управляемость - с флеш. Мультимедийные возможности - тоже на высоте (чего стоит одна только возможность озвучить персонаж с микрофона). Это не убогая подделка под мультимедиа, как Лого-миры, которые по сути являются анимированным Paint'ом. Алгоритмика и Лого, упомянутые тут, никогда не позиционировались как игры - дидактика там так и прет. Хотя для начального обучения и они хороши. Вопрос только когда (я даю их в третьем, а не в седьмом-восьмом, как рекомендуется) классе - и в этом возрасте это хорошо.
Но Скретч - лучше.
А вот KPL - не осилил. По-моему, это уже перебор. Когда дети подходят к такому уровню освоения, пора сказать "стоп" и переходить к "нормальным" языкам.
Кто-то прекрасно охарактеризовал Скретч как "разогревающий язык". Его роль в том, чтобы заинтересовать тех, кто прошел бы мимо программирования, дать возможность тому, кто в паскалевом "begin" делает три ошибки (есть у меня такие ученики в 9 классе), понять, что не все в компьютере приносят в запечатанных пластиковых упаковках. Кое-что можно делать и самому.

Date: Sunday, 6 January 2008 06:03 (UTC)
From: [identity profile] shperk.livejournal.com
Кенгуренок и Лого - две конкурирующие фирмы. Если был Кенгуренок, скорее всего не могло быть Лого.
Поверьте, Лого много круче.

Date: Sunday, 6 January 2008 06:06 (UTC)
From: [identity profile] shperk.livejournal.com
Интересно, а можно ли где скачать рабочую версию?
В прошлом году искал ее долго - нашел на каком-то торренте, закачал. Так она оказалась насквозь прошпигована троянами...
Почикал, блин, даже не запустив.

Date: Sunday, 6 January 2008 10:01 (UTC)
From: [identity profile] metaldoom.livejournal.com
Ужас. Если Лого круче, мне страшно представить, че там с кенгуренком...

Date: Friday, 1 February 2008 14:09 (UTC)
From: [identity profile] maashaa.livejournal.com
те же грабли. Не появилось идей, как мотивировать ребёнка так, чтобы творить что-то самому ему стало интереснее, чеи играть в игрушки?

Re: Scratch как "разогревающий язык"

Date: Friday, 1 February 2008 14:24 (UTC)
From: [identity profile] maashaa.livejournal.com
Сообщества — их сейчас только ленивый не помянет в профиле своего проекта. И это действительно работает?

Re: Reply to your comment...

Date: Tuesday, 19 February 2008 12:49 (UTC)
From: (Anonymous)
Не понял, как это нету?!

Here is a list of mathematical functions:
sin(angle) sinus
cos(angle) cosinus
tan(angle) tangent
asin(value) arc-sinus
acos(value) arc-cosinus
atan(value) arc-tangente
sqrt(value) square root
pow(x, y) x power y
rand() random value ranging between 0 and 1

У объекта есть pitch, roll.
По-моему всего достаточно, только думать лень =)

dcb_BanDos

Profile

andrzejn: (Default)
Андрій Новосьолов

May 2026

M T W T F S S
     1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18192021222324
25262728293031

Most Popular Tags

-

Style Credit

Expand Cut Tags

No cut tags
Page generated Monday, 18 May 2026 18:14
Powered by Dreamwidth Studios