blink

Debugger for Scratch

https://github.com/scratch-ed/blink

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.8%) to scientific vocabulary

Keywords

coding computer-science-education debugger educational kids-programming learning programming scratch scratch3 stem
Last synced: 4 months ago · JSON representation ·

Repository

Debugger for Scratch

Basic Info
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 1
  • Open Issues: 6
  • Releases: 1
Topics
coding computer-science-education debugger educational kids-programming learning programming scratch scratch3 stem
Created over 2 years ago · Last pushed 11 months ago
Metadata Files
Readme License Citation

readme.md

Blink: a debugger for Scratch

This is a monorepo for the Blink debugger for Scratch.

If you find Blink useful and use it in your research, please cite:

Strijbol, N., De Proft, R., Goethals, K., Mesuere, B., Dawyndt, P., & Scholliers, C. (2024). Blink: An educational software debugger for Scratch. SoftwareX, vol. 25, p. 101617. https://doi.org/10.1016/j.softx.2023.101617

Start playing with Blink integrated in the Scratch IDE at https://scratch.ugent.be/blink/.

The Scratch project consists of a bunch of different subprojects, each with their own repository. Blink needs one additional package and a fork of two Scratch packages:

Below are installation instructions, assuming you use this repository.

Installation instructions

  1. Have an environment with Node, npm and Bash.
  2. Clone this repository.
  3. Run the installation script: ./install.sh

If you want to run the installation manually (e.g. Windows), run each command from the installation script.

Rebuild instructions

The installation instructions above will build the GUI once. However, if you change things, you'll need to rebuild everything.

  • If you work on Itch, you'll need to run npm run build inside the itch folder. Alternatively, you can run npm run watch to automatically rebuild Itch on changes.
  • If you work on the VM, you'll need to run npm run build inside the scratch-vm folder. Alternatively, you can run npm run watch to automatically rebuild the Scratch VM on changes.
  • To see or work on the GUI, run npm run start inside the scratch-gui folder.

Demo projects

In the site/public folder, you'll find two sample projects that can be used to experiment with the debugger.

Debugging with VS Code

Step 0: installing the basics

  1. Install VS Code
  2. Install Chrome or Chromium
  3. In VS Code, install the "Debugger for Chrome" extension (search for msjsdiag.debugger-for-chrome)

Step 1: adding source maps

  1. Pick "Open Folder..." under the "File" menu.
  2. Select your blink repository.

Further setup steps will involve editing the launch configuration for your workspace:

  1. Open the "Run" panel in the VS Code UI (looks like a bug and a triangle)
  2. Depending on the state of your workspace, one of two options will appear:
    • If you see "create a launch.json file" then select that and, in the drop-down menu, select "Chrome"
    • Otherwise, click the "Open launch.json" button near the top (looks like a gear)

launch.json should now look something like this:

json5 { "version": "0.2.0", // do not edit this version number "configurations": [ // this section may be empty or may have an entry with type "chrome" ] }

and to enable debugging of Blink, it needs to look like this:

json5 { "version": "0.2.0", "configurations": [ { "type": "chrome", "request": "launch", "name": "Launch blink in Chrome ", "sourceMapPathOverrides": { "webpack://GUI/./*": "${workspaceFolder}/scratch-gui/*", "webpack://GUI/./node_modules/scratch-vm/*": "${workspaceFolder}/scratch-vm/*", "webpack://itch-core/*": "${workspaceFolder}/itch/packages/core/*" }, "sourceMaps": true, "url": "http://localhost:8601", "webRoot": "/:", } ] }

Owner

  • Name: scratch-ed
  • Login: scratch-ed
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
title: 'Blink: An educational software debugger for Scratch'
doi: 10.1016/j.softx.2023.101617
message: >-
  If you use this software, please cite it using the
  metadata from this file.
date-released: 2023-12-14
authors:
  - given-names: Niko
    family-names: Strijbol
    email: niko.strijbol@ugent.be
    affiliation: >-
          Department of Applied Mathematics, Computer Science
          and Statistics, Ghent University
    orcid: 'https://orcid.org/0000-0002-3161-174X'
  - given-names: Robbe
    family-names: De Proft
  - given-names: Klaas
    family-names: Goethals
  - given-names: Bart
    family-names: Mesuere
    email: bart.mesuere@ugent.be
    orcid: 'https://orcid.org/0000-0003-0610-3441'
    affiliation: >-
      Department of Applied Mathematics, Computer Science
      and Statistics, Ghent University
  - given-names: Peter
    family-names: Dawyndt
    orcid: 'https://orcid.org/0000-0002-1623-9070'
    email: peter.dawyndt@ugent.be
    affiliation: >-
      Department of Applied Mathematics, Computer Science
      and Statistics, Ghent University
  - given-names: Christophe
    family-names: Scholliers
    email: christophe.scholliers@ugent.be
    affiliation: >-
      Department of Applied Mathematics, Computer Science
      and Statistics, Ghent University
    orcid: 'https://orcid.org/0000-0002-2837-4763'
identifiers:
  - type: doi
    value: 10.1016/j.softx.2023.101617
  - type: url
    value: https://www.sciencedirect.com/science/article/pii/S2352711023003138
version: 1.0.0

GitHub Events

Total
  • Watch event: 2
  • Delete event: 1
  • Push event: 3
  • Pull request event: 2
  • Create event: 1
Last Year
  • Watch event: 2
  • Delete event: 1
  • Push event: 3
  • Pull request event: 2
  • Create event: 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • henricattoire (1)
Pull Request Authors
  • Vital7788 (2)
  • henricattoire (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels