This is a read-only archive of the old Scratch 1.x Forums.
Try searching the current Scratch discussion forums.

#5501 2012-06-30 00:26:04

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

Just finished a week intro to BJC/BYOB/Snap! in boiling-hot Newark (although for some reason our lab room was freezing; you can't win for losing) for New Jersey teachers.  Now they take our online course in four weeks (I hope) and then we have a wrap-up face-to-face week.

Mon: Intro to BJC, intro to BYOB/Snap!
Tue:  One simulated course week, with (video) lectures, labs, discussion.
Wed: Recursion.
Thu: Higher order functions and lambda.
Fri: Discussion of how this will work in their high school classrooms.

Amazingly, this all went pretty well.

Grrrr.... we're still learning how to launch Notepad to type HTML code...


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#5502 2012-06-30 07:10:46

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Hardmath123 wrote:

Grrrr.... we're still learning how to launch Notepad to type HTML code...

Well, don't be angry until these teachers actually teach the course to their students.  smile   But meanwhile, get 15-20 teachers together in your area, get them to get permission from their principals to teach BJC, and then shoot an email to bjc@bspace.berkeley.edu and we'll come run a workshop for them too!

Not that you personally need BJC, of course.  But it'd help your fellow students.  (You personally should teach yourself SICP, and after that, concentrate on teaching yourself math, esp. discrete math.)

Last edited by bharvey (2012-06-30 07:12:22)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#5503 2012-06-30 08:04:25

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

Hardmath123 wrote:

Grrrr.... we're still learning how to launch Notepad to type HTML code...

Not that you personally need BJC, of course.

Glad to know I'm ahead of someone.

But it'd help your fellow students.

Who still can't find their HTML documents once they save them?

You personally should teach yourself SICP

Structure and interpretation of Computer Programs, the book? I've been working through that recently, it's mind-bending.

and after that, concentrate on teaching yourself math, esp. discrete math.

We (my dad and I) have been doing lots of math for many years. I love it!  big_smile  Of course, we always found number theory daunting.


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#5504 2012-06-30 08:18:07

joefarebrother
Scratcher
Registered: 2011-04-08
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Know any more computer science books online? I've read Structure and interpretation of computer programs, I've read simply scheme, and I've read all three computer science logo style books and now I'm BORED!!!!!


My latest project is called http://tinyurl.com/d2m8hne! It has http://tinyurl.com/d395ygk views, http://tinyurl.com/cnasmt7 love-its, and http://tinyurl.com/bwjy8xs comments.
http://tinyurl.com/756anbk   http://tinyurl.com/iplaychess

Offline

 

#5505 2012-06-30 22:01:14

Jonathan50
Scratcher
Registered: 2011-07-06
Posts: 100+

Re: BYOB 3 - Discussion Thread

OOP Message Passing will not work using ((the script[ ) of [sprite v ]) because that is not an exclusive BYOB feature; it is just Squeak. It works because the ([x position v ] of [sprite v]) block uses the OOP Message Passing feature of Squeak; using t1 action instead of self action. However; morphic.js is just a Smalltalk simulation and it uses JavaScript for methods instead of Squeak, MIT Squeak or Smalltalk. They have made a new block; (http://[      ]) witch reads a website. That can also be done easily in Squeak. Jens will probbally make a new block for OOP Message Passing. The blocks;
(the () block) and (the script [) have been replaced with THREE new blocks: rings. They are grey reporters. The first holds a script; but not with a C-Shape; infact, all inline command, predicate and reporter blocks have been replaced with rings. The second holds a reporter; third a predicate. The difference between a boolean and predicate is: a predicate is a boolean block (rule); (e.g: [scratchblocks] <touching [Sprite1 v ]> [scratchblocks]) a boolean is true or false.


Jonathan50
big_smile  http://scratch.mit.edu/img/pages/credits/cat-face-bullet.gif http://blocks.scratchr.org/API.php?user=Jonathan50&amp;action=onlineStatus&amp;type=square         http://blocks.scratchr.org/API.php?user=Jonathan50&amp;action=projects&amp;type=newest&amp;return=image&amp;num=1

Offline

 

#5506 2012-06-30 23:33:41

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Hardmath123 wrote:

Glad to know I'm ahead of someone.

But it'd help your fellow students.

Who still can't find their HTML documents once they save them?

Okay, you need to make up your mind what kind of mood you're in!  smile

Anyway, I didn't just mean the students at your particular school, but high school students everywhere.

We (my dad and I) have been doing lots of math for many years. I love it!  big_smile  Of course, we always found number theory daunting.

I'm not sure I understand the "of course."  But perhaps you should study group theory, and then a lot of number theory turns out to be just special cases of that.  But, I wasn't just thinking number theory.  Probability, logic, set theory (my own favorite).


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#5507 2012-07-01 00:11:36

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

joefarebrother wrote:

Know any more computer science books online?

Check out

http://www.reddit.com/r/csbooks/

If you want recommendations, there's

http://www.htdp.org/

which is less advanced than SICP, I think, but with a sufficiently different point of view that you might find some things worthwhile in it.  You could read a logic programming book, such as

http://spivey.oriel.ox.ac.uk/wiki/files/lp/logic.pdf

Others...

http://www.paulgraham.com/onlisp.html

ftp://ftp.cs.utexas.edu/pub/garbage/cs3 … o_toc.html

But, what you really really want to read isn't free; it costs $75:

http://mitpress.mit.edu/catalog/item/de … ;tid=10142


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#5508 2012-07-01 00:15:14

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Jonathan50 wrote:

OOP Message Passing will not work using ((the script[ ) of [sprite v ]) because that is not an exclusive BYOB feature; it is just Squeak.

Nah, Jens just can't do everything at once, and we're still not quite caught up with BYOB 3.0, which comes before the 3.1 stuff.

P.S.  And btw BYOB 3.1 OOP wasn't just a question of unleashing Squeak; it was a huge effort!

Last edited by bharvey (2012-07-01 00:17:01)


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#5509 2012-07-01 02:52:53

Jonathan50
Scratcher
Registered: 2011-07-06
Posts: 100+

Re: BYOB 3 - Discussion Thread

I like the long trailer.
BAD:
Make a variable make a list make a binary search tree make a hash table make a baz make a window make a scrollbar...
GOOD:
Give a man a fish and tomorrow he'll want another kind of fish. Teach a man how to read and make fish DNA, and he'll be in his room forever; inventing fish that glow! Make a block!


Jonathan50
big_smile  http://scratch.mit.edu/img/pages/credits/cat-face-bullet.gif http://blocks.scratchr.org/API.php?user=Jonathan50&amp;action=onlineStatus&amp;type=square         http://blocks.scratchr.org/API.php?user=Jonathan50&amp;action=projects&amp;type=newest&amp;return=image&amp;num=1

Offline

 

#5510 2012-07-01 08:07:21

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: BYOB 3 - Discussion Thread

bharvey wrote:

Hardmath123 wrote:

Glad to know I'm ahead of someone.

But it'd help your fellow students.

Who still can't find their HTML documents once they save them?

Okay, you need to make up your mind what kind of mood you're in!  smile

Semi-frustrated with a hint of whimsical. Or really, really sleepy, depending on which way you look at it.  wink


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#5511 2012-07-01 11:01:15

scspaeth
Scratcher
Registered: 2010-02-14
Posts: 20

Re: BYOB 3 - Discussion Thread

bharvey wrote:

joefarebrother wrote:

Know any more computer science books online?

If you want recommendations, there's

...

But, what you really really want to read isn't free; it costs $75:

http://mitpress.mit.edu/catalog/item/de … ;tid=10142

Thanks for the suggestions. If cost is a barrier, MIT Press provides this link to preview the book:
http://cisnet.mit.edu/4i7o9/5cjhf/toc

And some libraries (USA, Canada, Ireland, ...?) are willing to loan you their copies through inter-library loans:
Maine InfoNet is sending a copy from the University of Maine,
http://mainecat.maine.edu/search~S0?/ah … p;1%2C%2C2 to my local library for checkout for three weeks.

http://www.worldcat.org/oclc/53038538
Enter a postal code or location to find whether a library near you has a copy.

Offline

 

#5512 2012-07-01 15:22:48

Squawkers13
Scratcher
Registered: 2010-11-20
Posts: 500+

Re: BYOB 3 - Discussion Thread

where's the BYOB skin and how can i get it?


http://pekkit.net/banners/pekkit.png

Offline

 

#5513 2012-07-02 13:01:05

djdolphin
Scratcher
Registered: 2010-03-23
Posts: 100+

Re: BYOB 3 - Discussion Thread

How do you open the xml project files? Also, is there a way to open BYOB 3.1.1 files?

Last edited by djdolphin (2012-07-02 13:01:58)

Offline

 

#5514 2012-07-02 13:28:50

MathWizz
Scratcher
Registered: 2009-08-31
Posts: 1000+

Re: BYOB 3 - Discussion Thread

MathWizz wrote:

shadow_7283 wrote:

I'm ashamed to be asking this question, but how do you import xml files?

I just figured that out.  tongue  Save it to the desktop, then drag the file onto Snap!. <- the punctuation is disturbing xD

EDIT: And don't forget to delete it from the desktop. You don't want it to clutter the place up, do you?  tongue

I also have to mention, before I figured out how to open the projects, I was injecting JavaScript though the console to make an XMLHttpRequest and pass it to Snap. xD


http://block.site90.net/scratch.mit/text.php?size=30&amp;text=%20A%20signature!&amp;color=333333

Offline

 

#5515 2012-07-02 13:45:06

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

djdolphin wrote:

How do you open the xml project files? Also, is there a way to open BYOB 3.1.1 files?

Just drag it onto the Snap! window.  (This works in most browsers, but not, for me at least, in Safari.)

No BYOB project conversion, so far, alas; I've been recreating them by hand. We know that's something people will want, but it'll be a while.


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#5516 2012-07-02 15:54:57

Squawkers13
Scratcher
Registered: 2010-11-20
Posts: 500+

Re: BYOB 3 - Discussion Thread

Squawkers13 wrote:

where's the BYOB skin and how can i get it?

any help?


http://pekkit.net/banners/pekkit.png

Offline

 

#5517 2012-07-02 16:33:44

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: BYOB 3 - Discussion Thread

Squawkers13 wrote:

Squawkers13 wrote:

where's the BYOB skin and how can i get it?

any help?

Type in this code in ScratchFrameMorph class. Then run ScratchFrameMorph exportSkin

Code:

exportSkin
    | t2 t4 |
    t4 _ 0.
    t2 _ ScratchFileChooserDialog chooseFolder: FileDirectory default pathName.
    'Exporting Skin...' displayProgressAt: Display center from: 0 to: ScratchSkin size during: [:t3 |
    ScratchSkin keys do: [:t1 | t4 _ t4 + 1.
    t3 value: t4.
    PNGReadWriter putForm: (ScratchSkin at: t1)
            onFileNamed: t2 pathName , FileDirectory slash , t1 asString , '.png']]

Offline

 

#5518 2012-07-02 18:52:32

Squawkers13
Scratcher
Registered: 2010-11-20
Posts: 500+

Re: BYOB 3 - Discussion Thread

dreamod wrote:

Squawkers13 wrote:

Squawkers13 wrote:

where's the BYOB skin and how can i get it?

any help?

Type in this code in ScratchFrameMorph class. Then run ScratchFrameMorph exportSkin

Code:

exportSkin
    | t2 t4 |
    t4 _ 0.
    t2 _ ScratchFileChooserDialog chooseFolder: FileDirectory default pathName.
    'Exporting Skin...' displayProgressAt: Display center from: 0 to: ScratchSkin size during: [:t3 |
    ScratchSkin keys do: [:t1 | t4 _ t4 + 1.
    t3 value: t4.
    PNGReadWriter putForm: (ScratchSkin at: t1)
            onFileNamed: t2 pathName , FileDirectory slash , t1 asString , '.png']]

exportSkin, t2, and t4 aren't recognized.


http://pekkit.net/banners/pekkit.png

Offline

 

#5519 2012-07-02 19:58:53

dreamod
New Scratcher
Registered: 2012-01-22
Posts: 100+

Re: BYOB 3 - Discussion Thread

Squawkers13 wrote:

dreamod wrote:

Squawkers13 wrote:


any help?

Type in this code in ScratchFrameMorph class. Then run ScratchFrameMorph exportSkin

Code:

exportSkin
    | t2 t4 |
    t4 _ 0.
    t2 _ ScratchFileChooserDialog chooseFolder: FileDirectory default pathName.
    'Exporting Skin...' displayProgressAt: Display center from: 0 to: ScratchSkin size during: [:t3 |
    ScratchSkin keys do: [:t1 | t4 _ t4 + 1.
    t3 value: t4.
    PNGReadWriter putForm: (ScratchSkin at: t1)
            onFileNamed: t2 pathName , FileDirectory slash , t1 asString , '.png']]

exportSkin, t2, and t4 aren't recognized.

type

Code:

ScratchFrameMorph exportSkin

and do it.

Offline

 

#5520 2012-07-03 01:18:01

Squawkers13
Scratcher
Registered: 2010-11-20
Posts: 500+

Re: BYOB 3 - Discussion Thread

dreamod wrote:

Squawkers13 wrote:

dreamod wrote:


Type in this code in ScratchFrameMorph class. Then run ScratchFrameMorph exportSkin

Code:

exportSkin
    | t2 t4 |
    t4 _ 0.
    t2 _ ScratchFileChooserDialog chooseFolder: FileDirectory default pathName.
    'Exporting Skin...' displayProgressAt: Display center from: 0 to: ScratchSkin size during: [:t3 |
    ScratchSkin keys do: [:t1 | t4 _ t4 + 1.
    t3 value: t4.
    PNGReadWriter putForm: (ScratchSkin at: t1)
            onFileNamed: t2 pathName , FileDirectory slash , t1 asString , '.png']]

exportSkin, t2, and t4 aren't recognized.

type

Code:

ScratchFrameMorph exportSkin

and do it.

YES! It worked!


http://pekkit.net/banners/pekkit.png

Offline

 

#5521 2012-07-03 08:11:09

Jens
Scratcher
Registered: 2007-06-04
Posts: 1000+

Re: BYOB 3 - Discussion Thread

a dozen demos

I've put together a few demo projects. Half a dozen I've transcribed from my Scratch-favs list, the other half dozen are transcribed form BYOB, the better ones by Brian. Thanks to the original creators! Click on the links, wait for the projects to load, then press the green flag (start) button...

original Scratch projects running in SNAP!

     star wars - coolest soundtrack ever
     funny face - almost no scripts
     splotch paint - bloody!
     kanon - schizophrenic singing
     flashlight - reading in the dark
     constraint - conflicting attractions


original BYOB projects running in SNAP!

     vee - classic by E.Paul Goldenberg
     jurassic park - two complementing fractals
     math trainer - lots of BYOB internals
     tree - draw a fractal, by Brian
     animal game - AI by Brian
     count change - money! by Brian

Enjoy!


Jens Mönig

Offline

 

#5522 2012-07-03 09:34:30

Hardmath123
Scratcher
Registered: 2010-02-19
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Totally awesome. What does Vee do? It looks pretty cool.


Hardmaths-MacBook-Pro:~ Hardmath$ sudo make $(whoami) a sandwich

Offline

 

#5523 2012-07-03 10:18:26

Jens
Scratcher
Registered: 2007-06-04
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Thanks, Hardmath123.

"Vee" is our flagship project, the one which started our collaboration towards BYOB and BYOB3. On the final day of the first Scratch conference in 2008 Brian organized an impromptu session rallying for user-definable procedures in Scratch. At that time Scratch lists were a brand new feature, and Brian showed how even with Scratch's new and shiny lists you weren't able to do something seemingly simple as "Vee".

I didn't know Brian before, and was totally on his side, thinking that "Build Your Own Blocks" (as John Maloney and I used to call it internally) would be the logical next feature to add to Scratch. So I sat down and mocked it up, except that at some point it wasn't a mockup anymore but the real thing. But I still couldn't do "Vee" in the first two versions of BYOB, because BYOB had neither first-class lists (which aren't actually needed for "Vee") nor first-class blocks (which is what Vee is really about). Luckily a year later, in 2009, Brian got in touch, taught me all about it, and we teamed up to create BYOB3.

So what does "Vee" do? Just open up the "vee" block in the block editor and look at it. I'm sure you'll immediately get what it does. Especially once you notice that the "shapes" variable contains a list of blocks, two of which are in turn instances of "vee"...  smile

Last edited by Jens (2012-07-03 10:20:46)


Jens Mönig

Offline

 

#5524 2012-07-03 13:28:11

bharvey
Scratcher
Registered: 2008-08-10
Posts: 1000+

Re: BYOB 3 - Discussion Thread

Hardmath123 wrote:

Totally awesome. What does Vee do? It looks pretty cool.

Jens left out one crucial piece of the Vee story, which is that it's meant for a teacher to show students as the first lesson on recursion.  So, although first-class blocks are crucial to making it work, the point of the project is recursion.  In particular, a probabilistic recursion eliminates the need to talk about base cases in this first example.

Paul Goldenberg devised this lesson 20-odd years ago in Logo.  My point at that meeting was that Scratch should be able to do everything Logo can do!

Alas, although I convinced Jens, we didn't convince the Scratch Team, hence two separate developments now.


http://cs.berkeley.edu/~bh/sig5.png

Offline

 

#5525 2012-07-03 13:59:12

scspaeth
Scratcher
Registered: 2010-02-14
Posts: 20

Re: BYOB 3 - Discussion Thread

bharvey wrote:

Hardmath123 wrote:

Totally awesome. What does Vee do? It looks pretty cool.

Jens left out one crucial piece of the Vee story, which is that it's meant for a teacher to show students as the first lesson on recursion.  So, although first-class blocks are crucial to making it work, the point of the project is recursion.  In particular, a probabilistic recursion eliminates the need to talk about base cases in this first example.

Paul Goldenberg devised this lesson 20-odd years ago in Logo.  My point at that meeting was that Scratch should be able to do everything Logo can do!

Alas, although I convinced Jens, we didn't convince the Scratch Team, hence two separate developments now.

Thanks for sharing these insights into pedagogy and the history of language development. Recursion is both important and challenging to learn so these examples are helpful.

Offline

 

Board footer