Scratch

Материал из Поле цифровой дидактики


Краткое описание языка Среда программирования, которая позволяет детям создавать собственные анимированные и интерактивные истории, игры и другие произведения. Этими произведениями можно обмениваться внутри международной среды, которая постепенно формируется в сети Интернет.

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

Компетенции в каких сферах формирует Knowledge Constructor, Innovative Designer, Computational Thinker, Creative Communicator, Global Collaborator
Парадигмы программирования Функциональное программирование, Императивное программирование, Объектно-ориентированное программирование
Возрастная категория 7
Назначение языка (Общее / Учебное) Мини-язык для обучения
Visual_Text_Blocks Блоки-Иконки
Измерение (2D/3D/Tangible) 2D
Область знаний
Открытость продукта Открытый
Address https://scratch.mit.edu
Предки (Ancestors) Squeak, Agentsheets, Лого
Потомки (Descendants) Snap!, GP, ScratchJR, App Inventor
Активность в данный момент Project is active
Доступны ремиксы? Да
Год создания 2006
Создатели Резник
Поясняющее видео
Используется для создания мобильных приложений? Нет


Scratch упоминается в свойствах следующих страниц
3D Wireframes, AAnosov, Additional Keys, Advanced Platformer Physics, Advanced Platformer Tutorial, AlekhinaAA, Anastasia Lugovaya, AnotnovVA207, Arduino, Backpack, Black0mesa, BoboevaSN, BondarenkoEV, Borisova Tanya, Children Learning to Code, Codey Rocky, Creating a Quiz, DavydovAE, Die Toten Engel, Egorovsn051, ElenaGrcaheva, Fedorovaai, Finch Robot, Flocking (model), GridnevaMV, Harvey, Heap, How to Create a Slideshow, How to Keep Score in a Game, How to Make a Basic Platformer, How to Make a Basic Shooter, How to Make a Clicker Game, How to Make a Tower Defense Game, How to Move Sprites with the Arrow Keys, How to Move a Sprite in a Spiral, K-means, Karpov Alexandr, Kay, LEGO Boost, LEGO Mindstorms EV3, LEGO WeDo, LebedevAV, Lego Mindstorms, Lego Spike Prime, LesikAA, LoshankovAO, LyazinEA, Milena.aslamazova, Minsky, Movement… следующие результаты


Scratch это - среда программирования, которая позволяет детям создавать собственные анимированные и интерактивные истории, игры и другие произведения. Этими произведениями можно обмениваться внутри международной среды, которая постепенно формируется в сети Интернет. Скретч базируется на традициях языка Лого и первая версия языка была написана на языке Squeak.

Mitchel Resnick рассказывает о Scratch

Участник:Patarakin рассказывает о Scratch на самосборе 2007 года


Введение (2007 год)

Может быть не всем в России знаком язык Лого и его агент-исполнитель Черепашка, но уж конструкторы Лего знают все. В среде скретч используется метафора кирпичиков Лего, из которых даже самые маленькие дети могут собрать простейшие конструкции. Но, начав с малого, можно дальше развивать и расширять свое умение строить и программировать. Скретч создавался специально для того, чтобы подростки 10 – 16 лет использовали его самостоятельно в сети внешкольного обучения на базе Компьютерных Клубов, в городах и районах с низким уровнем доходов. Эта новая технологическая среда позволяет им выразить себя в компьютерном творчестве.

Разработчики этого направления во главе с Митчем Резником и Аланом Кеем считают, что наиболее важным в мощных и недорогих персональных компьютерах является то, что они создают новую среду чтения и письма. В этой новой среде люди могут обсуждать и играть с новыми мощными идеями совсем не так, как они это делали с книгами. С этим и связана работа, которую ведет исследовательская группа во главе с Аланом Кеем со средой со Сквик. Цель деятельности группы - помочь детей научиться думать лучше и глубже, чем это могут делать большинство взрослых. Для достижения этой цели они создали среду Сквик как новую форму электронной бумаги, на которой могут быть представлены новые пути представления новых мощных идей. Теперь в среде Сквик есть новые письменные образцы этой новой литературы и эти образцы публикуются в сети Интернет, для того, чтобы и взрослые и дети могли бы читать и играть с ними.

