sorawee
2021-8-17 07:09:42

A lot error messages and static checks are improved/added, because at the point students use BSL, some concepts are still not introduced

For example:

(define (f x) (x + 2)) This is most likely a mistake. Students probably meant to write (+ x 2).

But well, it’s actually a valid Racket code. For example, f might be a higher order function that consumes x as a function value, which in turn consumes + and 2, etc.

But at the point BSL is used, students have not learned higher-order functions, so we can report this as an error


sorawee
2021-8-17 07:11:35

Here’s another one:

(define (f x) x + 2) This is perfectly fine in Racket. The function returns 2.

In BSL, this is reported as an error, because the body of define can only have one expression


strika
2021-8-17 07:58:52

@strika has left the channel




jestarray
2021-8-17 19:30:25

i think i may need to start him off in scratch lol


jestarray
2021-8-17 19:34:18

2 days in howtocode which uses racket on edx.. he gets evaluation order of parens but has trouble counting the arguments when there are a lot of parens, e.g (if (> (image-width img) (image-height img)) , he’s counting that if has 2–3 arguments but it really if only got passed in 1, among several other things


soegaard2
2021-8-17 19:44:48

@jestarray You could warm with: https://soegaard.github.io/sketching/


soegaard2
2021-8-17 19:45:27

There are lots of examples to modify.


jestarray
2021-8-18 01:52:17

checking the edx site, the quizzes that were once free are now under a pay wall :confused:


jestarray
2021-8-18 01:54:06

those quizzes i think are very crucial since you need to test your understanding…


jestarray
2021-8-18 01:55:17

otherwise they move on with wrong assumptions that have never been tested in reality and it cascades into more problems later on… WELP, i know you guys have no power over it.. probably need to dm greg or whoever is incharge of the edx site