swcarpentry / DEPRECATED-lesson-template

DEPRECATED: THIS REPOSITORY IS NO LONGER IN USE: PLEASE SEE swcarpentry/styles INSTEAD.
Other
22 stars 43 forks source link

About using js-parsons to add interactive exercices #293

Closed twitwi closed 8 years ago

twitwi commented 8 years ago

This issue is to track discussion and progress, following an old mailing list discussion, pasted below:

twitwi commented 8 years ago

Mail from @gvwilson

Via a post by Mark Guzdial [1], I found links to these two papers:

a) Parsons and Haden: Parson's Programming Puzzles: A Fun and Effective Learning Tool for First Programming Courses [2]

b) Ihantola and Karavirta: Two-Dimensional Parson's Puzzles: The Concept, Tools, and First Observations [3]

The first one introduces a programming exercise in which learners are given the lines of code they need to solve a problem, and have to put them in order. The second describes a tool for doing this with Python code (where lines need to be indented as well as sorted), and a Javascript widget for doing this in a web page. It would be really cool if we could incorporate this into some of our lessons - anyone want to take a crack at it and report back? I'd really like to know:

  1. Does the tool work well enough to be worth adopting?
  2. Can we nest it in our lessons (which are written in Markdown) without heroic mind-bending effort and/or use of quantum entanglement?

Cheers, Greg

[1] https://computinged.wordpress.com/2015/12/09/blog-post-2000-barbara-ericson-proposes/

[2] http://crpit.com/confpapers/CRPITV52Parsons.pdf

[3] http://www.jite.org/documents/Vol10/JITEv10IIPp119-132Ihantola944.pdf

twitwi commented 8 years ago

Mail from @twitwi

Thanks Greg for sharing this tool.

From what I tried in 20 minutes, it seems that :

  • the project is alive [1]
  • and works well [2]
  • and can be made to work nice on touch-based interfaces [3]
  • and seems to be easy to intregrate, from what I've seen

From a teaching perspective, I feel it is a good intermediate between “reading code” and “writing code”. I'll surely try it in my own courses.

Right now, I cannot commit to integrating (considering the technical part) it in swc lessons but I'll keep it in my todo list.

Cheers, Rémi

[1] https://github.com/js-parsons/js-parsons [2] http://js-parsons.github.io/ [3] https://github.com/js-parsons/js-parsons/issues/22

twitwi commented 8 years ago

And some actual progress, with 3 working examples, without too much boilerplate: (these are work in progress and might be updated with time)

It may be early but, feedback's still welcome.

twitwi commented 8 years ago

The demo is updated [2]. It should be (slightly) less ugly, responsive, and using an updated python evaluator [2][3].

[1] http://twitwi.github.io/python-novice-inflammation/02-loop.html [2] https://github.com/js-parsons/js-parsons/issues/25 [3] https://github.com/twitwi/skulpt/tree/skulpt-parsons

rbeagrie commented 8 years ago

That is seriously cool. Demo works fine and is very responsive for me. The raw markdown code for the first two challenges is simple enough that I think I could figure out how to write a new challenge from those, but the third one is a little obtuse, so we might need some documentation on how to add challenges for new contributors.

tbekolay commented 8 years ago

Works for me, very cool! The markdown source seems pretty good to me. It adds a lot of JS to the repo; not sure if that's an issue, but if it is we could have these examples live in a different repo that is linked from the main one. Is there any hope of this working for non-Python lessons?

andreww commented 8 years ago

This looks very useful. As well as the python novice case, I imagine it would be good as a starting point for an intermediate python lesson where people are more likely to have different initial background and self-paced material may be helpful.

One gremlin - on Chrome on a mac - the heading on the feedback for the first two examples says "Wrong output" although it is right and the box turns green (not red).

gvwilson commented 8 years ago

I really like this - but I'm confused by the message from this particular case:

Good work! Have you pointed the library's creators at it? Greg

iglpdc commented 8 years ago

I really like it and I think it's an awesome tool. But, I have two concerns:

So my suggestion is to use this somehow limited and marked with a different callout, so instructors have the option to decide what to do. We could use "Challenge" as it is now for non-interactive challenges and something like "Try in on your own" or "Challenge at home" (that one is kind of silly, but you know what I mean) and maybe a slightly different look.

Workshop instructors and novice contributors could still use and submit "regular" challenges if they want to avoid the complication, but we'll have a more attractive lesson for solo learners.

On Mon, Mar 14, 2016 at 8:40 AM, Greg Wilson notifications@github.com wrote:

I really like this - but I'm confused by the message from this particular case:

Good work! Have you pointed the library's creators at it? Greg

— Reply to this email directly or view it on GitHub https://github.com/swcarpentry/lesson-template/issues/293#issuecomment-196293947 .

wking commented 8 years ago

On Mon, Mar 14, 2016 at 03:54:39AM -0700, Trevor Bekolay wrote:

Is there any hope of this working for non-Python lessons?

I'd guess that it would be fairly straightforward to add other languages that have been ported to in-browser JavaScript (the Python handling is based on Skulpt 1).

gvwilson commented 8 years ago

Moved to https://github.com/swcarpentry/styles/issues/54.