Возможность собрать программу из отдельных кусочков и обсудить задачу, которую выполняет каждый отдельный фрагмент, существует и в постепенно входящей в мир компьютерного образования среде Сквик и ее клонах Alice и Скретч. Учебная среда Скретч появилась совсем недавно и делает в настоящее время свои первые шаги. Ее будущее выглядит очень многообещающим, поскольку в основании среды лежит опыт Лого, мощные возможности современного языка Сквик и стоят такие люди как Мич Резник и Алан Кей. Кей в предисловии к языку Сквик подчеркивает, что компьютеры создают новую форму электронной бумаги для чтения и письма. На этой новой электронной бумаге люди могут обсуждать и играть с новыми мощными идеями совсем не так, как они это делали с книгами. Мы можем получать новое визуальное представление о гипотезах и теориях, можем связывать и сравнивать разные идеи друг с другом. Если мы будем помнить о новых возможностях, которые открывают перед нами электронные формы общения и сообщного мышления, то сможем стремиться не просто к обучению чтению и письму, но и к более глубокому усвоению знаний. Новый стиль усвоения знаний даст ученикам возможность читать литературу, обдумывать идеи и представлять их в форме доступной для обсуждения и критики.

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

Скретч может использоваться в различных формах: в школах, музеях, центрах дополнительного обучения, дома. Он создавался для учеников 8 - 16 лет , но и дети более раннего возраста могут работать над Скретч проектами вместе с родителями или старшими братьями или сестрами, да и студенты ВУЗов могут использовать Скретч на занятиях в компьютерных классах.

Скретч и навыки 21 века

Когда ученики создают проекты в Скретче, они осваивают множество навыков 21 века, которые будут необходимы для успеха:

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

Кирпичики программы

Скретч разрабатывался как новая учебная среда для обучения школьников программированию и позиционировался авторами как альтернатива культуре PhotoShop. В Скретче можно создавать фильмы, играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между объектами. Это объектно-ориентированная среда, в которой блоки программ собираются из разноцветных кирпичиков команд точно так же как машины собираются из разноцветных кирпичиков в конструкторах Лего. Опыт и метафоры Лего-Лого в среде Скретч лежат на поверхности.

Как пользоваться визуальными блоками в вики?
благодаря специальному расширению в вики можно использовать текстовые блоки. Множество примеров в категории Category:Scripting Tutorials
когдаспрайтнажатсказать"Привет!"идтивыдатьслучайноеот20до40шаговигратьзвукмяу есликасаетсякрай,топовернутьсякуказатель мышки
Как встроить проект Scratch в текст вики-статьи?
Надо указать id проекта внутри блока <scratch project="id" />

Мы можем взять любой объект и осуществить над ним действия:

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

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

Scratch, PicoBoard и Arduino

Замечательной встроенной возможностью Scratch является наличие в нём группы меню "сенсоры", предназначенной для работы с конечным оборудованием - сенсорами и платой из набора PicoCricket, или известного более старшим пользователям платы Arduino.

Набор PicoCricket - это всё та же разработка MIT media lab. PicoCricket и опыт его использования в работе со Scratch в будущем привели к созданию известного конструктора Lego Mindstorms NXT.

Руководство пользователя

Визуальные команды

Scratch/Управление

Scratch/Управление

  • forever повторятьвсегда всегда
  • repeatuntil повторятьпокане повторять пока не ()
  • ifthen если,то если <> , то
  • end конец конец
  • waitsecs ждатьсекунд ждать () секунд
  • repeat повторитьраз повторить () раз
  • waituntil ждатьдо ждать до ()
  • whenIstartasaclone когдаяначинаюкакклон когда я начинаю как клон
  • deletethisclone удалитьклон удалить клон
  • else иначе иначе
  • createcloneofmyself создатьклонсебя самого создать клон [себя самого v]
  • stopall стопвсестоп [все v]
ifthenelse
если,тоиначе
если <>, то

иначе



Например, падающие с неба капли или снежинки

когданажатповторятьвсегдасоздатьклонсебя самогоперейтивxвыдатьслучайноеот-180до180y200плыть3секундвточкуxположениеxy-180удалитьклон


Scratch/Движение

Scratch/Движение

  • setxto установитьxв установить x в ()
  • setyto установитьyв установить y в ()
  • movesteps идтишагов идти () шагов
  • gotox:y: перейтивx:y перейти в x:()y()
  • turndegrees повернутьнаградусов повернуть влево на () градусов
  • turndegrees повернутьнаградусов повернуть вправо на () градусов
    • повернутьна15градусов
  • gotox:0y:0 перейтивx:0y:0 перейти в x:(0) y:(0)
  • gotomouse-pointerперейтивуказатель мышки перейти в [указатель мышки v]
  • pointtowardsmouse-pointer повернутьсякуказатель мышки повернуться к [указатель мышки v]
  • direction направление направление
  • pointindirection90 повернутьвнаправлении90v] повернуть в направлении (90 v)
  • changeyby изменитьyна изменить y на ()
  • ifonedge,bounce еслинакраю,оттолкнуться если на краю, оттолкнуться
  • changexby изменитьxна изменить x на ()
  • glidesecstox:y: плытьсекундвточкуx:y: плыть () секунд в точку x:() y:()
  • xposition положениеx положение x
  • yposition положениеy положение y


Scratch/Внешность

Scratch/Внешность

  • think думать
  • show показаться
  • switchbackdroptobackdrop1andwait сменитьфоннаbackdrop1иждать
  • say сказать
  • changecoloreffectby изменитьcolorэффектна
  • nextbackdrop следующийфон
  • sayforsecs говоритьвтечениесекунд
  • backdropname имяфона
  • setcoloreffectto установитьэффектcolorвзначение
  • backdrop# фон#фон #
  • hide спрятаться
  • switchcostumetocostume1 сменитькостюмнаcostume1
  • switchbackdroptobackdrop1 сменитьфоннаbackdrop1
  • size размер
  • setsizeto% установитьразмер%
  • changesizeby изменитьразмерна
  • gobacklayers перейтиназаднаслоев
  • nextcostume следующийкостюм
  • costume# костюм#
  • gotofront перейтивверхнийслой
  • cleargraphiceffects убратьграфическиеэффекты
  • thinkforsecs думатьсекунд



Scratch/Музыка

Scratch/Музыка

  • playnote60for0.5beatsигратьноту600.5тактов
  • stopallsounds остановитьвсезвуки
  • setvolumeto% установитьгромкость%
  • playsoundpopuntildone игратьзвукpopдоконца
  • restforbeats подождатьтактов
  • settempoto60bpm установитьтемп60bpm
  • playsoundpop игратьзвукpop 
  • playdrum1for0.2beats барабануигратьтактов
  • setinstrumentto1 выбратьинструмент1
  • changevolumeby-10 изменитьгромкостьна-10
  • changetempoby20 изменитьтемпна20
  • tempo темп
  • volume громкость



Scratch/События

Scratch/События

  • whenthisspriteclicked когдаспрайтнажат когда спрайт нажат<
  • whenIreceivemessage1 когдаяполучусообщение1 когда я получу [сообщение1 v]
  • broadcastmessage1 передатьmessage1 передать [сообщение1 v]
  • broadcastmessage1andwait передатьСобираем знанияиждать передать [message1 v] и ждать
  • whenclicked когдащелкнутпо когда щелкнут по @greenFlag
  • whenspacekeypressedwhen [space v] key pressedкогдаклавишапробелнажата когда клавиша [пробел v] нажата
    • когдаклавишавправонажата когда клавиша [вправо v] нажата
  • whenbackdropswitchestobackdrop1 когдафонменяетсянаbackdrop1 когда фон меняется на [backdrop1 v]
  • whenloudness>10когдагромкость>10 когда [громкость v] > (10)



