Scrap project was presented at the Student Programming Showcase of Projects (SPSP) and gained both the prize of the jury and the audience. The success proves that Scrap is a great tool for programming education.
Student Programming Showcase of Projects
Student programming Showcase of projects
(SPSP) is an annual event that allows students to present their
programs and projects. It is held at the GVOZ and this year there was a record number of programs entered, and I was already
afraid that I would not succeed this time.
Scrap 4
Scrap is an alternative of Scratch that allows you to write code in a text as well as in a block editor. Scrap 4 was released in 2023 and it was a big step forward, while being published just in time for the SPSP. Unlike Scrap 3, it introduced:
TypeScript
Scrap 4 supports TypeScript, which means that Scrap is now a truly strong-typed language. TypeScript is a language that is compiled into JavaScript. It's just an extension of JavaScript, so anything JavaScript can do, TypeScript can do. This was not a burden for Scrap because it was already using Babel, which has TypeScript support built in.
Monaco Editor
Scrap 4 uses the editor from Visual Studio Code, which makes the use of TypeScript even more useful. It helps with autocomplete and linting. To make matters worse, the Monaco editor is set up so that the text color matches the block colors. (Thanks to my classmate Vítek for this idea.) But for proper autocomplete, I had to write my own TypeScript definitions, which was quite a chore. And not only for the Scrap engine, but also for ECMAScript APIs (such as arrays and numbers), because otherwise the Monaco editor would allow insanely complicated structures that can't be converted to blocks, and aren't needed in Scrap anyway (classes, DOM manipulation, ...).
The success
The success of Scrap Scrap won the audience award. It means that the other contestants liked Scrap the most. And that's a huge honor for me. I should add that traditionally some of the contestants use Scratch, so Scrap was a new experience for them. And I won the jury prize. In the end, the jury awarded it to all the losers in my category, because they thought all the programs were great and almost incomparable. It's hard to judge high school students when everyone uses different language and is at a different level. Still, I'm glad I won, at least in front of the audience.

Fun fact
Even though I didn't get 1st–3rd place, thanks to the audience I got a higher prize in total than the 1st place winner.