On the 7th test today, I received the following answer, verbatim, to a question asking them what is the difference between a null
and a false
in the Gara programming language:
Beda kelas dan makna, kalau salah memiliki makna tidak benar/tidak betul, salah berada di kelas boolean, sedangkan nil adalah suatu objek yang menunjukkan tidak adanya objek, nil berada di kelas nirdefinisi
Or in English:
They are of different classes. The
false
signifies untruthy condition, and is of theBoolean
class, wherebynil
is an object signifying an absence of an object, and is of classNulldefinition
.
The programming language being used here used the term salah
for false
, and nil
for null
, and the class of nil
is Nirdefinisi
which means without definition in Indonesian.
This is such an eloquently written answer from a student who has not written any code ever before. We can notice how they really understood the concept of objects and how, in this case, they were able to point some subtle differences between a false
against a falsey object. Those are concepts that some undergraduate students here in Indonesia may struggle with.
Even as these kinds of classes were very new to them, we can see that there is some potential here. This class is by no means easy for them. Many of whom don’t even have PCs at home. No student scored an A–yet. Regardless, this signifies that computer science education, when taught with the right tools and syllabus, can be understood by a 6th-grader. I will run the same kind of research and experiment with 5th-graders this year.
There are more than can be achieved.
Students at the computer science class in an elementary school in East Java, Indonesia