Scratch/Сенсоры

Scratch/Сенсоры

Reporter

  • answer ответ(ответ)
  • username имяучастника имя участника
  • mousex мышкапоx
  • mousey мышкапоy
  • distancetosprite1 расстояниедоsprite1
  • timer таймер
  • x positionofsprite1 x positionofsprite1
  • dayssince2000 днейс01.01.2000
  • currentsecond currentsecond


Boolean Blocks

  • touchingcolor? касаетсяцвета?<касается цвета [#000000]?>
  • coloristouching? цветкасается?

touchingsprite1касаетсяsprite1<касается [sprite1 v]>

  • mousedown? мышканажата?
  • keyspacepressed? клавишапробелнажата?клавиша [пробел v] нажата?

Stack Blocks

  • resettimer перезапуститьтаймер
  • установитьпрозрачностьвидео%
  • turnvideoon повернутьвидеонавключить
  • setvideotransparencyto0%setvideotransparencyto0%
  • askWhat's your name?andwaitспроситьА тебя как зовут?иждатьспросить [А тебя как зовут?] и ждать



Рисование - Scratch/Перо

Scratch/Данные

Scratch/Данные

Переменные

  • showvariablevariable показатьпеременнуюvariable показать переменную [variable v]
  • hidevariablevariable скрытьпеременнуюvariable
  • setvariableto задатьvariableзначениезадать [variable v] значение ()
  • changevariableby изменитьvariableнаизменить [variable v] на ()

Список

  • item1oflist элемент1изlistэлемент (1 v) из [list v]
  • listcontains? списоксодержит?
  • hidelistlist скрытьсписокlist
  • showlistlist показатьсписокlist
  • addthingtolist добавитьthingкlist
  • replaceitem1oflistwiththing заменитьэлемент1вlistнаthing
  • insertthingat1oflist вставитьthingв1изсписок
  • lengthoflist длинаспискаlist
  • delete1oflist удалить1изlist




Scratch/Операторы

Scratch/Операторы

Возвращает сообщение

  • mod остатокотделенияна
  • round округлить
  • or или
  • pickrandomto выдатьслучайноеотдовыдать случайное от (0) до (180)
    • Например, ждатьвыдатьслучайноеотnumber1доnumber2секунд
  • lengthof длина
    • sqrtof9
    • квадратный кореньот9
    • Например,
спроситьА тебя как зовут?иждатьговоритьслитьответидлинаответвтечение2секунд
  • + + (() + ())>
  • joinhelloworld слитьпривети мир! слить[привет] и [ мир!]
  • letter1ofworld буква1вworldбуква (1) в [мир]
    • Например, букваtempвstring1
    • задатьpartilScrollзначениеслитьpartilScrollибукваtempвstring1

Логические операторы

см. Логическое выражение

  • contains  содержит 
  • > ><[] > []>
    • Например, еслиA>B,то
  • not не не ()
  • and и() и ()
    • Например, еслиусловие1иусловие2,то


Scratch/Другие блоки

Scratch/Другие блоки

definecustomblock определитьРисуемДом определить РисуемДом блок

customblock РисуемДом  РисуемДом ::custom

Создаем процедуру и в дальнейшем вызываем процедуру.

определитьСборЗнанийповторятьпоканедлинаспискаКнига1000создатьклонсебя самогоконец



Моторы

  • set%m.motorpowerto задатьмощность%m.motorзначение
  • setrotationstyle%m.rotationStyle стильвращения%m.rotationStyle
  • turn%m.motoronforsecs включить%m.motorнасекунд
  • set%m.motor2directionto%m.motorDirection задатьдля%m.motor2направление%m.motorDirection


Видео

  • setvideotransparencyto% установитьпрозрачностьвидео%
  • turnvideo%m.videoState повернутьвидеона%m.videoState
  • video%m.videoMotionTypeon%m.stageOrThis видео%m.videoMotionTypeна%m.stageOrThis



Ссылки