Pilas Bloques is an application to learn computer programming, specially developed for the classroom. We offer challenges with different levels of complexity to introduce students into the universe of computer programming with blocks. For more information read the spanish about page.
It means developing programs with actions and instructions introduced by combining blocks. The result of fitting blocks together is a program that (hopefully!) solves the problem or challenge offered.
- Because each abstract concept associated with programming has its visual representation.
- Because it avoids the difficulties produced by the formal syntax of a written language (and the frustration when we make a mistake in writing!).
- The blocks are selected, dragged, fit together, and the task is ready.
The main difference is that this platform was created in support of a didactic sequence to learn programming at school.
It’s the plan by means of which teachers expect students to learn a topic. Pilas Bloques didactic sequence was created and tested by Argentine teachers and researchers. Nowadays, this proposal is being studied in depth and expanded. Learn more about the initiatives we are working on.
These challenges can be solved by anyone. However, at present we offer two Teachers’ Books as supporting material, targeted at the elementary school , so that children between 5 and 8 years old can take advantage of the activities of the First Cycle, and children between 9 and 12 years old will be able to take advantage of the activities of the Second Cycle.
This tool was thought as an aid for the teacher and the student along the teaching-learning process of computer programming at school. In these didactic sequences, the inquiry-based methodology is fundamental. However, our recommendation is that the teacher serves as the guide and assists during the student’s learning process.
You can find all the information you need to start contributing in Pilas Bloques in the CONTRIBUTING guidelines!
In order to collaborate, first of all you will install Git and then you must clone the Pilas Bloques repository.
git clone https://github.com/Program-AR/pilas-bloques.git
-
Node. The version required is indicated in
.nvmrc
file.Install it:
git clone https://github.com/nvm-sh/nvm.git ~/.nvm source ~/.nvm/nvm.sh source ~/.nvm/install.sh nvm install .
nvm use
npm install
npm test
npm run start
npm run build
Pilas Bloques can be compiled in different ways depending on the experiment group. This can be achieved by setting the environment variable EXPERIMENT_GROUP
at build time:
EXPERIMENT_GROUP=treatment npm run start
In Windows this is done with:
SET "EXPERIMENT_GROUP=treatment" && npm run start
The experiment groups are: notAffected
, control
, treatment
and autoassign
.
notAffected
: (default) it does not show any feedback on current solution, just challenge completion.control
: after completing a challenge its expectations are shown, but with no information regarding whether they were fulfilled.treatment
: this one has a training period. During this time expectations are shown for each challenge, alongside a progress bar that awards points for each passed expectation. Blocks in the workspace have their own feedback too. Once the training period is over, the app behavior changes to control.autoassign
: randomly assigns an experiment group at run time (betweencontrol
andtreatment
).
- By default, after releasing the app, the CI handles all installers generations. E.g.: after running
npm run release:patch
. - If you want to do it locally, first you need to run the command
EXPERIMENT_GROUP=treatment npm run build:prod
(setting EXPERIMENT_GROUP environment variable) and then build the installer corresponding to your OS. E.g.:npm run pack:linux
. - If you want to pack an installer for another OS you need to know that this is only possible if you use linux. In addition, you need to install the following dependencies:
- Windows: you need to install
nsis
,wine
andwine-mono
.-
Debian/Ubuntu:
sudo apt install nsis
-
Arch:
yay -S nsis
-
- macOS: unavailable.
- Windows: you need to install
If you want to test users stuff or save challenges it is necessary to fulfill some requirements: Run the apps Pilas Bloques API, Pilas Bloques Analytics (both accesible in the backend project) and a MongoDB database.