Концепція програмування в Scratch

Концепція програмування в Scratch

Багатьом знаком Scratch – дитяче середовище програмування, навчання в якому зазвичай зводиться до створення творчих проектів за принципом від простого до складного. При цьому «класичний підхід» до вивчення програмування (змінні → розгалуження → цикли → функції → структури → об'єкти → …) у Scratch скрутний.

Однак зміна послідовності вивчення понять (назвемо їх концепціями) структурного, об'єктно- та подієво-орієнтованого програмування, їх приховування за яскравими спрайтами та інтерактивною анімацією, не означає, що на концепціях не слід наголошувати. Особливо якщо метою ставиться не стільки розвиток творчих здібностей, скільки навчання програмуванню. Цю ідею я постаралася відобразити у своєму курсі.

Першим, з чим стикається скретчер-початківець, є спрайти. Хоча у Scratch як такого об'єктно-орієнтованого програмування немає, спрайт можна вважати об'єктами. На цьому етапі той, хто навчає, бачить, що в програмі може бути безліч об'єктів, поведінкою яких управляють зовнішні для них скрипти. Спрайти одержують команди або на вимогу передають інформацію про свій стан, тобто програмування зводиться до управління об'єктами.

Другим, що в Scratch відразу звалюється на голову молодого програміста, є уявлення про багатопоточність. Кожен спрайт може мати кілька скриптів, виконуваних одночасно. Декілька спрайтів також можуть виконувати свої програми одночасно один з одним. Причому виявляється складніше організувати послідовне виконання.

Концепція програмування в Scratch

Концепція програмування в Scratch

Вже першому занятті ми можемо уникнути знайомства з циклами. Інакше кіт особливо не розбіжиться. На цьому етапі знайомство доводиться залишати інтуїтивним та поверховим. Ми обмежуємо його циклами «повторювати завжди» та «повторити … раз», які простіші для розуміння. Цикл із умовою вивчається в уроці, спеціально присвяченому циклам. Цей урок передбачає знання логічних виразів та змінних.

Оскільки Scratch подієво-орієнтоване середовище, блоки умовного оператора зручніше вивчити до змінних. Умовою можуть бути ті чи інші події.

Концепція програмування в Scratch

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

Якщо ж спочатку вивчати змінні, їх призначення і користь складно продемонструвати, оскільки до цього не вивчено умовний оператор, введення даних і генерація випадкових чисел.

У Scratch, крім списків, програміст стикається з трьома типами даних: числами, рядками і булевим типом. У цьому тип прив'язаний до значення, а чи не змінної. Перетворювати рядки на числа і назад не потрібно. Рядки в лапки не укладаються.

Блок, що повертає логічне значення і мають характерну йому незграбну форму, можна вставляти в округлі поля. Зворотне не вірно: там, де передбачається логічний вираз, не можна вставити звичайну змінну.

Концепція програмування в Scratch

Scratch реалізований так, щоб у процесі виконання не виникало критичних помилок. Мабуть тому, якщо спробувати використати рядок в арифметичній операції, він замінюється нулем (див. перший скрін).

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

Концепція програмування в Scratch

Функції Scratch реалізовані в розділі «Інші блоки», де з одного боку ви створюєте власний блок, який можна вставляти в інші скрипти. З іншого боку – маємо зібрати функціональність цього блоку, тобто те, що він робитиме.

Концепція програмування в Scratch

Повернення значення зі скретч-функції немає.

Таким чином, вивчення концепцій програмування в подієво-орієнтованому середовищі накладає свій відбиток. По суті, ми спочатку вивчаємо більш складні та абстрактні поняття і, лише заглиблюючись у процес, переходимо до елементів структурного програмування. Плюс це чи мінус для першого знайомства – питання спірне.

Джерело: habr.com

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster