Re: [racket-users] Microworlds

2019-01-01 Thread Matt Jadud
Hi all,

While avoiding other work this holiday season, I decided to explore this
further.

I very intentionally have modeled the work so far on NetLogo, given its
long history in this space. And, in exploring this project, I'm also
learning a number of things myself. For example, the project involved some
new learning in terms of macros as well as optimization, and I'm still
wrestling with the way the microworld is designed/implemented in the face
of that ongoing learning. (Similarly, I'm also still learning about
packaging, how the package server does or possibly does not work with
various git hosting solutions, and am learning Scribble.)

At this point, I have done no testing on Windows, am confident there's a
more performant (and maintainable/safe/etc.) way to represent the
underlying grid/world, and know there's a lot of testing and safety/error
handling to be be implemented.

So, release early, release often and all that. I thought I'd mention it
here in case anyone else wanted to explore along. I also recorded a few of
the microworlds in action, just because.

https://youtu.be/FpMy9QxWnhE

This seems to be available via a package install of "paddle." I have code
in my "examples" directory that fails to build, and I have to figure out
how to 1) leave it in the repository but 2) ask the package server to
ignore it at build time...

Happy new year,
Matt


On Thu, Dec 6, 2018 at 12:45 PM John Clements 
wrote:

> Sounds fascinating. As an instructor for first-quarter CS+X, I’ve been
> looking at alternatives to sound as a setting. I’m interested in the
> Fisler/Krishnamurthi/Politz/Lerner Big Data curriculum, but yours also
> sounds good!
>
> John
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Microworlds

2018-12-06 Thread Matthias Felleisen

> On Dec 6, 2018, at 8:16 AM, Matt Jadud  wrote:
> 
> Hi all,
> 
> The context for my recent messages to the list is that I'm thinking about 
> courses for next year, and I'm thinking about the intersections of data 
> analysis/visualization, modeling, and HtDP-ish introductions to programming.
> 
> I like NetLogo (https://ccl.northwestern.edu/netlogo/ 
> ). I don't want to introduce students 
> to programming in NetLogo. While it is easy to attach (say) a slider to a 
> variable in a simulation, and it is easy to plot (say) the population of an 
> agent in the microworld, it is hard to then analyze that data.
> 
> There's an R extension that embeds a headless NetLogo in R. I have even less 
> desire to introduce students to R, let alone the complex amalgamation of the 
> two.
> 
> Racket has all the tools I need. The Universe/Big Bang model seems like 
> there's already an infrastructure in place for supporting a functional 
> miroworld-style animation. (Or, I could go down the Processing path and hide 
> things behind a setup/draw, or I could go down the Greenfoot path, and have 
> student objects inherit from a base class that is microworld/animation 
> ready.). There's ample support for data representation, analysis, and 
> visualization. Every language abstraction I could want is somewhere in the 
> box.
> 
> I know it is a classic mistake to reinvent things that exist, but I feel like 
> the tools I want for an environment for introducing programming in a 
> principled way, and allowing students to engage in microworld simulations and 
> their analysis, are all here and within reach. I thought I'd float it to this 
> list, however, so that if there's any "we tried that," or "you might look at" 
> type suggestions, I could get those before I start sinking time into this 
> exploration.


Thanks for floating. 

In a sense, Racket as a programmable programming language (*) is *the* vehicle 
for creating (an assembly line for) microworlds. But admittedly, we have the 
low level infrastructure but not the support needed for teachers in the 
trenches to create such worlds with a “few keystrokes.” One day, so funding 
will, we will get there. 

— Matthias

(*) https://www2.ccs.neu.edu/racket/pubs/#fffkbmt-cacm18 



-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Microworlds

2018-12-06 Thread 'John Clements' via Racket Users
Sounds fascinating. As an instructor for first-quarter CS+X, I’ve been looking 
at alternatives to sound as a setting. I’m interested in the 
Fisler/Krishnamurthi/Politz/Lerner Big Data curriculum, but yours also sounds 
good!

John

> On Dec 6, 2018, at 5:16 AM, Matt Jadud  wrote:
> 
> Hi all,
> 
> The context for my recent messages to the list is that I'm thinking about 
> courses for next year, and I'm thinking about the intersections of data 
> analysis/visualization, modeling, and HtDP-ish introductions to programming.
> 
> I like NetLogo (https://ccl.northwestern.edu/netlogo/). I don't want to 
> introduce students to programming in NetLogo. While it is easy to attach 
> (say) a slider to a variable in a simulation, and it is easy to plot (say) 
> the population of an agent in the microworld, it is hard to then analyze that 
> data.
> 
> There's an R extension that embeds a headless NetLogo in R. I have even less 
> desire to introduce students to R, let alone the complex amalgamation of the 
> two.
> 
> Racket has all the tools I need. The Universe/Big Bang model seems like 
> there's already an infrastructure in place for supporting a functional 
> miroworld-style animation. (Or, I could go down the Processing path and hide 
> things behind a setup/draw, or I could go down the Greenfoot path, and have 
> student objects inherit from a base class that is microworld/animation 
> ready.). There's ample support for data representation, analysis, and 
> visualization. Every language abstraction I could want is somewhere in the 
> box.
> 
> I know it is a classic mistake to reinvent things that exist, but I feel like 
> the tools I want for an environment for introducing programming in a 
> principled way, and allowing students to engage in microworld simulations and 
> their analysis, are all here and within reach. I thought I'd float it to this 
> list, however, so that if there's any "we tried that," or "you might look at" 
> type suggestions, I could get those before I start sinking time into this 
> exploration.
> 
> Cheers,
> Matt
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Microworlds

2018-12-06 Thread Matt Jadud
Hi all,

The context for my recent messages to the list is that I'm thinking about
courses for next year, and I'm thinking about the intersections of data
analysis/visualization, modeling, and HtDP-ish introductions to programming.

I like NetLogo (https://ccl.northwestern.edu/netlogo/). I don't want to
introduce students to programming in NetLogo. While it is easy to attach
(say) a slider to a variable in a simulation, and it is easy to plot (say)
the population of an agent in the microworld, it is hard to then analyze
that data.

There's an R extension that embeds a headless NetLogo in R. I have even
less desire to introduce students to R, let alone the complex amalgamation
of the two.

Racket has all the tools I need. The Universe/Big Bang model seems like
there's already an infrastructure in place for supporting a functional
miroworld-style animation. (Or, I could go down the Processing path and
hide things behind a setup/draw, or I could go down the Greenfoot path, and
have student objects inherit from a base class that is microworld/animation
ready.). There's ample support for data representation, analysis, and
visualization. Every language abstraction I could want is somewhere in the
box.

I know it is a classic mistake to reinvent things that exist, but I feel
like the tools I want for an environment for introducing programming in a
principled way, and allowing students to engage in microworld simulations
and their analysis, are all here and within reach. I thought I'd float it
to this list, however, so that if there's any "we tried that," or "you
might look at" type suggestions, I could get those before I start sinking
time into this exploration.

Cheers,
Matt

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.