diff --git a/Syllabus-CR10.txt b/Syllabus-CR10.txt
deleted file mode 100644
index adda311551..0000000000
--- a/Syllabus-CR10.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-Curricular Requirement 10
-The course provides a minimum of three opportunities for students to investigate different computing innovations.
-
-Computing Innovation 1, Prompt A:
-Unit 4, Lab 3, Page 6, Exercise 3:
-Pick another computing innovation (whether in the arts, science, or solving a practical problem), and write about its original purpose and unintended consequences. What was it designed for in the first place? What were the consequences, how were they missed in the design of the innovation, and how did the designers respond when they appeared? Make a chart like the Facebook example above. [A two-by-two chart with axes good/bad, intended/unintended.]
-
-
-Computing Innovation 2, Prompt B:
-Unit 5, Lab 3, Page 4, Exercise 5:
-Pick a computing innovation that uses a lot of data. Write about what kinds of data it uses, where those data come from, and how the application transforms the data to extract information.
-
-
-Computing Innovation 3, Prompt C:
-Unit 1, Lab 4, Page 4, Exercise 6:
-Pick a computing innovation (a web site, a payment method like Paypal, an online indirect login manager like "log in via Google," etc.) and explain privacy concerns that it raises.
-
diff --git a/css/bjc.css b/css/bjc.css
index cbe343e826..f615ee4943 100755
--- a/css/bjc.css
+++ b/css/bjc.css
@@ -280,7 +280,7 @@ img.noshadow {
.forYouToDo, .ifTime, .dialogue, .takeItFurther, .takeNote, .endnote, .narrower, .narrowblue, .narrowpurple, .time , .learn {
padding: 1em;
- margin-bottom: .5em;
+ margin-bottom: 1em;
margin-top: .5em;
}
diff --git a/css/edcdevtech-headerfooter.css b/css/edcdevtech-headerfooter.css
index 7088b0de12..555ec35dc5 100644
--- a/css/edcdevtech-headerfooter.css
+++ b/css/edcdevtech-headerfooter.css
@@ -118,6 +118,7 @@ header, .llab-nav {
display: flex;
padding: 0em 1em;
flex-wrap: wrap;
+ clear: right;
}
.footer img {padding: 0px;}
diff --git a/img/blocks/ask-empty-full-size.png b/img/blocks/ask-empty-full-size.png
index eebd36cba8..fa9a4c768b 100644
Binary files a/img/blocks/ask-empty-full-size.png and b/img/blocks/ask-empty-full-size.png differ
diff --git a/img/sys/camera.png b/img/sys/camera.png
new file mode 100644
index 0000000000..034980415d
Binary files /dev/null and b/img/sys/camera.png differ
diff --git a/index13.html b/index13.html
deleted file mode 100644
index 415929172f..0000000000
--- a/index13.html
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
- The Beauty and Joy of Computing
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/index_ancient.html b/index_ancient.html
deleted file mode 100644
index fddff2cd62..0000000000
--- a/index_ancient.html
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
- The Beauty and Joy Of Computing repository
-
-
-
-
-
-
-
Welcome to the Beauty and Joy of Computing Curriculum Repository
-
-
-
-
Listed below are current and past courses.
-
-
- CS10 is the undergraduate Beauty and Joy of Computing course at U.C.
- Berkeley, and will generally reflect newer content with which we are
- experimenting in class (on our poor students!). Some of these materials
- may be advanced, fast paced, and/or unpolished. More info about the CS10
- course is available at
- cs10.berkeley.edu.
-
- The main page for the Beauty and Joy of Computing Project is at http://bjc.berkeley.edu.
-
-
-
- This repository is developed and maintained using Github.
- You can also use Github to work on your own version of the materials and/or contribute back to the course!
- If you would like to submit feedback, bug reports, or ask questions, you can use the issue tracker
- at github.com/beautyjoy/bjc-r/issues.
- We welcome your input!
-
-
- Additionally, we are undertaking a major four-year project that will revamp
- these BJC materials and course(s) from the ground up.
- Check it out here.
-
-
-
-
diff --git a/index_old.html b/index_old.html
deleted file mode 100755
index 06413f56c4..0000000000
--- a/index_old.html
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
-
- Beauty and Joy of Computing
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/llab/css/default.css b/llab/css/default.css
index 72d70563aa..9185f14671 100755
--- a/llab/css/default.css
+++ b/llab/css/default.css
@@ -574,7 +574,7 @@ img.indent, div.indent {
/* Image added to all clickable program file links
* Indicates a new window will open */
-.run {
+.run, .snap-project {
background: url(../img/external-link.png) center right no-repeat;
padding-right: 13px;
font-weight: bold;
diff --git a/llab/script/library.js b/llab/script/library.js
index 12ee6d1b5e..4b1e87aa69 100644
--- a/llab/script/library.js
+++ b/llab/script/library.js
@@ -36,6 +36,7 @@ llab.getSnapRunURL = function(targeturl, options) {
var currdom = document.domain;
if (currdom == "localhost") {
currdom = 'http://' + currdom + ":" + window.location.port;
+ finalurl = finalurl.replace('https://snap', 'http://extensions.snap');
} else if (targeturl.indexOf("..") != -1 || targeturl.indexOf(llab.rootURL) == -1) {
var path = window.location.pathname;
path = path.split("?")[0];
diff --git a/middle-school/img/U1/arrow-left-to-right.png b/middle-school/img/U1/arrow-left-to-right.png
deleted file mode 100644
index e298e74d1a..0000000000
Binary files a/middle-school/img/U1/arrow-left-to-right.png and /dev/null differ
diff --git a/middle-school/img/U1/color-red-from-pixel.png b/middle-school/img/U1/color-red-from-pixel.png
deleted file mode 100644
index 51ed0455c2..0000000000
Binary files a/middle-school/img/U1/color-red-from-pixel.png and /dev/null differ
diff --git a/middle-school/img/U1/draw-picture.png b/middle-school/img/U1/draw-picture.png
deleted file mode 100644
index ba5ae544d8..0000000000
Binary files a/middle-school/img/U1/draw-picture.png and /dev/null differ
diff --git a/middle-school/img/U1/fancy.png b/middle-school/img/U1/fancy.png
deleted file mode 100644
index c27d8326b9..0000000000
Binary files a/middle-school/img/U1/fancy.png and /dev/null differ
diff --git a/middle-school/img/U1/feeling-label.jpg b/middle-school/img/U1/feeling-label.jpg
deleted file mode 100644
index 4b6d9d3b2b..0000000000
Binary files a/middle-school/img/U1/feeling-label.jpg and /dev/null differ
diff --git a/middle-school/img/U1/feeling-variable.jpg b/middle-school/img/U1/feeling-variable.jpg
deleted file mode 100644
index 276c5e119e..0000000000
Binary files a/middle-school/img/U1/feeling-variable.jpg and /dev/null differ
diff --git a/middle-school/img/U1/image-manipulation-filter-1.png b/middle-school/img/U1/image-manipulation-filter-1.png
deleted file mode 100644
index cbc63caf5c..0000000000
Binary files a/middle-school/img/U1/image-manipulation-filter-1.png and /dev/null differ
diff --git a/middle-school/img/U1/image-manipulation-filter-2.png b/middle-school/img/U1/image-manipulation-filter-2.png
deleted file mode 100644
index 2a068ec0a1..0000000000
Binary files a/middle-school/img/U1/image-manipulation-filter-2.png and /dev/null differ
diff --git a/middle-school/img/U1/image-manipulation-filter-3.png b/middle-school/img/U1/image-manipulation-filter-3.png
deleted file mode 100644
index ca8c0c2db7..0000000000
Binary files a/middle-school/img/U1/image-manipulation-filter-3.png and /dev/null differ
diff --git a/middle-school/img/U1/image-manipulation-filter-4.png b/middle-school/img/U1/image-manipulation-filter-4.png
deleted file mode 100644
index 23a491a15c..0000000000
Binary files a/middle-school/img/U1/image-manipulation-filter-4.png and /dev/null differ
diff --git a/middle-school/img/U1/image-manipulation-map-expression.png b/middle-school/img/U1/image-manipulation-map-expression.png
deleted file mode 100644
index 8f4ee8d94f..0000000000
Binary files a/middle-school/img/U1/image-manipulation-map-expression.png and /dev/null differ
diff --git a/middle-school/img/U1/item1-of-pixels.png b/middle-school/img/U1/item1-of-pixels.png
deleted file mode 100644
index 278d00f293..0000000000
Binary files a/middle-school/img/U1/item1-of-pixels.png and /dev/null differ
diff --git a/middle-school/img/U1/join-random-animal-s.png b/middle-school/img/U1/join-random-animal-s.png
deleted file mode 100644
index 56d5ce578e..0000000000
Binary files a/middle-school/img/U1/join-random-animal-s.png and /dev/null differ
diff --git a/middle-school/img/U1/drag-and-drop.jpg b/middle-school/img/U1/lab01/drag-and-drop.jpg
similarity index 100%
rename from middle-school/img/U1/drag-and-drop.jpg
rename to middle-school/img/U1/lab01/drag-and-drop.jpg
diff --git a/middle-school/img/U1/draw-like-computer-01.png b/middle-school/img/U1/lab01/draw-like-computer-01.png
similarity index 100%
rename from middle-school/img/U1/draw-like-computer-01.png
rename to middle-school/img/U1/lab01/draw-like-computer-01.png
diff --git a/middle-school/img/U1/draw-like-computer-02.png b/middle-school/img/U1/lab01/draw-like-computer-02.png
similarity index 100%
rename from middle-school/img/U1/draw-like-computer-02.png
rename to middle-school/img/U1/lab01/draw-like-computer-02.png
diff --git a/middle-school/img/U1/draw-like-computer.ai b/middle-school/img/U1/lab01/draw-like-computer.ai
similarity index 100%
rename from middle-school/img/U1/draw-like-computer.ai
rename to middle-school/img/U1/lab01/draw-like-computer.ai
diff --git a/middle-school/img/U1/draw-like-pens.png b/middle-school/img/U1/lab01/draw-like-pens.png
similarity index 100%
rename from middle-school/img/U1/draw-like-pens.png
rename to middle-school/img/U1/lab01/draw-like-pens.png
diff --git a/middle-school/img/U1/draw-like-shrinking-wide-T-12up.pdf b/middle-school/img/U1/lab01/draw-like-shrinking-wide-T-12up.pdf
similarity index 100%
rename from middle-school/img/U1/draw-like-shrinking-wide-T-12up.pdf
rename to middle-school/img/U1/lab01/draw-like-shrinking-wide-T-12up.pdf
diff --git a/middle-school/img/U1/draw-like-shrinking-wide-T.png b/middle-school/img/U1/lab01/draw-like-shrinking-wide-T.png
similarity index 100%
rename from middle-school/img/U1/draw-like-shrinking-wide-T.png
rename to middle-school/img/U1/lab01/draw-like-shrinking-wide-T.png
diff --git a/middle-school/img/U1/draw-like-triangle-circle-square-computer.pdf b/middle-school/img/U1/lab01/draw-like-triangle-circle-square-computer.pdf
similarity index 100%
rename from middle-school/img/U1/draw-like-triangle-circle-square-computer.pdf
rename to middle-school/img/U1/lab01/draw-like-triangle-circle-square-computer.pdf
diff --git a/middle-school/img/U1/draw-like-triangle-circle-square-computer.png b/middle-school/img/U1/lab01/draw-like-triangle-circle-square-computer.png
similarity index 100%
rename from middle-school/img/U1/draw-like-triangle-circle-square-computer.png
rename to middle-school/img/U1/lab01/draw-like-triangle-circle-square-computer.png
diff --git a/middle-school/img/U1/draw-like-triangle-circle-square.pdf b/middle-school/img/U1/lab01/draw-like-triangle-circle-square.pdf
similarity index 100%
rename from middle-school/img/U1/draw-like-triangle-circle-square.pdf
rename to middle-school/img/U1/lab01/draw-like-triangle-circle-square.pdf
diff --git a/middle-school/img/U1/draw-like-triangle-circle-square.png b/middle-school/img/U1/lab01/draw-like-triangle-circle-square.png
similarity index 100%
rename from middle-school/img/U1/draw-like-triangle-circle-square.png
rename to middle-school/img/U1/lab01/draw-like-triangle-circle-square.png
diff --git a/middle-school/img/U1/lab01/fancy.png b/middle-school/img/U1/lab01/fancy.png
new file mode 100644
index 0000000000..77f579310a
Binary files /dev/null and b/middle-school/img/U1/lab01/fancy.png differ
diff --git a/middle-school/img/U1/recipe-flowchart.indd b/middle-school/img/U1/lab01/recipe-flowchart.indd
similarity index 100%
rename from middle-school/img/U1/recipe-flowchart.indd
rename to middle-school/img/U1/lab01/recipe-flowchart.indd
diff --git a/middle-school/img/U1/recipe-flowchart.png b/middle-school/img/U1/lab01/recipe-flowchart.png
similarity index 100%
rename from middle-school/img/U1/recipe-flowchart.png
rename to middle-school/img/U1/lab01/recipe-flowchart.png
diff --git a/middle-school/img/U1/lab01/say-hello-fancy-with-inputs-reporting.png b/middle-school/img/U1/lab01/say-hello-fancy-with-inputs-reporting.png
new file mode 100644
index 0000000000..a3c73f5ae7
Binary files /dev/null and b/middle-school/img/U1/lab01/say-hello-fancy-with-inputs-reporting.png differ
diff --git a/middle-school/img/U1/lab01/say-hello-with-inputs-reporting.png b/middle-school/img/U1/lab01/say-hello-with-inputs-reporting.png
new file mode 100644
index 0000000000..7eb819ca25
Binary files /dev/null and b/middle-school/img/U1/lab01/say-hello-with-inputs-reporting.png differ
diff --git a/middle-school/img/U1/lab01/say-hello.png b/middle-school/img/U1/lab01/say-hello.png
new file mode 100644
index 0000000000..04fdc9be46
Binary files /dev/null and b/middle-school/img/U1/lab01/say-hello.png differ
diff --git a/middle-school/img/U1/edit-block-in-dropdown.jpg b/middle-school/img/U1/lab02/edit-block-in-dropdown.jpg
similarity index 100%
rename from middle-school/img/U1/edit-block-in-dropdown.jpg
rename to middle-school/img/U1/lab02/edit-block-in-dropdown.jpg
diff --git a/middle-school/img/U1/lab02/feeling-label.jpg b/middle-school/img/U1/lab02/feeling-label.jpg
new file mode 100644
index 0000000000..1958324abc
Binary files /dev/null and b/middle-school/img/U1/lab02/feeling-label.jpg differ
diff --git a/middle-school/img/U1/lab02/feeling-variable.jpg b/middle-school/img/U1/lab02/feeling-variable.jpg
new file mode 100644
index 0000000000..d1de48975d
Binary files /dev/null and b/middle-school/img/U1/lab02/feeling-variable.jpg differ
diff --git a/middle-school/img/U1/lab02/join-random-animal-s.png b/middle-school/img/U1/lab02/join-random-animal-s.png
new file mode 100644
index 0000000000..4b4663fc95
Binary files /dev/null and b/middle-school/img/U1/lab02/join-random-animal-s.png differ
diff --git a/middle-school/img/U1/join-short-story-reporting.png b/middle-school/img/U1/lab02/join-short-story-reporting.png
similarity index 100%
rename from middle-school/img/U1/join-short-story-reporting.png
rename to middle-school/img/U1/lab02/join-short-story-reporting.png
diff --git a/middle-school/img/U1/join-words-short-story-reporting.png b/middle-school/img/U1/lab02/join-words-short-story-reporting.png
similarity index 100%
rename from middle-school/img/U1/join-words-short-story-reporting.png
rename to middle-school/img/U1/lab02/join-words-short-story-reporting.png
diff --git a/middle-school/img/U1/make-a-block-plural.jpg b/middle-school/img/U1/lab02/make-a-block-plural.jpg
similarity index 100%
rename from middle-school/img/U1/make-a-block-plural.jpg
rename to middle-school/img/U1/lab02/make-a-block-plural.jpg
diff --git a/middle-school/img/U1/plural-add-input.jpg b/middle-school/img/U1/lab02/plural-add-input.jpg
similarity index 100%
rename from middle-school/img/U1/plural-add-input.jpg
rename to middle-school/img/U1/lab02/plural-add-input.jpg
diff --git a/middle-school/img/U1/plural-definition-empty.png b/middle-school/img/U1/lab02/plural-definition-empty.png
similarity index 100%
rename from middle-school/img/U1/plural-definition-empty.png
rename to middle-school/img/U1/lab02/plural-definition-empty.png
diff --git a/middle-school/img/U1/plural-definition.png b/middle-school/img/U1/lab02/plural-definition.png
similarity index 100%
rename from middle-school/img/U1/plural-definition.png
rename to middle-school/img/U1/lab02/plural-definition.png
diff --git a/middle-school/img/U1/plural-drag-word.jpg b/middle-school/img/U1/lab02/plural-drag-word.jpg
similarity index 100%
rename from middle-school/img/U1/plural-drag-word.jpg
rename to middle-school/img/U1/lab02/plural-drag-word.jpg
diff --git a/middle-school/img/U1/plural-hat.png b/middle-school/img/U1/lab02/plural-hat.png
similarity index 100%
rename from middle-school/img/U1/plural-hat.png
rename to middle-school/img/U1/lab02/plural-hat.png
diff --git a/middle-school/img/U1/plural-of.png b/middle-school/img/U1/lab02/plural-of.png
similarity index 100%
rename from middle-school/img/U1/plural-of.png
rename to middle-school/img/U1/lab02/plural-of.png
diff --git a/middle-school/img/U1/plural-random-animal.png b/middle-school/img/U1/lab02/plural-random-animal.png
similarity index 100%
rename from middle-school/img/U1/plural-random-animal.png
rename to middle-school/img/U1/lab02/plural-random-animal.png
diff --git a/middle-school/img/U1/lab02/random-action.png b/middle-school/img/U1/lab02/random-action.png
new file mode 100644
index 0000000000..b905d79df8
Binary files /dev/null and b/middle-school/img/U1/lab02/random-action.png differ
diff --git a/middle-school/img/U1/lab02/random-color.png b/middle-school/img/U1/lab02/random-color.png
new file mode 100644
index 0000000000..efd3872a09
Binary files /dev/null and b/middle-school/img/U1/lab02/random-color.png differ
diff --git a/middle-school/img/U1/lab02/random-feeling.png b/middle-school/img/U1/lab02/random-feeling.png
new file mode 100644
index 0000000000..62af5e29be
Binary files /dev/null and b/middle-school/img/U1/lab02/random-feeling.png differ
diff --git a/middle-school/img/U1/lab02/random-food.png b/middle-school/img/U1/lab02/random-food.png
new file mode 100644
index 0000000000..4bd95ef1af
Binary files /dev/null and b/middle-school/img/U1/lab02/random-food.png differ
diff --git a/middle-school/img/U1/lab02/random-job-block-editor.png b/middle-school/img/U1/lab02/random-job-block-editor.png
new file mode 100644
index 0000000000..ed7f1b30f3
Binary files /dev/null and b/middle-school/img/U1/lab02/random-job-block-editor.png differ
diff --git a/middle-school/img/U1/lab02/random-job.png b/middle-school/img/U1/lab02/random-job.png
new file mode 100644
index 0000000000..236c5e3961
Binary files /dev/null and b/middle-school/img/U1/lab02/random-job.png differ
diff --git a/middle-school/img/U1/lab02/random-place.png b/middle-school/img/U1/lab02/random-place.png
new file mode 100644
index 0000000000..bac55b3a9d
Binary files /dev/null and b/middle-school/img/U1/lab02/random-place.png differ
diff --git a/middle-school/img/U1/lab02/super-short-story-block-editor.png b/middle-school/img/U1/lab02/super-short-story-block-editor.png
new file mode 100644
index 0000000000..4521dcba1e
Binary files /dev/null and b/middle-school/img/U1/lab02/super-short-story-block-editor.png differ
diff --git a/middle-school/img/U1/super-short-story-pick-random.png b/middle-school/img/U1/lab02/super-short-story-pick-random.png
similarity index 100%
rename from middle-school/img/U1/super-short-story-pick-random.png
rename to middle-school/img/U1/lab02/super-short-story-pick-random.png
diff --git a/middle-school/img/U1/lab02/super-short-story-random-feeling.png b/middle-school/img/U1/lab02/super-short-story-random-feeling.png
new file mode 100644
index 0000000000..826b3bb772
Binary files /dev/null and b/middle-school/img/U1/lab02/super-short-story-random-feeling.png differ
diff --git a/middle-school/img/U1/super-short-story-reporting.png b/middle-school/img/U1/lab02/super-short-story-reporting.png
similarity index 100%
rename from middle-school/img/U1/super-short-story-reporting.png
rename to middle-school/img/U1/lab02/super-short-story-reporting.png
diff --git a/middle-school/img/U1/super-short-story-with-inputs-reporting.png b/middle-school/img/U1/lab02/super-short-story-with-inputs-reporting.png
similarity index 100%
rename from middle-school/img/U1/super-short-story-with-inputs-reporting.png
rename to middle-school/img/U1/lab02/super-short-story-with-inputs-reporting.png
diff --git a/middle-school/img/U1/super-short-story-with-inputs.png b/middle-school/img/U1/lab02/super-short-story-with-inputs.png
similarity index 100%
rename from middle-school/img/U1/super-short-story-with-inputs.png
rename to middle-school/img/U1/lab02/super-short-story-with-inputs.png
diff --git a/middle-school/img/U1/lab02/super-short-story.png b/middle-school/img/U1/lab02/super-short-story.png
new file mode 100644
index 0000000000..0ddf933ebb
Binary files /dev/null and b/middle-school/img/U1/lab02/super-short-story.png differ
diff --git a/middle-school/img/U1/count-data-split-lines-reporting.png b/middle-school/img/U1/lab03/count-data-split-lines-reporting.png
similarity index 100%
rename from middle-school/img/U1/count-data-split-lines-reporting.png
rename to middle-school/img/U1/lab03/count-data-split-lines-reporting.png
diff --git a/middle-school/img/U1/count-data-split-lines.png b/middle-school/img/U1/lab03/count-data-split-lines.png
similarity index 100%
rename from middle-school/img/U1/count-data-split-lines.png
rename to middle-school/img/U1/lab03/count-data-split-lines.png
diff --git a/middle-school/img/U1/count-data.png b/middle-school/img/U1/lab03/count-data.png
similarity index 100%
rename from middle-school/img/U1/count-data.png
rename to middle-school/img/U1/lab03/count-data.png
diff --git a/middle-school/img/U1/draw-pictograph-sort-data.png b/middle-school/img/U1/lab03/draw-pictograph-sort-data.png
similarity index 100%
rename from middle-school/img/U1/draw-pictograph-sort-data.png
rename to middle-school/img/U1/lab03/draw-pictograph-sort-data.png
diff --git a/middle-school/img/U1/draw-pictograph-with-inputs.png b/middle-school/img/U1/lab03/draw-pictograph-with-inputs.png
similarity index 100%
rename from middle-school/img/U1/draw-pictograph-with-inputs.png
rename to middle-school/img/U1/lab03/draw-pictograph-with-inputs.png
diff --git a/middle-school/img/U1/draw-pictograph.png b/middle-school/img/U1/lab03/draw-pictograph.png
similarity index 100%
rename from middle-school/img/U1/draw-pictograph.png
rename to middle-school/img/U1/lab03/draw-pictograph.png
diff --git a/middle-school/img/U1/pictograph.png b/middle-school/img/U1/lab03/pictograph.png
similarity index 100%
rename from middle-school/img/U1/pictograph.png
rename to middle-school/img/U1/lab03/pictograph.png
diff --git a/middle-school/img/U1/research-process.png b/middle-school/img/U1/lab03/research-process.png
similarity index 100%
rename from middle-school/img/U1/research-process.png
rename to middle-school/img/U1/lab03/research-process.png
diff --git a/middle-school/img/U1/sort-data.png b/middle-school/img/U1/lab03/sort-data.png
similarity index 100%
rename from middle-school/img/U1/sort-data.png
rename to middle-school/img/U1/lab03/sort-data.png
diff --git a/middle-school/img/U1/split-lines-ice-cream-reporting.png b/middle-school/img/U1/lab03/split-lines-ice-cream-reporting.png
similarity index 100%
rename from middle-school/img/U1/split-lines-ice-cream-reporting.png
rename to middle-school/img/U1/lab03/split-lines-ice-cream-reporting.png
diff --git a/middle-school/img/U1/split-lines.png b/middle-school/img/U1/lab03/split-lines.png
similarity index 100%
rename from middle-school/img/U1/split-lines.png
rename to middle-school/img/U1/lab03/split-lines.png
diff --git a/middle-school/img/U1/camera-allow.png b/middle-school/img/U1/lab04/camera-allow.png
similarity index 100%
rename from middle-school/img/U1/camera-allow.png
rename to middle-school/img/U1/lab04/camera-allow.png
diff --git a/middle-school/img/U1/camera-pamela-red.png b/middle-school/img/U1/lab04/camera-pamela-red.png
similarity index 100%
rename from middle-school/img/U1/camera-pamela-red.png
rename to middle-school/img/U1/lab04/camera-pamela-red.png
diff --git a/middle-school/img/U1/camera-pamela.png b/middle-school/img/U1/lab04/camera-pamela.png
similarity index 100%
rename from middle-school/img/U1/camera-pamela.png
rename to middle-school/img/U1/lab04/camera-pamela.png
diff --git a/middle-school/img/U1/lab04/color-from-pixel.png b/middle-school/img/U1/lab04/color-from-pixel.png
new file mode 100644
index 0000000000..a8101d460d
Binary files /dev/null and b/middle-school/img/U1/lab04/color-from-pixel.png differ
diff --git a/middle-school/img/U1/lab04/color-green-from-pixel-item-of.png b/middle-school/img/U1/lab04/color-green-from-pixel-item-of.png
new file mode 100644
index 0000000000..604a7285cd
Binary files /dev/null and b/middle-school/img/U1/lab04/color-green-from-pixel-item-of.png differ
diff --git a/middle-school/img/U1/lab04/color-red-from-pixel.png b/middle-school/img/U1/lab04/color-red-from-pixel.png
new file mode 100644
index 0000000000..0cba8992bb
Binary files /dev/null and b/middle-school/img/U1/lab04/color-red-from-pixel.png differ
diff --git a/middle-school/img/U1/costumes-tab.png b/middle-school/img/U1/lab04/costumes-tab.png
similarity index 100%
rename from middle-school/img/U1/costumes-tab.png
rename to middle-school/img/U1/lab04/costumes-tab.png
diff --git a/middle-school/img/U1/lab04/draw-picture.png b/middle-school/img/U1/lab04/draw-picture.png
new file mode 100644
index 0000000000..d76041f83f
Binary files /dev/null and b/middle-school/img/U1/lab04/draw-picture.png differ
diff --git a/middle-school/img/U1/lab04/draw-pixel-rgb-85-170-255.png b/middle-school/img/U1/lab04/draw-pixel-rgb-85-170-255.png
new file mode 100644
index 0000000000..aef2992d15
Binary files /dev/null and b/middle-school/img/U1/lab04/draw-pixel-rgb-85-170-255.png differ
diff --git a/middle-school/img/U1/lab04/draw-pixel.png b/middle-school/img/U1/lab04/draw-pixel.png
new file mode 100644
index 0000000000..aa2bdf3efe
Binary files /dev/null and b/middle-school/img/U1/lab04/draw-pixel.png differ
diff --git a/middle-school/img/U1/lab04/filter-1-map-expression.png b/middle-school/img/U1/lab04/filter-1-map-expression.png
new file mode 100644
index 0000000000..4678ee0f31
Binary files /dev/null and b/middle-school/img/U1/lab04/filter-1-map-expression.png differ
diff --git a/middle-school/img/U1/lab04/filter-2-map-expression.png b/middle-school/img/U1/lab04/filter-2-map-expression.png
new file mode 100644
index 0000000000..aa4382852e
Binary files /dev/null and b/middle-school/img/U1/lab04/filter-2-map-expression.png differ
diff --git a/middle-school/img/U1/lab04/gray-ring.png b/middle-school/img/U1/lab04/gray-ring.png
new file mode 100644
index 0000000000..d35d023fa4
Binary files /dev/null and b/middle-school/img/U1/lab04/gray-ring.png differ
diff --git a/middle-school/img/U1/lab04/image-manipulation-filter-1.png b/middle-school/img/U1/lab04/image-manipulation-filter-1.png
new file mode 100644
index 0000000000..05dcd0d3dc
Binary files /dev/null and b/middle-school/img/U1/lab04/image-manipulation-filter-1.png differ
diff --git a/middle-school/img/U1/lab04/image-manipulation-filter-2.png b/middle-school/img/U1/lab04/image-manipulation-filter-2.png
new file mode 100644
index 0000000000..05430f0075
Binary files /dev/null and b/middle-school/img/U1/lab04/image-manipulation-filter-2.png differ
diff --git a/middle-school/img/U1/lab04/image-manipulation-filter-3.png b/middle-school/img/U1/lab04/image-manipulation-filter-3.png
new file mode 100644
index 0000000000..5a2b649cce
Binary files /dev/null and b/middle-school/img/U1/lab04/image-manipulation-filter-3.png differ
diff --git a/middle-school/img/U1/lab04/image-manipulation-filter-4.png b/middle-school/img/U1/lab04/image-manipulation-filter-4.png
new file mode 100644
index 0000000000..ec5be2c30e
Binary files /dev/null and b/middle-school/img/U1/lab04/image-manipulation-filter-4.png differ
diff --git a/middle-school/img/U1/lab04/image-manipulation-map-expression.png b/middle-school/img/U1/lab04/image-manipulation-map-expression.png
new file mode 100644
index 0000000000..c86c998520
Binary files /dev/null and b/middle-school/img/U1/lab04/image-manipulation-map-expression.png differ
diff --git a/middle-school/img/U1/lab04/image-manipulation-stage-sprites.jpg b/middle-school/img/U1/lab04/image-manipulation-stage-sprites.jpg
new file mode 100644
index 0000000000..1f08e0934e
Binary files /dev/null and b/middle-school/img/U1/lab04/image-manipulation-stage-sprites.jpg differ
diff --git a/middle-school/img/U1/lab04/image-manipulation-stage-sprites.psd b/middle-school/img/U1/lab04/image-manipulation-stage-sprites.psd
new file mode 100644
index 0000000000..9f0451033c
Binary files /dev/null and b/middle-school/img/U1/lab04/image-manipulation-stage-sprites.psd differ
diff --git a/middle-school/img/U1/image-manipulation-table-single-column.png b/middle-school/img/U1/lab04/image-manipulation-table-single-column.png
similarity index 100%
rename from middle-school/img/U1/image-manipulation-table-single-column.png
rename to middle-school/img/U1/lab04/image-manipulation-table-single-column.png
diff --git a/middle-school/img/U1/image-manipulation-table.png b/middle-school/img/U1/lab04/image-manipulation-table.png
similarity index 100%
rename from middle-school/img/U1/image-manipulation-table.png
rename to middle-school/img/U1/lab04/image-manipulation-table.png
diff --git a/middle-school/img/U1/lab04/item1-of-pixels.png b/middle-school/img/U1/lab04/item1-of-pixels.png
new file mode 100644
index 0000000000..bf2fb6129a
Binary files /dev/null and b/middle-school/img/U1/lab04/item1-of-pixels.png differ
diff --git a/middle-school/img/U1/lab04/list-111-111-112.png b/middle-school/img/U1/lab04/list-111-111-112.png
new file mode 100644
index 0000000000..6326475b71
Binary files /dev/null and b/middle-school/img/U1/lab04/list-111-111-112.png differ
diff --git a/middle-school/img/U1/lab04/paint-color-from-pixel-rgb-pixel.png b/middle-school/img/U1/lab04/paint-color-from-pixel-rgb-pixel.png
new file mode 100644
index 0000000000..4ef6801cdb
Binary files /dev/null and b/middle-school/img/U1/lab04/paint-color-from-pixel-rgb-pixel.png differ
diff --git a/middle-school/img/U1/lab04/paint-color-rgb.png b/middle-school/img/U1/lab04/paint-color-rgb.png
new file mode 100644
index 0000000000..800e9a97b1
Binary files /dev/null and b/middle-school/img/U1/lab04/paint-color-rgb.png differ
diff --git a/middle-school/img/U1/lab04/paint-color.png b/middle-school/img/U1/lab04/paint-color.png
new file mode 100644
index 0000000000..83b1d71261
Binary files /dev/null and b/middle-school/img/U1/lab04/paint-color.png differ
diff --git a/middle-school/img/U1/lab04/pixel-animation.gif b/middle-school/img/U1/lab04/pixel-animation.gif
new file mode 100644
index 0000000000..ccb8019378
Binary files /dev/null and b/middle-school/img/U1/lab04/pixel-animation.gif differ
diff --git a/middle-school/img/U1/lab04/pixel-animation.psd b/middle-school/img/U1/lab04/pixel-animation.psd
new file mode 100644
index 0000000000..eb009d9c23
Binary files /dev/null and b/middle-school/img/U1/lab04/pixel-animation.psd differ
diff --git a/middle-school/img/U1/lab04/pixel-grid-stage.png b/middle-school/img/U1/lab04/pixel-grid-stage.png
new file mode 100644
index 0000000000..5362a2e375
Binary files /dev/null and b/middle-school/img/U1/lab04/pixel-grid-stage.png differ
diff --git a/middle-school/img/U1/pixel.png b/middle-school/img/U1/lab04/pixel.png
similarity index 100%
rename from middle-school/img/U1/pixel.png
rename to middle-school/img/U1/lab04/pixel.png
diff --git a/middle-school/img/U1/lab04/pixels-of-costume-reporting.png b/middle-school/img/U1/lab04/pixels-of-costume-reporting.png
new file mode 100644
index 0000000000..71145aa102
Binary files /dev/null and b/middle-school/img/U1/lab04/pixels-of-costume-reporting.png differ
diff --git a/middle-school/img/U1/lab04/pixels-of-costume.png b/middle-school/img/U1/lab04/pixels-of-costume.png
new file mode 100644
index 0000000000..dfc7577922
Binary files /dev/null and b/middle-school/img/U1/lab04/pixels-of-costume.png differ
diff --git a/middle-school/img/U1/lab04/rgb-pixel-reporting.png b/middle-school/img/U1/lab04/rgb-pixel-reporting.png
new file mode 100644
index 0000000000..eda5f8dc57
Binary files /dev/null and b/middle-school/img/U1/lab04/rgb-pixel-reporting.png differ
diff --git a/middle-school/img/U1/lab04/rgb-pixel.png b/middle-school/img/U1/lab04/rgb-pixel.png
new file mode 100644
index 0000000000..4242871acb
Binary files /dev/null and b/middle-school/img/U1/lab04/rgb-pixel.png differ
diff --git a/middle-school/img/U1/lab04/scale.png b/middle-school/img/U1/lab04/scale.png
new file mode 100644
index 0000000000..9cccf8f96d
Binary files /dev/null and b/middle-school/img/U1/lab04/scale.png differ
diff --git a/middle-school/img/U1/lab04/turtle-pixel-animation.gif b/middle-school/img/U1/lab04/turtle-pixel-animation.gif
new file mode 100644
index 0000000000..4d8ce17746
Binary files /dev/null and b/middle-school/img/U1/lab04/turtle-pixel-animation.gif differ
diff --git a/middle-school/img/U1/lab04/turtle-pixel-animation.psd b/middle-school/img/U1/lab04/turtle-pixel-animation.psd
new file mode 100644
index 0000000000..c2f747c3fd
Binary files /dev/null and b/middle-school/img/U1/lab04/turtle-pixel-animation.psd differ
diff --git a/middle-school/img/U1/lab04/use-costume-parrots.png b/middle-school/img/U1/lab04/use-costume-parrots.png
new file mode 100644
index 0000000000..a306223226
Binary files /dev/null and b/middle-school/img/U1/lab04/use-costume-parrots.png differ
diff --git a/middle-school/img/U1/pixel-grid-stage.png b/middle-school/img/U1/pixel-grid-stage.png
deleted file mode 100644
index 95a8d7cb5e..0000000000
Binary files a/middle-school/img/U1/pixel-grid-stage.png and /dev/null differ
diff --git a/middle-school/img/U1/random-action.png b/middle-school/img/U1/random-action.png
deleted file mode 100644
index 77ad919c8b..0000000000
Binary files a/middle-school/img/U1/random-action.png and /dev/null differ
diff --git a/middle-school/img/U1/random-color.png b/middle-school/img/U1/random-color.png
deleted file mode 100644
index 591b89bfff..0000000000
Binary files a/middle-school/img/U1/random-color.png and /dev/null differ
diff --git a/middle-school/img/U1/random-feeling.png b/middle-school/img/U1/random-feeling.png
deleted file mode 100644
index 2ca52f79c5..0000000000
Binary files a/middle-school/img/U1/random-feeling.png and /dev/null differ
diff --git a/middle-school/img/U1/random-food.png b/middle-school/img/U1/random-food.png
deleted file mode 100644
index d86cc9a9d3..0000000000
Binary files a/middle-school/img/U1/random-food.png and /dev/null differ
diff --git a/middle-school/img/U1/random-job-block-editor.png b/middle-school/img/U1/random-job-block-editor.png
deleted file mode 100644
index 5b9a7b0b61..0000000000
Binary files a/middle-school/img/U1/random-job-block-editor.png and /dev/null differ
diff --git a/middle-school/img/U1/random-job.png b/middle-school/img/U1/random-job.png
deleted file mode 100644
index a71aaa6a87..0000000000
Binary files a/middle-school/img/U1/random-job.png and /dev/null differ
diff --git a/middle-school/img/U1/random-place.png b/middle-school/img/U1/random-place.png
deleted file mode 100644
index 563b51c6b4..0000000000
Binary files a/middle-school/img/U1/random-place.png and /dev/null differ
diff --git a/middle-school/img/U1/say-hello-fancy-with-inputs-reporting.png b/middle-school/img/U1/say-hello-fancy-with-inputs-reporting.png
deleted file mode 100644
index e8c5d07080..0000000000
Binary files a/middle-school/img/U1/say-hello-fancy-with-inputs-reporting.png and /dev/null differ
diff --git a/middle-school/img/U1/say-hello-with-inputs-reporting.png b/middle-school/img/U1/say-hello-with-inputs-reporting.png
deleted file mode 100644
index 557419ce7a..0000000000
Binary files a/middle-school/img/U1/say-hello-with-inputs-reporting.png and /dev/null differ
diff --git a/middle-school/img/U1/say-hello.png b/middle-school/img/U1/say-hello.png
deleted file mode 100644
index 86fa406135..0000000000
Binary files a/middle-school/img/U1/say-hello.png and /dev/null differ
diff --git a/middle-school/img/U1/super-short-story-block-editor.png b/middle-school/img/U1/super-short-story-block-editor.png
deleted file mode 100644
index ee34d9d76e..0000000000
Binary files a/middle-school/img/U1/super-short-story-block-editor.png and /dev/null differ
diff --git a/middle-school/img/U1/super-short-story-random-feeling.png b/middle-school/img/U1/super-short-story-random-feeling.png
deleted file mode 100644
index d09f73ace0..0000000000
Binary files a/middle-school/img/U1/super-short-story-random-feeling.png and /dev/null differ
diff --git a/middle-school/img/U1/super-short-story.png b/middle-school/img/U1/super-short-story.png
deleted file mode 100644
index 7a503687fd..0000000000
Binary files a/middle-school/img/U1/super-short-story.png and /dev/null differ
diff --git a/middle-school/img/U1/use-costume-parrots.png b/middle-school/img/U1/use-costume-parrots.png
deleted file mode 100644
index e13dd25fcf..0000000000
Binary files a/middle-school/img/U1/use-costume-parrots.png and /dev/null differ
diff --git a/middle-school/img/U1/routing.png b/middle-school/img/U2/routing.png
similarity index 100%
rename from middle-school/img/U1/routing.png
rename to middle-school/img/U2/routing.png
diff --git a/middle-school/prog/image-manipulation.xml b/middle-school/prog/image-manipulation.xml
index 62430c8000..b2fc4f811c 100644
--- a/middle-school/prog/image-manipulation.xml
+++ b/middle-school/prog/image-manipulation.xml
@@ -1 +1 @@
-data:image/png;base64,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 forward turn turnLeft setHeading doFaceTowards gotoXY doGotoObject doGlide changeXPosition setXPosition changeYPosition setYPosition bounceOffEdge xPosition yPosition direction playSound doPlaySoundUntilDone doPlaySoundAtRate doStopAllSounds reportGetSoundAttribute reportNewSoundFromSamples doRest doPlayNote doPlayFrequency doSetInstrument doChangeTempo doSetTempo getTempo changeVolume setVolume getVolume changePan setPan getPan playFreq stopFreq reportSounds clear down up getPenDown setColor setPenHSVA changePenHSVA getPenAttribute setBackgroundColor setBackgroundHSVA changeBackgroundHSVA changeSize setSize doStamp floodFill write reportPenTrailsAsCostume reportPentrailsAsSVG doPasteOn doCutFrom receiveGo receiveKey receiveInteraction receiveMessage receiveCondition doBroadcast doBroadcastAndWait getLastMessage doSend doWait doWaitUntil doForever doRepeat doUntil doFor doIf doIfElse reportIfElse doStopThis doRun fork evaluate doReport doCallCC reportCallCC doWarp doTellTo reportAskFor receiveOnClone createClone newClone removeClone doPauseAll reportListLength reportTranspose reportAtomicMap reportAtomicKeep reportAtomicFindFirst reportAtomicCombine doShowTable doMapCodeOrHeader doMapValueCode doMapListCode reportMappedCode doApplyExtension reportApplyExtension reportTouchingObject reportTouchingColor reportColorIsTouchingColor doAsk getLastAnswer reportMouseX reportMouseY reportMouseDown reportKeyPressed reportRelationTo reportAspect doResetTimer getTimer reportAttributeOf reportObject reportURL reportAudio reportVideo doSetVideoTransparency reportGlobalFlag doSetGlobalFlag reportDate getCostumeIdx doWearNextCostume doSayFor bubble doThinkFor doThink changeEffect setEffect clearEffects getEffect changeScale setScale getScale show hide reportShown goToLayer goBack doSwitchToScene reportLessThan reportEquals reportGreaterThan reportAnd reportOr reportNot reportBoolean reportJoinWords reportTextSplit reportLetter reportStringSize reportUnicode reportUnicodeAsLetter reportIsA reportIsIdenticalred
green
blue
transparencygreenblue4red
green
blue
transparencygreenblue000Posterize makes an image look like a poster by making the red, green, and blue channels of each pixel either 100% or 0% red, green, or blue.
It takes as input an image (as a table of RGB pixels) and cutoff values for each channel (red, green, and blue), and it outputs a modified image where the red, green, and blue values for pixel are changed to either 255 for 0 depending on whether the original value is above or below the cutoff for that channel.
For example, if one pixel in an image were R=213, G=135, B=245 (a light purple color) and the cutoffs were red: 225, green: 100, blue: 225, then the new pixel at that place in the image would be R=0, G=255, B=255 becuase the red channel is below the red cutoff but the green and blue channels are each above their cutoffs.
You can adjust the cutoff values to determine how much of the original red, green, and blue to exaggerate vs. remove. 0100100100154current y1current screen y-10§_costumesMenu§_costumesMenu-978,-28143,166,198,255data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAACtUlEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Bo3+AAF/RMkcAAAAAElFTkSuQmCCSwitches the costume and resizes it.Reports a table of pixels for the costume with columns for red, green, blueReports the very first pixel in the list of pixels (the top left corner)Reports just the red channel of the first pixelReports a list of all the red channels of the costume's pixelsReports a table of R, G, B pixels with only the red channel from the costume, and the G/B set to 0.Filter #1: Changes the chosen costume to an image with only the red channel remainingFilter #2: Switches up the red, green, and blue channels of the costume Filter #3: Brightens the whole image but take a little red out...Useful for sunburns!Filter #4: "Posterize", turns the image into a posterThis initializes the pixel display in the right corner, don't edit this.36,0,67,190-23070RGB: ,14-23050 XY: ,14
\ No newline at end of file
+data:image/png;base64,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red
green
bluegreenbluePosterize makes an image look like a poster by making the red, green, and blue channels of each pixel either 100% or 0% red, green, or blue.
It takes as input an image (as a table of RGB pixels) and cutoff values for each channel (red, green, and blue), and it outputs a modified image where the red, green, and blue values for pixel are changed to either 255 for 0 depending on whether the original value is above or below the cutoff for that channel.
For example, if one pixel in an image were R=213, G=135, B=245 (a light purple color) and the cutoffs were red: 225, green: 100, blue: 225, then the new pixel at that place in the image would be R=0, G=255, B=255 becuase the red channel is below the red cutoff but the green and blue channels are each above their cutoffs.
You can adjust the cutoff values to determine how much of the original red, green, and blue to exaggerate vs. remove. 0100100100904154current y1current screen y-12§_costumesMenu§_costumesMenu§_costumesMenu85170255This block allows you to set the pen's color, transparency (on a scale from 0=opaque to 100=invisible), or size (in pixels). The color can be set in many ways, including RGB values, HSV values, HSL values, fair HSV or HSL (based on a modified spectrum that gives each spectral color equal space and promotes brown to a color), color number, crayon, or X11/W3C color name.
See Appendix A in the Snap! Reference Manual for details.color
color number
crayon
fair hue
~1
size
transparency
X11/W3C name
~2
(3D color spaces)={
fair HSL={
fair hue
fair saturation (HSL)
fair lightness
fair HSL vector
}
fair HSV={
fair hue
fair saturation (HSV)
fair value (brightness)
fair HSV vector
}
HSL={
hue
saturation (HSL)
lightness
HSL vector
}
HSV={
hue
saturation (HSV)
value (brightness)
HSV vector
}
RGB (0-255)={
red
green
blue
RGB(A) vector
RGB(A) hex
}
}§_ext_clr_numbersNote to myself: When the user sets a fair dimension, say fair HSL, variable HSL contains the corresponding "unfair" values, and "raw HSL" contains the numbers the user actually gave. It has to be this way because in the case of HSV, there is no "HSV" variable; rather, we use the pen's actual remembered-by-Javascript color's HSV coordinates. So our HSL variable has to be analogous to that. In both cases "raw" means the numbers the user gave us.1HSV✐ raw HSL100HSV100pt:lança o erro _
de:fange _ _
ca:agafa _ _
es:atrapar _ _
fr:attrape _ _
pt:captura _ _
cont3de:wirf _
ca:llança _
es:lanzar _
fr:lance _
pt:lança _
catchtagde:ignoriere _
ca:ignora _
es:ignorar _
fr:ignore _
pt:ignora _
Sets the pen color
to one of 100 preselected colors, like a box of 100 crayons.
The colors have names that are meant to be evocative.
They are organized in families, more or less corresponding
to spectral (rainbow) colors; the input slot has a two-level menu
in which you can hover over a family name to see the colors
of that family, each including a crayon number and an RGB value.
See Appendix A of the Snap! Reference Manual for more details.grays={
0 black #000000=0
1 gray7 #121212=1
2 gray14 #242424=2
3 gray21 #363636=3
4 gray28 #484848=4
5 gray36 #5c5c5c=5
6 gray43 #6d6d6d=6
7 gray50 #7f7f7f=7
8 gray57 #919191=8
9 gray64 #a3a3a3=9
10 gray71 #b5b5b5=10
11 gray78 #c8c8c8=11
12 gray85 #dadada=12
13 gray92 #ececec=13
14 white #ffffff=14
}
pinks={
15 deep pink #ff1493=15
16 hot pink #ff69b4=16
17 bright pink #ff007f=17
18 raspberry #e30b5d=18
19 amaranth #e52b50=19
}
reds={
20 red #ff0000=20
21 burgundy #900020=21
22 cherry #990000=22
23 dark candy apple red #a40000=23
24 sanguine #c00000=24
25 maroon #800000=25
26 crimson #c90016=26
27 Lists #d94d11=27
28 candy apple red #ff0800=28
29 coquelicot #ff3800=29
}
browns={
30 saddle brown #8b4513=30
31 chocolate #7b3f00=31
32 kobicha #6b4423=32
33 sepia #704214=33
34 chestnut #954535=34
35 dark brown #654321=35
36 brown #964b00=36
37 golden brown #996515=37
38 cinnamon #b87333=38
39 copper #d2691e=39
}
oranges={
40 orange #ff7f00=40
41 Pantone orange #ff5800=41
42 pumpkin #ff7518=42
43 Variables #f3761d=43
44 Spanish orange #e86100=44
45 burnt orange #cc5500=45
46 sinopia #cb410b=46
47 ochre #cc7722=47
48 carrot #ed9121=48
49 tangerine #f28500=49
}
yellows={
50 yellow #ffff00=50
51 Control #e6a822=51
52 dark goldenrod #b8860b=52
53 goldenrod #daa520=53
54 saffron #f4c430=54
55 sandstorm #ecd540=55
56 mustard #ffdb58=56
57 gold #ffd700=57
58 egg yolk #fee33e=58
59 rubber duck #fbe108=59
}
greens={
60 lime #00ff00=60
61 apple green #8db600=61
62 Operators #62c213=62
63 forest green #228b22=63
64 green #008000=64
65 dark green #006400=65
66 dark pastel green #03c03c=66
67 emerald #50c878=67
68 mint #3eb489=68
69 Pen #00a178=69
}
cyans={
70 aqua (cyan) #00ffff=70
71 dark cyan #008b8b=71
72 cerulean #007ba7=72
73 iceberg #71a6d2=73
74 Sensing #0494dc=74
75 teal #008080=75
76 light sky blue #87cefa=76
77 deep sky blue #00bfff=77
78 dodger blue #1e90ff=78
79 azure #007fff=79
}
blues={
80 blue #0000ff=80
81 midnight blue #191970=81
82 dark powder blue #003399=82
83 cobalt #0047ab=83
84 denim #1560bd=84
85 navy blue #000080=85
86 steel blue #4682b4=86
87 Motion #4a6cd4=87
88 cornflower #6495ed=88
89 slate blue #6a5acd=89
}
purples={
90 violet #8000ff=90
91 Looks #8f56e3=91
92 grape #6f2da8=92
93 indigo #4b0082=93
94 x11 purple #a020f0=94
95 magenta (fuchia) #ff00ff=95
96 dark orchid #9932cc=96
97 Sound #cf4ad9=97
98 purple #7f007f=98
99 dark magenta #8b008b=99
}✐ last set ascrayon✐ fair?false1231Takes three inputs for hue, saturation, and value ("brightness")
values, each between 0 and 1. 0,0,0 is black; 0,0,1 is white. 0.15,1,1 is yellow, and so on.
The SET PEN block in this library lets you set individual hue, saturation, or value without changing the others, lets you provide a list of three HSV color components, and lets you
use the very much superior HSL (hue, saturation, lightness)
color space.
See Appendix A of the Snap! Reference Manual for details.pt:altera a cor da caneta para matiz _ , saturação _ e brilho _ (0 a 1)
0.30.70.6Reports the current pen color as a list of three RGB values in the range 0-255. The PEN block in this library provides a large set of ways to examine the color.
See Appendix A in the Snap! Reference Manual for details.pt:a cor da caneta em RGB (vermelho, verde e azul; 0 a 255)
Reports the current pen color as a list of three HSV values
in the range 0-1.
See Appendix A in the Snap! Reference Manual for details.pt:a cor da caneta em HSV (matiz, saturação e brilho, 0 a 1)
Don't ask.
Only for internal use by the SET PEN block.truetrueCreates a bunch of global variables.
For internal use by Color library.global✐ last set as✐ fair?✐ color scale✐ HSL✐ last crayon✐ last X11✐ raw HSL✐ raw HSV✐ X11✐ crayon colors✐ fair hue table✐ colors✐ brights✐ pivots✐ HSV brights✐ HSL brights✐ HSV colors✐ HSL colors✐ X11 catch✐ dimension names✐ dimension dispatch✐ last set asRGB✐ fair?false✐ raw HSV0100100✐ HSL010050✐ raw HSL010050value100color3.6index1index-1scale1255fromto1newHSVHSL✐ fair?truecolor300index15scale15grayscale15255fromto121✐ last set ascolor number✐ fair?true✐ raw HSL10050✐ raw HSV100100015866161216341656✐ last set asRGB✐ fair?false144partial matchestrue4matchhead matchestrueSUBSET throws here if it handles a unique match1✐ last set asHSL33✐ fair?false1✐ last set asRGB✐ fair?false✐ last set asRGB✐ fair?false✐ last set asRGB✐ fair?false✐ last set asRGB✐ fair?false04value0255131✐ last set asRGB✐ fair?false✐ last set asHSL22✐ fair?false1✐ last set asHSL✐ HSL11000100✐ raw HSL✐ fair?false1✐ last set asHSV✐ fair?false✐ raw HSV1310031100if USED TO BE fairHSL✐ fair?false1✐ last set asHSL2222✐ fair?true1✐ last set asHSL3333✐ fair?true1231322✐ last set asHSV✐ fair?true133✐ last set asHSV✐ fair?true123131pt:o texto multilinha _
Reports the part of the first string up to the first instance of the second string inside it. If the second string isn't found, reports the entire first string.pt:o texto de _ antes de _
Reports the character position (starting from 1) of the beginning of the first input string inside the second input string.
If it's not found, reports 0.pt:a posição de _ em _
If input is TRUE, comparisons made by functions in the string library will be case-independent (so "FOO" = "foo"). This is the default.
If input is FALSE, comparisons will be exact.pt:altera comparações ignorando distinção minúsculas/maiúsculas para _
Reports the portion of the first input (string) starting at the position given by the second input (counting from 1, like LETTER n OF) and ending at the position given by the third input (also counting from 1). If the third input is empty, reports the portion from the first position to the end of the string.
If a position number is negative, counts from the end backward, so -1 is the last character, -2 is the next to last, etc.pt:o texto de _ entre as posições _ e _ , inclusive
Reports the input text with lower case letters instead of capital letters in the input. Uses the user's locale's rules for case conversion.pt:em minúsculas _
err_resetThis block creates new variables on the selected scope: global (for all sprites), sprite (for this sprite only) or script (only for that blocks stack) with the names given (in 'names' list).
If there is already a variable with that name in that scope, it does nothing: no errors and no overwrites.pt:cria as variáveis _ _
ca:crea les _ variables _
es:crear las _ variables _
de:erstellen _ var _
globalglobal
sprite
scriptThis block reports "true" if there is a variable with this given name (input slot) in that context.
It can be a global, sprite or script variable.
Otherwise it reports "false".pt:a variável _ existe
ca:existeix la variable _ ?
es:existe la variable _ ?
de:existiert var _ ?
err_reset4530redgreenblue0090Takes three inputs for red, green, and blue
values, each between 0 and 255. 0,0,0 is black; 255,255,255 is white. 255,255,0 is yellow, and so on.
The SET PEN block in this library lets you set individual red, green, or blue without changing the others, lets you provide a list of three RGB color components, and lets you provide a six-digit hexadecimal number, the form in which RGB color values are usually found online.
See Appendix A of the Snap! Reference Manual for details.pt:altera a cor da tua caneta para vermelho _ , verde _ e azul _ (0 a 255)
25500-449,278134,176,101,255data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==Before clicking it, predict: what will the following MAP expression report?Mystery Filter #1Before clicking it, predict: what will the following MAP expression report?Mystery Filter #2This initializes the pixel display in the right corner, don't edit this.36,0,67,190-110160Center Pixel14-110155170-110130RGB: 123,14-110110X Y: ,14-11090Pixel Number: 12-114
\ No newline at end of file
diff --git a/middle-school/prog/picture-of-a-pixel.xml b/middle-school/prog/picture-of-a-pixel.xml
index cb48653045..c69a72fcdf 100644
--- a/middle-school/prog/picture-of-a-pixel.xml
+++ b/middle-school/prog/picture-of-a-pixel.xml
@@ -1 +1 @@
-Trainers Thursday RGB-Exploration. Draw pixels using fixed red, green and blue hues varying only their brightness.data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAADSklEQVR4nO3cu2pUURhH8W9CZs45kzGazCSCT+Az5CV8AUvttFJQbASJSkS0ELGxCZIggrciXlBUFIs8gNHCa0xIITYidrJ9g2lmMTu4V7H6P/v8yo8TEZHMMpZ9gJVd9gFWdtkHWNllH2Bll32AlV32AVZ22QdY2WUfYGWXfYCV3LdBJLJNuC2473BvZ9m+Dti24T7BCXDEBChAAQ5JgCMmQAEKcEgCFKAAhyTAERPgfw4w7lYJ7RHcQ7hVuNc12/2KjX6/6x02AQpQgAIUoAAFKEABClCAAhwrwDrOJ7ImluAuoNVxBq0Xz9DqWESjv0cVx9EEKEABClCAAhSgAAUoQAEKUIACLAjgzlwkst1+vUJfm7zrs63PstHv9xlOgAIUoAAFKEABClCAAhSgAAUowIIAxpMqoT2FewxHnye9rNno73EP7jacAEdMgAIU4JAEOGICFKAAhyRAAQpwSLsdYBNXEttluEto9PXPVDyAW0Wr4xwce00kQAEKUIACFKAABShAAQpQgAIUYEEA6esQ+vriI9xCm22jz/Zrnu3LgI32IkABClCAAhSgAAUoQAEKUIACFGBBAONWldDuwC132A5OsK1VbD8aNvr96F86C1CAAhSgAAUoQAEKUIACFOBYAdZxKrGdhWP3TcQBtG7cRJuOTbQ6TsOx1zUCFKAABShAAQpQgAIUoAAFKEABFgRwcxCJ7EOf7cUM29/9bN0WWw/uzzwbfe0kQAEKUIACFKAABShAAQpQgAIUYEEAY6VKaFc7bMcm2X532Zpgq+C2GrbnNZsABShAAQpQgAIUoAAFKEABjhUgfS3RicNok7GAtjd+orWiDzeNNh0baE1cQxOgAAUoQAEKUIACFKAABShAAQqwIID7WpHIlnps9DXHYo/tItz2gG1nbncnQAEKUIACFKAABShAAQpQgAIUYEEAYyIS2ok22/uG7WSb7cgkG33u9AbuFZwABShAAQpQgAIUoAAFKEABjhVgK2YSWSeOou2JdTR6XzsOoXVjGW0qVtC6cQNNgAIUoAAFKEABClCAAhSgAAUowIIARkQyy1j2AVZ22QdY2WUfYGWXfYCVXfYBVnbZB1jZZR9gZZd9gJVd9gFWcP8A/6Lo1X/DhLYAAAAASUVORK5CYII=Trainers Thursday RGB-Exploration. Draw pixels using fixed red, green and blue hues varying only their brightness.red
green
blue
transparencygreenblue4red
green
blue
transparencygreenblue000Posterize makes an image look like a poster by making the red, green, and blue channels of each pixel either 100% or 0% red, green, or blue.
It takes as input an image (as a table of RGB pixels) and cutoff values for each channel (red, green, and blue), and it outputs a modified image where the red, green, and blue values for pixel are changed to either 255 for 0 depending on whether the original value is above or below the cutoff for that channel.
For example, if one pixel in an image were R=213, G=135, B=245 (a light purple color) and the cutoffs were red: 225, green: 100, blue: 225, then the new pixel at that place in the image would be R=0, G=255, B=255 becuase the red channel is below the red cutoff but the green and blue channels are each above their cutoffs.
You can adjust the cutoff values to determine how much of the original red, green, and blue to exaggerate vs. remove. 0100100100154current y1current screen y-10§_costumesMenu§_costumesMenu88
16
24
32
48
64
96
128§_costumesMenu100Stagedata:image/png;base64,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
+Trainers Thursday RGB-Exploration. Draw pixels using fixed red, green and blue hues varying only their brightness.data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAiVJREFUeF7t0sEJACAAA7G6/9AKLnGfdIHCkbPtzhSIChwAo/JufwEAQUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrf+QPTo3gB63A+vwAAAABJRU5ErkJggg==Trainers Thursday RGB-Exploration. Draw pixels using fixed red, green and blue hues varying only their brightness. forward turn turnLeft setHeading doFaceTowards gotoXY doGotoObject doGlide changeXPosition setXPosition changeYPosition setYPosition bounceOffEdge xPosition yPosition direction doSwitchToCostume doWearNextCostume getCostumeIdx reportGetImageAttribute reportNewCostume reportNewCostumeStretched doSayFor bubble doThinkFor doThink changeEffect setEffect getEffect clearEffects changeScale setScale getScale show hide reportShown goToLayer goBack doScreenshot reportCostumes alert log playSound doPlaySoundUntilDone doPlaySoundAtRate doStopAllSounds reportGetSoundAttribute reportNewSoundFromSamples doRest doPlayNote doPlayFrequency doSetInstrument doChangeTempo doSetTempo getTempo changeVolume setVolume getVolume changePan setPan getPan playFreq stopFreq reportSounds clear down up getPenDown setColor setPenHSVA changePenHSVA getPenAttribute setBackgroundColor setBackgroundHSVA changeBackgroundHSVA changeSize setSize doStamp floodFill write reportPenTrailsAsCostume reportPentrailsAsSVG doPasteOn doCutFrom receiveGo receiveKey receiveInteraction receiveMessage receiveCondition doBroadcast doBroadcastAndWait getLastMessage doSend doWait doWaitUntil doForever doRepeat doUntil doFor doIf doIfElse reportIfElse doStopThis doRun fork evaluate doReport doCallCC reportCallCC doWarp doTellTo reportAskFor receiveOnClone createClone newClone removeClone doPauseAll receiveOnScene doSwitchToScene reportTouchingObject reportTouchingColor reportColorIsTouchingColor reportAspect reportStackSize reportFrameCount reportYieldCount reportThreadCount doAsk reportLastAnswer getLastAnswer reportMouseX reportMouseY reportMouseDown reportKeyPressed reportRelationTo doResetTimer reportTimer getTimer reportAttributeOf reportObject reportURL doSetGlobalFlag reportGlobalFlag reportDate reportGet reportAudio reifyScript reifyReporter reifyPredicate reportSum reportDifference reportProduct reportQuotient reportRound reportMonadic reportPower reportModulus reportAtan2 reportMin reportMax reportRandom reportEquals reportNotEquals reportLessThan reportLessThanOrEquals reportGreaterThan reportGreaterThanOrEquals reportAnd reportOr reportNot reportBoolean reportFalse reportJoinWords reportLetter reportStringSize reportUnicode reportUnicodeAsLetter reportIsA reportIsIdentical reportTextSplit reportJSFunction reportTypeOf reportTextFunction reportCompiled doSetVar doChangeVar doShowVar doHideVar doDeclareVariables doDeleteAttr reportNewList reportCONS reportListItem reportCDR reportListLength reportListAttribute reportListContainsItem reportListIsEmpty reportListIndex doAddToList doDeleteFromList doInsertInList doReplaceInList reportNumbers reportConcatenatedLists reportTranspose reportReshape reportMap reportAtomicMap reportKeep reportAtomicKeep reportFindFirst reportAtomicFindFirst reportCombine reportAtomicCombine doForEach doShowTable doMapCodeOrHeader doMapValueCode doMapListCode reportMappedCode doApplyExtension reportApplyExtension doSetVideoTransparency reportVideored
green
blue
transparencygreenblue4§_costumesMenu88
16
24
32
48
64
96
12885170255Takes three inputs for red, green, and blue
values, each between 0 and 255. 0,0,0 is black; 255,255,255 is white. 255,255,0 is yellow, and so on.
The SET PEN block in this library lets you set individual red, green, or blue without changing the others, lets you provide a list of three RGB color components, and lets you provide a six-digit hexadecimal number, the form in which RGB color values are usually found online.
See Appendix A of the Snap! Reference Manual for details.pt:altera a cor da tua caneta para vermelho _ , verde _ e azul _ (0 a 255)
2550088
16
24
32
48
64
96
128851702554530data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==
\ No newline at end of file
diff --git a/middle-school/prog/visualizing-data.xml b/middle-school/prog/visualizing-data.xml
index 9fd0f94246..8123199d11 100644
--- a/middle-school/prog/visualizing-data.xml
+++ b/middle-school/prog/visualizing-data.xml
@@ -1 +1 @@
-data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAI8UlEQVR4nO3d+1NT6RkHcP+4bn/oTGfwMm1XxhsV8IJV0WJBTQUHHFlXdHpR6mi9IEZYYV1EdhHcnUAEEiIoEBGSQEKQkAAxISQ5Icm3PzDYFbOc1HN5p5PvZ+b8lnmeZ5gv5yQn73mzBUTiDG0RPQHlNAaQhGIASSgGkIRiAEkoBpCEYgBJKAaQhGIASSgGkIRiAEkoBpCEYgBJKAaQhGIASSgGkIRiAEkoBpCEYgBJKAaQhGIASSgGkIRiAEkoBpCEYgBJKAaQhGIASSgGkIRiAEkoBpCEYgBJKAaQhGIASSgGkIRiAEkoBpCEYgBJKAaQhGIASSgGkIRiAEkoBpCEYgBJKAaQhGIASSgGkIRiAEkoBpCEYgBJKAaQhGIASSgGkIRiAEkoBpCEYgBJKPkADg8Po66uTo9hKPfIB7CmpgZbt27VYxjKPbwEk1DyATSbzdi+fbsew1Duye4MeOHCBa0HodwkH8DW1lYcOnRIj2Eo98gHsLm5GeXl5XoMQ7lHPoBTU1M6zEE5Sj6Ac3NzKCoq0mMYyj3ZfQiZn5/XehDKTfIBLCwsRGFhoR7DUO6RD6DH40Fpaakew1Duye4SvGPHDq0Hody0eQDNZjNisRi2bdum10CUWzYP4MLCAgDA5/PpMg3lnM0DWFZWhu7ubq6GIa1k9x5waGhI60EoN3E5FgnFAJJQ8gGsqKjA8ePH9RhGFUs+JyKhBdFjUHbkA3jp0iWcOnVKj2EUSyVXEfS74Zn4EQuzk6LHIXnyAXS5XP83X8Utv5+FzzuEWDyMRZ9L9DgkTz6AxcXF2L9/vx7DKBIO+jD49Gu89w8gMPcarpF20SORPPkAer1enDlzRo9hFFlNxGFuLEXP3T3ob63C666rokciefIBPHjwIHbv3q3HMIqN/1gPz7MSONuLsDA1IHockicfwIaGBuzZs0eHWZSLLS9gprMYU0/2IJUSPQ1lIbv7gOl0WutBVJFMxDDRtAOOb34nehTKjnwAu7u7VXsueNHnRCQUUKVWZmn4vaOQYhENe5CKsjsDXrlyRXGnVDKBoN+DqbHvMT89prheJslEDD73AJZDc5rUJ9XJB7CzsxP5+fmKOy2H3mFuxoa4FIF/9q3iehulkgnMT79AOOLHkn8SqeSq6j1IdfIBvHnzpuIl+ZHQIqztX+G934LA3Chcr9sU1ctk7EUDnK++g9/9HD53L2YdNtV7kOr0WYyQSiVhvn9s7R5dyzm87lJ+Sd/IazfB0nYBvXf2wvp9HSYHmlTvQarTbzXMRM9tuDsPwtlehICzV5MePf/4DTzdRzD28EtN6pPq5APo8/mwsrKiuFMiHoHnh0K4Owqg1V0dS+NxBGznYf9mlzYNSG3yAezo6FDloaRUchVvjVvhaNZuqzeX9RG83SWYePoXzXqQquQDWFRUhKYmdd5P+WdGEF8Jq1IrEym6jKDfhVQyqVkPUpV8AOvq6lBWVqa409o9OgtWIhotFk2nEV8JYqz3OmbeWrTpQWqTD6DVasWuXcreU6XTKfjd/QgtzyO0NI3VhKSoXiYB7xicw82ISiuYemNSvT5pIrtPwT09PYq62PsewDH0LQIzJvg8fXCP9ymqt1E6nYK1rQqLvkH4vQOYdXZhNRFTtQdpYvMAtrW14dy5c8jLy1PUxecchOVxFcz39sLy5CLGe+8oqpdJz71j6G+tQN+D4xjqvIJENKR6D1JddmdAk0n5Jc3097V7dPamLzW5DZOIh/Gm+Q/wdJXg1aM/qd+AtKDfjWiL8c8I2M5jzKjdRkfWf/0afutf8e51q2Y9SFX6BdA93A5vdwnetGi34Xnv376A59kBRINezXqQquQDaLGoc0tDikWwNO9EOqXdPbolnxPL79XbzTWVSiLgHYMUXVatJn1EPoB2ux0nT55U1CWdTkGKBjHW80/MvNXmWY219YbTcI93IeCdUKXmqhSFd/InhIOzqtSjT2R3CZ6cVPaQt39mFI6hh4hKK3COPVdU65eEg1688wyuPRM851RcLxGPYM5pQjgSwIJvHMnVhApT0gbZPRVXUFDw2R3S6TSs31ViwTcIv7cf71zPkZCin10vk9DSHGwdX+N9wIYF3yimRjsU1xwx/RtTo+0IzPTA5zHjnWtYhUlpg+x+pqGmpkZRF9PdYxj49gz6HhzD0LOrkFaCiuptlFyVYG44AvO9veh/dBavOi8prjn96gdYHlfiRcMfYW3/Cq6Xj1WYlDbYPIB5eXkYHh5GIqHs8pNcjcH+8PfwdB3By8bPP5tuZvynG2vrDZ8UYtE9qELFNF7U/xae7iMYNXJ9oUbkA1hUVKTKDqkD13+FwGAlPIMNimtlEltehKezGNPte1W70W25X7K2vrBFm38a0vE+YM/VL+DpOoiVJbcm9VelGN4at2GySb31hpO9t+HtOgxHZ6VqNekj3KCShGIASajPC2BHRwcPHh8d6z/poUsAiVTCAJJQDCAJpTyA61u3SZKU8YZ1NPrp127BYBDxePyj75ifPn26aZ/12pKU+XmS9R/TMZvNAIBYLAar1So7fzwel30NaUadM6DNZsPly5c/fGVXXV0Ng8GARCKBnTt34uXLlx9eOz4+DgAwGo3Iz89HbW0tJEmCwWBAKBRCRUUFGhsbP+nhdDqRSqXgcDhw+vRp1NfX4/Dhwx+2D17fvyb5s0cyjx49CgA4e/Ys7tz59DGA9X+Cixcv4v79+6iqqkIoFML58+fhcrmwb98+lJeXIxwOo6KiAtevX8eJEydQW1urxp+N1Aqg0WiEwWBALLb2INDo6OiHM8uBAwfgdP53dYrD4YAkSRgZGUF1dfWHhQ6lpaVIJpPo7+9HcXFxxj7Xrl0DANy6dQsFBQW4ffs2AoG1/QZbWloAZA7g3bt3UVJS8kk9SZLQ29sLg8GAxcVFAEA4HIbdbkd9fT0qKyths9kwMTGBkZER9PX14caNG2hubv78Pxb9nJj3gJFI5g0kY7EYbLZf3tVq/TL8v142N3t9MsND7JnmM5lMmJ2dRYp7/6qJH0JIKAaQhBraAmCSBw9Bx+P/ACbl/7cMvrmnAAAAAElFTkSuQmCC forward turn turnLeft setHeading doFaceTowards gotoXY doGotoObject doGlide changeXPosition setXPosition changeYPosition setYPosition bounceOffEdge xPosition yPosition direction doSwitchToCostume doWearNextCostume getCostumeIdx reportGetImageAttribute reportNewCostume reportNewCostumeStretched doSayFor bubble doThinkFor doThink changeEffect setEffect getEffect clearEffects changeScale setScale getScale show hide reportShown goToLayer goBack doSwitchToScene doScreenshot reportCostumes alert log playSound doPlaySoundUntilDone doPlaySoundAtRate doStopAllSounds reportGetSoundAttribute reportNewSoundFromSamples doRest doPlayNote doPlayFrequency doSetInstrument doChangeTempo doSetTempo getTempo changeVolume setVolume getVolume changePan setPan getPan playFreq stopFreq reportSounds clear down up getPenDown setColor setPenHSVA changePenHSVA getPenAttribute setBackgroundColor setBackgroundHSVA changeBackgroundHSVA changeSize setSize doStamp floodFill write reportPenTrailsAsCostume reportPentrailsAsSVG doPasteOn doCutFrom receiveGo receiveKey receiveInteraction receiveMessage receiveCondition doBroadcast doBroadcastAndWait getLastMessage doSend doWait doWaitUntil doForever doRepeat doUntil doFor doIf doIfElse reportIfElse doStopThis doRun fork evaluate doReport doCallCC reportCallCC doWarp doTellTo reportAskFor receiveOnClone createClone newClone removeClone doPauseAll reportTouchingObject reportTouchingColor reportColorIsTouchingColor reportAspect reportStackSize reportFrameCount reportYieldCount reportThreadCount doAsk reportLastAnswer getLastAnswer reportMouseX reportMouseY reportMouseDown reportKeyPressed reportRelationTo doResetTimer reportTimer getTimer reportAttributeOf reportObject reportURL doSetGlobalFlag reportGlobalFlag reportDate reportGet reportAudio reifyScript reifyReporter reifyPredicate reportSum reportDifference reportProduct reportQuotient reportRound reportMonadic reportPower reportModulus reportAtan2 reportMin reportMax reportRandom reportEquals reportNotEquals reportLessThan reportLessThanOrEquals reportGreaterThan reportGreaterThanOrEquals reportAnd reportOr reportNot reportBoolean reportFalse reportJoinWords reportLetter reportStringSize reportUnicode reportUnicodeAsLetter reportIsA reportIsIdentical reportTextSplit reportJSFunction reportTypeOf reportTextFunction reportCompiled doSetVar doChangeVar doShowVar doHideVar doDeclareVariables doDeleteAttr reportNewList reportCONS reportListItem reportCDR reportListLength reportListAttribute reportListContainsItem reportListIsEmpty reportListIndex doAddToList doDeleteFromList doInsertInList doReplaceInList reportNumbers reportConcatenatedLists reportTranspose reportReshape reportMap reportAtomicMap reportKeep reportAtomicKeep reportFindFirst reportAtomicFindFirst reportCombine reportAtomicCombine doForEach doShowTable doMapCodeOrHeader doMapValueCode doMapListCode reportMappedCode doApplyExtension reportApplyExtension doSetVideoTransparency reportVideo🍎
🥦
🥐
🍞
🧀
🧇
🍕
🥗
🍲
🍦
🧁
🎂
🍪
🍵
🧋
🍽
🥡
🎟
🎨
🎼
🎮
🎤
🎧
🚗
🚲
🏖
🌅
🏙
📱
🖥
⏰
💰
💎
🎊
🗓
📓
📚
❤️
🐶
🐣
🎄
🐲
🍄
🌞
⛈
🌈
🔥10-200-15090300-210-14012smallest to largest
largest to smallest
alphabetical (A-Z)largest to smallestsmallest to largestdata:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAgAElEQVR4nO3de3BV9d3v8UVrPba16vSxOo7O0+cZnzq91xZOPbUdjbdiavb6fvc+3WqVjuB1tJV6oZVW2weP5TIoVOuF4eKFlEuQKAQUghIgIVcIIVeSECAh5EJCEmIgYID0e/5wpZOToyZEzW8neb9m1gx77f3b+/v7ktmfvdZea23PAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP8nLi7ujPj4+P/hug4AAEYV3/dvF5ElrusAAGBUIYABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYA4NMzZqAPJIABABgkEXlYRIpV9ecikqmq3ar67EDGEsAAAAySqs4XkY5wOPwzVe32fT+qql3RaPSL/Y0lgAEAGCRVfSfYCp4sIo2e53kiUuf7/k/7G0sAAwAwSKr6kqo+o6ovi8i7vu9fGGwJX9jfWAIYAIBBUtUfq2pXELq3qmqzqlo4HL6sv7EEMAAAn0A0Gj07Pj7+a57neSJyhe/7V0Wj0c/3N44ABgBgkKLR6Nm+748bzFgCGACAQVLVFapa3Xvd2LFjvzCQsQQwAACDpKqvqeqG3utEpDMajZ7b31gCGACAQfJ9/4ci0un7/vd71qlqVzgcvmAAYwlgAAAGQ1XvEpFOVe0SkQIRKQiOgiaAAQD4rIjIQlXdGVyM42EReVhVuwlgAAA+Q77v+6oa33udiJRHo9GzBzCWAAYA4JOKi4s763QeTwADAPAJiMhfg19BMlVtHuh5wQQwAACDFIlELlHVbhGZ6/u+HxyIVTSQsQQwAACDJCKze58HHB8ff46InAyHw//W31gCGACAQRKRhSKS1HM7Go2eKSInVfU/+htLAAMAMEihUOg7InLS9/3bI5HIRSKS1PfSlB+FAAYA4BMQkTXBAVgWhLE/kHEEMAAAgxQXF3dGXFzcGZFI5BLf938ajUa/ONCxBDAAAIOkqs+r6hue54053bEEMAAAgxRcitJEpENVn2ALGACAIaCqT4jIn1R1oqrWBEdAzx/IVbEIYAAABm9MsHiqep6qpqmq+b5/Y38DCWAAAAZJRJ5T1c3B0q2qe0XkloGMJYABABikXt8BZ/m+/9PTGUsAAwAwSCJyn4jcN5ixBDAAAJ8iEUmKRqNn9vc4AhgAgEGKi4s7S1X/GPwKUrmIlKuqxcfHf62/sQQwAACDJCIPiEiniDSKSLqI1IpIxUDGEsAAAAySqm4QkbnB6Uf3RyKRi4LrQp/X31gCGACAQQqOgt4Q/C7wMs/zxqhqt+/74/obSwADADBIoVDoRyKyyff9caraLSJtItI5kLEEMAAAn4JIJHKJqv5xIAdgeR4BDADAp0pVfzyQxxHAAAB8ilS1i9OQAAAYYqraFQ6HL+jvcQQwAACnqeeCGx+1EMAAAHwGVLXG9/3b4+Pjz+m7iMhJAhgAgM+Aqm7+qHN9ReT4+PHjv9rfcxDAAAB8ihISEi4eyOMIYAAAHCCAAQA4TSKSIiKTVfXHvu//vs99f42Lizujv+cggAEAOE0iUiEi94nIZBHZ3uc+DsICAOCzoKovBz8/OFNEykOh0Hd6FlXtJoABAPgMiMj3RKSs17m/3b0WzgMGAOCzxC5oAAAcSEhIuDgUCl3be52q/nogYwlgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGACAT5GIPMaPMQAA8BlS1UtFZL2I1Ktqc7BYOBz+t/7GEsAjU/2ebVdWl6XPr63MfGNf6dYnSjJTxuXPn/8F13UBwIiiqitUdbfv+7eKyC9E5BfhcPjqgYwlgEemnZs3n1eZt07rqrK7musLrbm+4lBZ1urpa5959HzXtQHAiKGq/62qR1T1CVW9S1XvEpHOaDR6bn9jCeCRa39ZwbdbGquaasrWWFtjibUfOnAyf8PLL746beJZrmsDgBFBRGYGv4ZUraq7VXW3iBTHxcX1+0ZLAI88Za9PO7OufONlTbVVqYdb9tquzHm2t3iNdb3fbtUl6XvffPa+G1zXCAAjgoisUdXk3utU9bVoNHpmf2MJ4JFj87S4M0o3Jf2gtbF8Skfrvm0drdVWXbzKijfPtZrKTdZx5JDtK81oXT//0Xtd1woAI4Kqzgm2gNt7Lfwe8ChTlLbw2obK3NxTXUfMrNvam0tsf2myHdj9jjUfqrKjnS1Wnr+ueuWcSQmuawWAEUFE5gYHYsX1LCLSER8ff05/YwngkWN3wVsvHe1osub9OVZdmmKtLXvs6PEWO9Z1xE6c6rIjHY1WmvtmdWbK877rWgFgxBKRJHZBjy6l6a890d5W19l2sNR2ZTxvZdmLrLl5vx0/dcqOHWu19uZya9iXfWLXjrU5WW+/eLnregFg2IuLiztLVf8oIgUiUi4i5apq8fHxX+tvLAE8MuSnPXVp2isPrijekniyvWWfNVSlWmHqVCvNmGP1NblWX5NnNSXJVrsryaq2LbJ1CyY/6Hne51zXDQDDmog8ICKdItIoIukiUisiFQMZSwAPf2lpay/OSpmeunXp5M68NbNtz8611tKQbW31G62hcqXV737bmuoKrKE63eqq1tnu/CTLWfPCrNx1S/r9igIA8DFUdUPwPXCaqt4fiUQuCg7KOq+/sQTw8Ldx6ZPXlG9/4/2K7IVWmDrDdm9fam0tlXbinyfs/VPH7FhXux3tbLb2lnJrbSq2pvpCqyhKbS3ZufJK17UDwLAmIguDEJ6tqss8zxujqt2+74/rbywBPPzNvfeb30tb/lRN4748a6z54ACsyvwVtrdsgzXVl9nhwwfsvffqrPVQqTXXbbXDTTlWkr7AUhdPvd517QAwrIVCoR+JyCbf98epareItIlI50DGEsAjwpgN8+6+f8O8O5tzVz1lBZtetey1T9vGhbdZ2oJbLXPZHyxv7Vwr2JJoZdtXW8W2ZZaT/HhhVuLk77ouHABGjEgkcomq/nEgB2B5HgE8Uhwsyrpgw9M/T9s4c5xtfel6K0qeZFWpD1nl+oesYMWdlvVy1DIWRCxjfti2/D3eNs2f8Gcz45KUAPBJxcfHnyMiD/i+f5WqXu77/vcHMo4AHjkylz38+8x5N7VVpdxhrTuetKN7F9qxA8vtaM1iO1z2N2vOedz2rJ5gOYv8+vzlU65wXS8ADHtjx479goh0qKoFu6IfEZG6gYwlgEeOjo7K89MXTkrKePHGU1UpE60hY4o1Zk21xqypdmDzI7ZnzZ22I/GXxwpW/m5Wfr7x04QA8EmFw+E7VLVGRCaLSEY0Gj1XVS0SiVzU31gCeGTJffMvv1k//Wft2+Zda+VJEatMvsUqV95spUvCtn3edZY294a9Ramzb3RdJwCMCKq6QVVnqOqvRSQjWHfE9/2f9jeWAB5Zdm1belXq7BsO5D5/tZUnRax6/T1Wvf5e27U8bIWLrrfMeX5mbcmqS13XCQAjQnAa0s5wOHyHiGREIpGvi8jJsWPH9rubkQAeWY4e3XfhO3P97XnzrrPa1LutpWC6teycYbWpd1vpstA/ty+5/R+bN3PwFQB8KiKRyCUiclJVu0TkuIicFJE1AxlLAI8s+Q32pY0v3JKa/cI1tj/1Lju0Y5odyp9mtesmWnFi6ET+snvmmNkY13UCwIgRCoX+U1X/EVyKcvpAtn49jwAeacxszJZF9yzIfO7qE/tSbreD2Y/ZwezHrDrlV1a0OKGtMGXKb13XCAAjRjQaPXsgV736MATwyJOR+NCMLXOuOl618mZrzHjEGrY+YtWrb7XCxX5DxbuzbnZdHwCMGMFvAVf3XscW8OiVt2rGXWkzf/JeySvXWc1bE636rTusInG8bV9wU3lZ9uIfuq4PAEYMVX1NVTf0XicindFo9Nz+xhLAI8/unMRv5bw6Kakw8ZaCiuQJFbten7CraMltecXJk2cePFj0Zdf1AcCI4fv+D0Wks/fVr1S1KxwOXzCAscMmgOv3bLuyuix9fm1l5hv7Src+UZKZMi5//nwuKNEHfQKAIaKqd4lIZ3AUdIGIFKiqjbQA3rl583mVeeu0riq7q7m+0JrrKw6VZa2evvaZR893XVssoU8AMER6zgMWkYd7FlXtHmkB7Hmet7+s4NstjVVNNWVrrK2xxNoPHTiZv+HlF1+dNpFzW3uhTwAwBHzf91U1vvc6ESmPRqNnD2DssAjgstennVlXvvGyptqq1MMte21X5jzbW7zGut5vt+qS9L1vPnvfDa5rjAX0CQCGiVgP4M3T4s4o3ZT0g9bG8ikdrfu2dbRWW3XxKivePNdqKjdZx5FDtq80o3X9/EfvdV2rS/QJABwQkdtEJEtVXw5uzw2Hw1cPZGysB3BR2sJrGypzc091HTGzbmtvLrH9pcl2YPc71nyoyo52tlh5/rrqlXMmJbiu1SX6BAAOqOofgp8inO55nicis1W1eSBjYz2Adxe89dLRjiZr3p9j1aUp1tqyx44eb7FjXUfsxKkuO9LRaKW5b1Znpjzvu67VJfoEAA6oarKqpvXcDn4f+KTv+xf2NzbWA7g0/bUn2tvqOtsOltqujOetLHuRNTfvt+OnTtmxY63W3lxuDfuyT+zasTYn6+0XL3ddryv0CQAcEJG3RSS953Y0Gj1bVbsHcnnKWA7g/LSnLk175cEVxVsST7a37LOGqlQrTJ1qpRlzrL4m1+pr8qymJNlqdyVZ1bZFtm7B5Ac9z/uc67qHGn0CAEdU9V5V7VbV+xMSEr6hqmtVtWs4/xxhWtrai7NSpqduXTq5M2/NbNuzc621NGRbW/1Ga6hcafW737amugJrqE63uqp1tjs/yXLWvDArd92Sc1zXPpToEwA4FuyGtmDpEpFfDGRcrAbwxqVPXlO+/Y33K7IXWmHqDNu9fam1tVTaiX+esPdPHbNjXe12tLPZ2lvKrbWp2JrqC62iKLW1ZOfKK13XPpToEwDEgPHjx39VVS+Pi4s7Y6BjYjWA5977ze+lLX+qpnFfnjXWfHBgUWX+CttbtsGa6svs8OED9t57ddZ6qNSa67ba4aYcK0lfYKmLp17vuvahRJ8AYJiK1QD2PG/Mhnl3379h3p3NuauesoJNr1r22qdt48LbLG3BrZa57A+Wt3auFWxJtLLtq61i2zLLSX68MCtx8nddFz7E6BMADEcxHMDewaKsCzY8/fO0jTPH2daXrrei5ElWlfqQVa5/yApW3GlZL0ctY0HEMuaHbcvf423T/Al/NrNRd6lF+gQAw1AsB7DneV7msod/nznvpraqlDusdceTdnTvQjt2YLkdrVlsh8v+Zs05j9ue1RMsZ5Ffn798yhWu63WFPgHAMBPrAdzRUXl++sJJSRkv3niqKmWiNWRMscasqdaYNdUObH7E9qy503Yk/vJYwcrfzcrPt1H7k3v0CQCGmVgPYM/zvNw3//Kb9dN/1r5t3rVWnhSxyuRbrHLlzVa6JGzb511naXNv2FuUOvtG13W6Rp8AYBgZDgG8a9vSq1Jn33Ag9/mrrTwpYtXr77Hq9ffaruVhK1x0vWXO8zNrS1Zd6rpO1+gTAAwjwyGAjx7dd+E7c/3tefOus9rUu62lYLq17Jxhtal3W+my0D+3L7n9H5s3c1ARfQIAB+Lj488RkQd8379KVS/3ff/7Axk3HAI4v8G+tPGFW1KzX7jG9qfeZYd2TLND+dOsdt1EK04Mnchfds8cMxvjuk7X6BMADLHgxxc6gl9E2uT7/iMiUjeQscMhgM1szJZF9yzIfO7qE/tSbreD2Y/ZwezHrDrlV1a0OKGtMGXKb13XGAvoEwAMsXA4fIeq1ojIZBHJiEaj56qqRSKRi/obOxwC2PM8LyPxoRlb5lx1vGrlzdaY8Yg1bH3EqlffaoWL/YaKd2fd7Lq+WEGfAGAIqeoGVZ2hqr8WkYxg3RHf93/a39jhEsB5q2bclTbzJ++VvHKd1bw10arfusMqEsfb9gU3lZdlL/6h6/piBX0CgCEkIgtVdWc4HL5DRDIikcjXReTkcP41pL525yR+K+fVSUmFibcUVCRPqNj1+oRdRUtuyytOnjzz4MGiL7uuL1bQJwAYQpFI5BIRORn8CtJxETkpImsGMna4BHD9nm1XVpelz6+tzHxjX+nWJ0oyU8blz5/PBSX6oE8AMMRCodB/quo/RCRdRKYPZOvX84ZPAO/cvPm8yrx1WleV3dVcX2jN9RWHyrJWT1/7zKPnu64tltAnABhC0Wj0i+Fw+Fs9B135vn/hQMcOlwD2PM/bX1bw7ZbGqqaasjXW1lhi7YcOnMzf8PKLr06byLmtvdAnABgiqvpscApSbXA7X0TeHMjY4RDAZa9PO7OufONlTbVVqYdb9tquzHm2t3iNdb3fbtUl6XvffPa+G1zXGAvoEwAMMVWdISIdPVu+vu+PE5GT0Wj08/2NjeUA3jwt7ozSTUk/aG0sn9LRum9bR2u1VRevsuLNc62mcpN1HDlk+0ozWtfPf/Re17W6RJ8AwBEReVdEkvqsO66qP+5vbCwHcFHawmsbKnNzT3UdMbNua28usf2lyXZg9zvWfKjKjna2WHn+uuqVcyYluK7VJfoEAI6o6iJVbem5LSJXjIQLcewueOulox1N1rw/x6pLU6y1ZY8dPd5ix7qO2IlTXXako9FKc9+szkx53nddq0v0CQAciUQiX1fVblVtF5F0Ve0WkfSBjI3lAC5Nf+2J9ra6zraDpbYr43kry15kzc377fipU3bsWKu1N5dbw77sE7t2rM3JevvFy13X6wp9AgCHEhISviEib6pqnoj8dSDf/3pe7AZwftpTl6a98uCK4i2JJ9tb9llDVaoVpk610ow5Vl+Ta/U1eVZTkmy1u5KsatsiW7dg8oOe533Odd1DjT4BQIyJRqPnDuRxsRjAaWlrL85KmZ66denkzrw1s23PzrXW0pBtbfUbraFypdXvftua6gqsoTrd6qrW2e78JMtZ88Ks3HVLznFd+1CiTwAQg4KDsM7r73GxGMAblz55Tfn2N96vyF5ohakzbPf2pdbWUmkn/nnC3j91zI51tdvRzmZrbym31qZia6ovtIqi1NaSnSuvdF37UKJPABCDVLUrHA5f0N/jYjGA5977ze+lLX+qpnFfnjXWfHBgUWX+CttbtsGa6svs8OED9t57ddZ6qNSa67ba4aYcK0lfYKmLp17vuvahRJ8AwIH4+PiviUiniEwXkSmq2tRnseEawJ7njdkw7+77N8y7szl31VNWsOlVy177tG1ceJulLbjVMpf9wfLWzrWCLYlWtn21VWxbZjnJjxdmJU7+ruvChxh9AoChFo1GPy8ifxGRK0VkoYhk6P+rexgHsHewKOuCDU//PG3jzHG29aXrrSh5klWlPmSV6x+yghV3WtbLUctYELGM+WHb8vd42zR/wp/NbNRdapE+AYBDIvK4iPyp97rhvAu6R+ayh3+fOe+mtqqUO6x1x5N2dO9CO3ZguR2tWWyHy/5mzTmP257VEyxnkV+fv3zKFa7rdYU+AUAMEZEn4+LizujvcbEcwB0dleenL5yUlPHijaeqUiZaQ8YUa8yaao1ZU+3A5kdsz5o7bUfiL48VrPzdrPx8G7U/uUefAGAYiuUA9jzPy33zL79ZP/1n7dvmXWvlSRGrTL7FKlfebKVLwrZ93nWWNveGvUWps290Xadr9AkAhplYD+Bd25ZelTr7hgO5z19t5UkRq15/j1Wvv9d2LQ9b4aLrLXOen1lbsupS13W6Rp8AYJiJ9QA+enTfhe/M9bfnzbvOalPvtpaC6dayc4bVpt5tpctC/9y+5PZ/bN7MQUX0CQCGmVgP4PwG+9LGF25JzX7hGtufepcd2jHNDuVPs9p1E604MXQif9k9c8xsjOs6XaNPADDMxHoAm9mYLYvuWZD53NUn9qXcbgezH7OD2Y9ZdcqvrGhxQlthypTfuq4xFtAnABhmYj2APc/zMhIfmrFlzlXHq1bebI0Zj1jD1kesevWtVrjYb6h4d9bNruuLFfQJAIaR4RDAeatm3JU28yfvlbxyndW8NdGq37rDKhLH2/YFN5WXZS/+oev6YgV9AoAhFhcXd8ZAzvn9MMMhgHfnJH4r59VJSYWJtxRUJE+o2PX6hF1FS27LK06ePPPgwaIvu64vVtAnABhiqvq8qr7hed5pH2QzHAK4fs+2K6vL0ufXVma+sa906xMlmSnj8ufP54ISfYzWPo3WeQOIASKyUFVNRDpU9YloNPrFgY4dDgG8c/Pm8yrz1mldVXZXc32hNddXHCrLWj197TOPnu+6tlgyWvs0WucNIAao6hMi8idVnaiqNSJyUlXnx8XF9Xve53AIYM/zvP1lBd9uaaxqqilbY22NJdZ+6MDJ/A0vv/jqtImc29rLaO3TaJ03APfGBIunquepapqqmu/7/V56MNYDuOz1aWfWlW+8rKm2KvVwy17blTnP9havsa732626JH3vm8/ed4PrGmPBaO3TaJ03gBghIs+p6uZg6VbVvSJyy0DGxmoAb54Wd0bppqQftDaWT+lo3beto7XaqotXWfHmuVZTuck6jhyyfaUZrevnP3qv61pdGq19Gq3zBhBjen0HnOX7/k9PZ2ysBnBR2sJrGypzc091HTGzbmtvLrH9pcl2YPc71nyoyo52tlh5/rrqlXMmJbiu1aXR2qfROm8AMUZE7hOR+wYzNlYDeHfBWy8d7Wiy5v05Vl2aYq0te+zo8RY71nXETpzqsiMdjVaa+2Z1ZsrzvutaXRqtfRqt8wYwDIhIUjQaPbO/x8VqAJemv/ZEe1tdZ9vBUtuV8byVZS+y5ub9dvzUKTt2rNXam8utYV/2iV071uZkvf3i5a7rdWW09mm0zhtAjImLiztLVf8oIgUiUi4i5apq8fHxX+tvbCwGcH7aU5emvfLgiuItiSfbW/ZZQ1WqFaZOtdKMOVZfk2v1NXlWU5JstbuSrGrbIlu3YPKDnud9znXdQ2209mm0zhtADBKRB0SkU0QaRSRdRGpFpGIgY2MtgNPS1l6clTI9devSyZ15a2bbnp1rraUh29rqN1pD5Uqr3/22NdUVWEN1utVVrbPd+UmWs+aFWbnrlpzjuvahNFr7NFrnDSBGqeoGEZkbnH50fyQSuUhVTVXP629srAXwxqVPXlO+/Y33K7IXWmHqDNu9fam1tVTaiX+esPdPHbNjXe12tLPZ2lvKrbWp2JrqC62iKLW1ZOfKK13XPpRGa59G67wBxKjgKOgNIjJbVZd5njdGVbt93x/X39hYC+C5937ze2nLn6pp3JdnjTUfHGBTmb/C9pZtsKb6Mjt8+IC9916dtR4qtea6rXa4KcdK0hdY6uKp17uufSiN1j6N1nkDiFGhUOhHIrLJ9/1xqtotIm0i0jmQsbEWwJ7njdkw7+77N8y7szl31VNWsOlVy177tG1ceJulLbjVMpf9wfLWzrWCLYlWtn21VWxbZjnJjxdmJU7+ruvCh9ho7dNonTeAWBeJRC5R1T8O5AAsz4vJAPYOFmVdsOHpn6dtnDnOtr50vRUlT7Kq1Iescv1DVrDiTst6OWoZCyKWMT9sW/4eb5vmT/izmY26Sw6O1j6N1nkDiDEi8hcRmS0ig/qOKxYD2PM8L3PZw7/PnHdTW1XKHda640k7unehHTuw3I7WLLbDZX+z5pzHbc/qCZazyK/PXz7lCtf1ujJa+zRa5w0gRowdO/YLwcFWKwZy3ecPE6sB3NFReX76wklJGS/eeKoqZaI1ZEyxxqyp1pg11Q5sfsT2rLnTdiT+8ljByt/Nys+3UfvTc6O1T6N13gBiRE8AR6PRM0WkODgH+AHP8zzf9y8cyHPEagB7nuflvvmX36yf/rP2bfOutfKkiFUm32KVK2+20iVh2z7vOkube8PeotTZg/rgMZKM1j6N1nkDiAE9Aex5nqeqd6nq7mg0eq7neZ6IHB8/fvxX+3uOWA7gXduWXpU6+4YDuc9fbeVJEatef49Vr+t0k/AAAAkwSURBVL/Xdi0PW+Gi6y1znp9ZW7LqUtd1ujZa+zRa5w0gBvQEsIjMVNVkVW0RkZnB7e5wOHxBf88RywF89Oi+C9+Z62/Pm3ed1abebS0F061l5wyrTb3bSpeF/rl9ye3/2LyZg2tGa59G67wBxIBe3wHnfchiwz2A8xvsSxtfuCU1+4VrbH/qXXZoxzQ7lD/NatdNtOLE0In8ZffMMbMxrut0bbT2abTOG0BsGCMi737YHSLydjQa/WJ/TxDLAWxmY7YsumdB5nNXn9iXcrsdzH7MDmY/ZtUpv7KixQlthSlTfuu6xlgwWvs0WucNYISI5QD2PM/LSHxoxpY5Vx2vWnmzNWY8Yg1bH7Hq1bda4WK/oeLdWTe7ri9WjNY+jdZ5AxgBYj2A81bNuCtt5k/eK3nlOqt5a6JVv3WHVSSOt+0Lbiovy178Q9f1xYrR2qfROm8AI0CsB/DunMRv5bw6Kakw8ZaCiuQJFbten7CraMltecXJk2cePFj0Zdf1xYrR2qfROm8AI0CsBzAAACMSAQwAgAMEMAAADhDAAAA4QAADAOAAAQwAgAOhUGii7/urVfVSFhYWFhaW01kG8qM/+Ai+7/9WRFpVdQ8LCwsLC8vpLCIyxXWOAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAuFAr9u+/7F7quYyB83/9KKBT6pus6PomRMAcAwMcYO3bsFyKRyCXRaPTMnnXx8fHnRCKRi3o/TlV3q2ry6Tx3NBo92/f9/xpsXSJyparGh8PhCxISEi4Wke+paouIvPBxY0XkBVVtHszrDlQ4HP63oG/net4Hc41EIpf07dtgfdQcRKRKRNpEpKrvfaq6LLivbbB9P12+73/F9/0bVfXH0Wj080PxmgAwIqjqXapqqrrb8zxv/PjxX1VVE5HOUCj0770fFwqFrj2d5xaR34hI8enW5Pv+jSLSqaotQfCbiGREo9HPq+oyVU3rZ/xVqnr/6b7u6RCRxqBveZ7neaqarKpdInI8Eol8/ZM+/0fNwff9//J9/1YROdn3vnA4fEEoFPpfqtrl+/64T1pDf1R1ooicFJHG4P+rOSEh4Ruf9esCwIghIh0icjISiXxdRP6kqt09W7uhUOibItIpIsdF5PE+4+pVtTkIyW4RyezZklbVh0SkNHhjXhZsnYX6q2X8+PFfDd7U/9TrdZ4Tkazg37OC12xX1S5VfaZvTUGt7/Zer6o1qtosIstVtV1Ean3fjwy2Z6FQ6D9V1RISEi7u9RpNqjohqOPK4HZ38HqPBeO+E/SzrGcOIvLcQObQIyEh4RsfFsC9xnf2DeCPqmewEhISLg6ea2LPOlVN69kyF5GlInJcVV9T1VeD+Rzv+VCnqi8HfxvdIlLQs+cg+NDWqap5wf9ve09PPc/zotHouSIyV0TaVHVn8Ld3JBqNnhv0pSx4zpOqujYuLu6sTzJPAPhMBW+Ob6vqs6pararrROTt4O4xvu//UFXz+u76DYfDEmydLg+2Wo/7vn9r8JxTRKQ4CJtEEUn0ff+m/mrxfT+iqtZnV+4YVf2P4HlnBVue9weLRaPRs3semJCQ8A1VfaZni75HKBS6NhjXJCKPiUi6qnbHx8efM8i29eyWfzaoe5yqdsXFxZ0RvN6PROTJcDh8WfBh5KTneWOCubwc1PJgrz0Q5/U3h973n24Af0w9g537r1XVfN//Sq9196uqxcXFnREfH/+14IOXiUi5qv5vVX2mp9+qOi0cDkvwAa9ORP7qeZ4XjUa/KCIVItIZ/H0tE5HGXnNbHnyQelhVNwTP/3hw33YRKQ6FQt9R1Z8HAf6Pwc4RAD5zwRbn9UEQNwZv/ml9HvN23wAOgrm7J3RU9R0RWdhrzGQRKT/NWh5Q1e6xY8d+4SPun6WqO3vd7hSR6/s85r6+4RUEj4VCoe/0elzbJ9kSFJEHRKTD8zxPVVeIyMqe+3zfHxd8qGkXkY7gtb8ZjHtSRMp6PU9H3w8nHzaHHoMJ4I+rZzB833+kbw09H3J6vhcXkZkiUvth/5e+7/+fIGiPB39/Gb3q3y4icz3P8yKRyCWqasFdY4I9Bv/6/1bVI6o6MRKJXBSEcaaqrgiWFlVtGewcAeAz17MlqKr5wRvrX3t2+fb4qAAWkeO9nidZVRf1GjNZVatPp5ZwOPyzYItQP+z+IIDTet1uU9Wf93nMRwZw7y1rVa0RkQWnU19vcXFxZ4nISd/3bwq2tn7cq4YOVU0LvpO9XFUtHA5/K7jvSRHJ7FVHc9/d8592AH9cPYMRbGGaql7ea93fetcVBPD/txs9GNsdDofvUNVLVXV17783Edmuqn/0vA8O8uodwMHcIr1uH9cPvou+IqjnVRGZ3bP4vn/7YOcIAJ+5YLfhWb1uPyEiBb0fM5gAVtVfB9/Fnef7/n+JyCwRuaK/eoKt8L2+718YjUbPDLaW1gf3faIAFpEsVf2xiDz5SbcCgzmuDb6z/NcRy8HBYt2qelc4HL5ARJa6DOD+6hmM4DnbVTU7EolcFHxwalfVFb3q+KgAfkZE6oNTra4NtoIHEsBe8HVGp6rOF5GKIHQn9nwYUtVk3/e/Eo1Gz1XV+6XP9+sAEDNUNT8IppPRaPTzPd/rBuumiEhtz+1e68uDsUeC2+uD7/h6HhPvef9686zptb7G9/3v91dT8L1gfa9xR3zfj/ZsuQXLvT1BoqrdQSC81rdWDXaRBwHcHby5d6tqk+/7v/+k/evZDa+q/917vYj8vVcNe4PQsEgk8j979XGyqr7aq86zPm4Ofeb/r6XnlKNga7Dv/9Xkj6unZ3fxIOc+rmd3dvBaBT3f8fZeHyxdPeOCU8p67u/WDw64smDuv+sZExzoVt37by4ajZ4d/L/vFZE39YMD8iYGr/kL+eD75u6evxtV/cNg5wcAw9748eO/GgqFvnS64yKRyEVBuAz6YKEe4XD4so/bavwkeh+I1Ft8fPw58fHxX/ssXnMwPqt6wuHwZYN53kgk8vVPcu5wz9Zx370H4XD4gnA4fMFgnxcA8ClS1XXBm3Wuqs5xXQ8GT0TWiEhdsEejsfdFZAAAMUZEbpEPjsqe3Pc7YwwvwSlV96lqHFffAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgNvxf1lXZS2hu84kAAAAASUVORK5CYII=
\ No newline at end of file
+data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAABRUlEQVR4nO3SMQEAAAiAMPuX1hgcbgk4mIXQ1AH8ZkBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJGVAUgYkZUBSBiRlQFIGJHX8f+V3XQoIUwAAAABJRU5ErkJggg== forward turn turnLeft setHeading doFaceTowards gotoXY doGotoObject doGlide changeXPosition setXPosition changeYPosition setYPosition bounceOffEdge xPosition yPosition direction doSwitchToCostume doWearNextCostume getCostumeIdx reportGetImageAttribute reportNewCostume reportNewCostumeStretched doSayFor bubble doThinkFor doThink changeEffect setEffect getEffect clearEffects changeScale setScale getScale show hide reportShown goToLayer goBack doSwitchToScene doScreenshot reportCostumes alert log playSound doPlaySoundUntilDone doPlaySoundAtRate doStopAllSounds reportGetSoundAttribute reportNewSoundFromSamples doRest doPlayNote doPlayFrequency doSetInstrument doChangeTempo doSetTempo getTempo changeVolume setVolume getVolume changePan setPan getPan playFreq stopFreq reportSounds clear down up getPenDown setColor setPenHSVA changePenHSVA getPenAttribute setBackgroundColor setBackgroundHSVA changeBackgroundHSVA changeSize setSize doStamp floodFill write reportPenTrailsAsCostume reportPentrailsAsSVG doPasteOn doCutFrom receiveGo receiveKey receiveInteraction receiveMessage receiveCondition doBroadcast doBroadcastAndWait getLastMessage doSend doWait doWaitUntil doForever doRepeat doUntil doFor doIf doIfElse reportIfElse doStopThis doRun fork evaluate doReport doCallCC reportCallCC doWarp doTellTo reportAskFor receiveOnClone createClone newClone removeClone doPauseAll reportTouchingObject reportTouchingColor reportColorIsTouchingColor reportAspect reportStackSize reportFrameCount reportYieldCount reportThreadCount doAsk reportLastAnswer getLastAnswer reportMouseX reportMouseY reportMouseDown reportKeyPressed reportRelationTo doResetTimer reportTimer getTimer reportAttributeOf reportObject reportURL doSetGlobalFlag reportGlobalFlag reportDate reportGet reportAudio reifyScript reifyReporter reifyPredicate reportSum reportDifference reportProduct reportQuotient reportRound reportMonadic reportPower reportModulus reportAtan2 reportMin reportMax reportRandom reportEquals reportNotEquals reportLessThan reportLessThanOrEquals reportGreaterThan reportGreaterThanOrEquals reportAnd reportOr reportNot reportBoolean reportFalse reportJoinWords reportLetter reportStringSize reportUnicode reportUnicodeAsLetter reportIsA reportIsIdentical reportTextSplit reportJSFunction reportTypeOf reportTextFunction reportCompiled doSetVar doChangeVar doShowVar doHideVar doDeclareVariables doDeleteAttr reportNewList reportCONS reportListItem reportCDR reportListLength reportListAttribute reportListContainsItem reportListIsEmpty reportListIndex doAddToList doDeleteFromList doInsertInList doReplaceInList reportNumbers reportConcatenatedLists reportTranspose reportReshape reportMap reportAtomicMap reportKeep reportAtomicKeep reportFindFirst reportAtomicFindFirst reportCombine reportAtomicCombine doForEach doShowTable doMapCodeOrHeader doMapValueCode doMapListCode reportMappedCode doApplyExtension reportApplyExtension doSetVideoTransparency reportVideo🍎
🥦
🥐
🍞
🧀
🧇
🍕
🥗
🍲
🍦
🧁
🎂
🍪
🍵
🧋
🍽
🥡
🎟
🎨
🎼
🎮
🎤
🎧
🚗
🚲
🏖
🌅
🏙
📱
🖥
⏰
💰
💎
🎊
🗓
📓
📚
❤️
🐶
🐣
🎄
🐲
🍄
🌞
⛈
🌈
🔥10-200-15090300-210-14012smallest to largest
largest to smallest
alphabetical (A-Z)largest to smallestsmallest to largestdata:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAACtUlEQVR4nO3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Bo3+AAF/RMkcAAAAAElFTkSuQmCC
\ No newline at end of file
diff --git a/middle-school/student-pages/U1/L1/02-draw-like-a-computer.html b/middle-school/student-pages/U1/L1/02-draw-like-a-computer.html
index bf59a83f25..bb73582672 100644
--- a/middle-school/student-pages/U1/L1/02-draw-like-a-computer.html
+++ b/middle-school/student-pages/U1/L1/02-draw-like-a-computer.html
@@ -48,11 +48,11 @@
For example...
Programmer's Original Drawing
-
+
Computer's Interpretation
-
+
Note that the programmer wasn't specific when describing the square's size, orientation, place on the page, or bow, and look what resulted! In a sense, the computer "won" this game, since the image was different from the original.
diff --git a/middle-school/student-pages/U1/L1/04-say-hello-to-snap.html b/middle-school/student-pages/U1/L1/04-say-hello-to-snap.html
index 6b761caa49..ff8b707820 100644
--- a/middle-school/student-pages/U1/L1/04-say-hello-to-snap.html
+++ b/middle-school/student-pages/U1/L1/04-say-hello-to-snap.html
@@ -14,7 +14,7 @@
Loading a Snap project
For each lab, we'll provide you with starter projects that you can save to your account.
When you open the project, you'll see this single block in the "Scripts" area (the central space of the Snap! window):
-
+
@@ -41,14 +41,14 @@
Saying Hi
There are multiple types of blocks in Snap. This say hello block is a reporter block. That means that it does some sort of computation and then "reports" the result. When you click it, the computer runs its code, and you see the reported result in a bubble, like this:
-
+
Many blocks, like say hello, accept inputs that customize what they do, and those inputs show up as spaces you can edit. The say hello block accepts two inputs, a name and a language. You can change the inputs to change the output (in this case, the reported greeting).
Blocks Within Blocks
-
There are lots of blocks in Snap!, and you can even make your own. For this first project, most of the blocks are hidden, but you should see a block in the palette on the left.
+
There are lots of blocks in Snap!, and you can even make your own. For this first project, most of the blocks are hidden, but you should see a block in the palette on the left.
Drag the fancy block somewhere below the say hello block in the Scripts area.
@@ -57,11 +57,11 @@
Blocks Within Blocks
Snap! is called Snap! because you can snap blocks together. Drag that fancy block into the first input slot of the say hello block, replacing the name from before, and click the block to see the output.
Tip: You can tell where the block you are dragging will drop when you let it go because the input slot where it will land will be marked with a white box. Click for a picture.
-
+
You should see a personalized greeting to a fancy version of the input name in the chosen language.
-
+
Click the Super Short Story block, and read the bubble that appears.
-
+
Change some of the inputs to the Super Short Story block, and click it again.
What happens to the story reported in the bubble?
Find one of these random blocks in the palette on the left side of the screen, and click it several times.
-
-
-
-
-
-
+
+
+
+
+
+
These blocks don't take any inputs, but since they are reporters, they still report an output. The super short story block always reports the same thing if given the same inputs. What do these blocks report?
Drag some of the random blocks into the Super Short Story block, and run the Super Short Story block a few times.
-
+
What happens to the story that is reported?
@@ -56,7 +56,7 @@
Editing a Block
On a Mac, you can right-click by pressing the 'control' key and clicking.
Notice that the input slot for numbers is a different shape. In Snap!, the shape of an input slot tells you what kind of input you can put in that slot. A rectangle will accept any kind of text (letters, numbers, punctuation, emojis, etc.), but an oval will only accept a number.
-
+
You've used special random blocks that were designed especially for this project to generate random feelings, jobs, actions, places, etc. Programming languages (like Snap!) have a built-in way to generate random numbers.
@@ -27,7 +27,7 @@
Using a Random Number
Describe what the pick random number block does.
Drag pick random number into the number input slot of Super Short Story, and run that block a few times to verify that a random number is used in the story. If it isn't working right, work with another student to sort out the problem.
-
+
@@ -39,7 +39,7 @@
Editing the Inputs with Join
Find the block in the palette and drag it into the Scripts area. Click it, change the inputs, and click it again. What does the join block do?
Drag the random animal block into the first slot of the join block and type an "s" in the second slot. Click it to test that it reports a plural animal, and then drag the entire join expression into the Super Short Story block.
-
+
Share your project by choosing "Open" from the Snap! File menu (), selecting this project from the list, pressing "Share," and clicking "Cancel". Then copy the URL (web address) out of the location bar at the top of the window, and send it to your friends, family, and/or teacher.
@@ -52,11 +52,11 @@
Creating a Block
Will they be watching a video on abstraction here? Or does Dan mention it in welcome? It feels so..abstract..here that I wonder what students will take from it. If I wasn't bound to use the term abstraction, I'd probably emphasize the benefit of reuse "When we realize we've developed a useful piece of functionality that we might want to use in other places, we can turn it into its own block." Anyway just musings from your local "abstraction" skeptic, feel free to delete. -- PF 8/20/21
I added your text at the beginning and am open to a Dan video and/or more discussion about teaching abstraction. :) --MF, 8/20/21
When you realize you've developed a useful piece of functionality that you might want to use in other places, you can turn it into its own block. This is a form of abstraction.
Abstraction is an important idea in computer science. One kind of abstraction is breaking up a large problem into smaller sub-problems.
-
For example, instead of putting into super short story, you can create a block and put random animal in that.
+
For example, instead of putting into super short story, you can create a block and put random animal in that.
This makes your code easier to read, you can use this new block again in other places, and once the block is working, you don't need to think about how it works each time you use it.
-
+
Make a new block.
@@ -76,7 +76,7 @@
Creating a Block
You are creating a reporter, so the block editor opens with a block already attached to the plural hat block. Whatever input you give to the report block will become the value reported by your new block.
-
+
@@ -85,7 +85,7 @@
Creating a Block
Hat blocks tell you when a piece of code should be run and what (if any) inputs it takes.
-
+
This code will run whenever the plural block is called, and takes one input called word.
@@ -93,7 +93,7 @@
Creating a Block
Hold your mouse pointer right after the word "of" in the pluralhat block, and click the plus sign that appears.
-
+
Type the word "word," and press "OK."
@@ -103,15 +103,15 @@
Creating a Block
Drag a new join block out of the palette on the left and into the report block.
Drag off a copy of the "word" block from plural hat block, drop it into the first input slot of join, type an "s" in the second slot, and press "OK." Whatever text is typed into the word input slot of plural will be the first input to join.
-
+
Drag your plural of block out of the palette into the Scripts area, and test it with different inputs. (For example, if you give it the input "cat," it should report, "cats.") If there are any problems with your block, right-click it, select "edit..." and make sure your code looks like this:
-
+
-
Once your plural block is working, try it with random animal, and finally, drag into super short story, and make sure it works as expected.
+
Once your plural block is working, try it with random animal, and finally, drag into super short story, and make sure it works as expected.
It'd be cool if they could try it with something other than random animal, to grok the point of reusable blocks. I realize nothing else needs a plural in the story though, but maybe they could play with it and not put in story? 🤷🏽♀️ -- PF 8/20/21
The join block joins two strings of text into one (without a space), and you used to create a plural word. There is also a block that joins strings of text with a space between them.
-
-
+
+
@@ -25,7 +25,7 @@
Editing the Story Structure
Like for the plural block, the super short story hat block at the top shows you the structure of the block that will be visible from the outside, including the name of any inputs (feeling, job, action 1, place, action 2, etc.).
-
+
As before, the code inside the report block controls what is reported when the block is run. These inputs have already been dragged into the code for the block.
: Local Variables
@@ -41,7 +41,7 @@
Editing the Story Structure
We have a JS script so they can be paused. I'm not against movies in theory, and I can't recall exactly why we've opted against them, but it might have been usability. Videos have to be hosted somewhere, and if the school restricts domains, then the video might not be visible. Uploading elsewhere also recreates development overhead. That's acceptable when a video is really needed (like 1.1.1) but for something quick like this, a little animated GIF is easier to create and embed as an image. Just a few thoughts. We can discuss further if you like. --MF, 8/20/21
- Starting at the beginning of the super short story hat block, click each input label (for example, ) and change it to your category name, and then click the variable name for that input (for example, ) and change that to the same category. Do this for each category in your list.
+ Starting at the beginning of the super short story hat block, click each input label (for example, ) and change it to your category name, and then click the variable name for that input (for example, ) and change that to the same category. Do this for each category in your list.
If you don't have as many categories as super short story did, click a label or variable and choose "Delete."
If you have more categories, hold the mouse pointer after the last word in the hat block, and click the plus sign that appears. Then, add text for a label and click "Title text," or add text for a variable and choose "Input name."
In this activity, you'll input your cleaned research data in Snap! and create a visualization of the results.
So far, you've defined your research question, collected data, and cleaned up the data. Before you can analyze your data, you'll need to import the data into Snap!.
-
+
Digitizing Your Data
-
Open this project in Snap! and save it to your account. (You'll need to log in if you aren't logged in already.)
+
Open this project in Snap! and save it to your account. (You'll need to log in if you aren't logged in already.)
The first block you'll use is the split lines block.
-
+
Your inputs to split lines will be different based on the data your collect.
This block turns multiple lines of text into a list. We could just use a list block, but this one's easier to type lots of data into. For example, here's how you could type in a bunch of ice cream flavors:
-
+
This block counts the number of times each category shows up in the survey results. There's no blank on this box, but there is something that looks like a list (or a bookcase). That icon indicates that it accepts a list input, so we can put any list in that spot.
@@ -69,7 +69,7 @@
Analyzing Your Data
Your inputs and results will be different.
Drag the list you just created into the list input slot to get something like this:
- pictograph is a type of chart that displays quantities for different categories. Here's an example that shows the favorite ice cream flavors from the example data above:
The emoji between 'soup' and 'plate with fork and knife' does not show up for me. --MF, 8/12/21
-
+
The draw pictograph block is responsible for that output:
-
+
The first input is an emoji that will be the picture in the pictograph. You can select an emoji from the dropdown, or find emoji using a website like https://emojifinder.com/ or https://emojipedia.org/ and paste it in.
The second input is a title that describes the graph, like "Number of students".
@@ -126,7 +126,7 @@
Visualizing Your Results
The script should look something like this:
-
If you want to customize your graph, you can use the sort data block to order the data so that the categories are ordered by largest to smallest values, smallest to largest values, or alphabetically.
-
+
Just drag the count data block out of its slot, drag it into sort data, then drag them both into the original slot in draw pictograph. Choose whatever ordering works best for your graph. The whole command block would look something like:
-
+
+
+
Unit 1 Lab 4: Image Manipulation, Activity 1
Picture of a Pixel
-
In this activity, you'll see how pixels can bring a picture to life.
+
Mary: remove the unused blocks and then hide everything except the five they will be using: draw picture, rgb pixel, draw pixel, paint color from pixel, and paint color. --MF, 9/9/21 (Need to figure out how to hide blocks. --MF, 9/12/21)
+
+
In this activity, you'll see how pixels make up an image.
What's a Pixel?
-
You're looking at some sort of computer screen right now, right? That screen is made up of thousands, if not millions, of pixels!
+
The screen you're looking at is made up of thousands, if not millions, of pixels. Each pixel is made up of red, green, and blue light, and the screen combines pixels with different amounts of each of those three colors to make all the different colors on a screen.
- Each pixel is made up of red, green, and blue light, and the screen combines them in different amounts to make different colors. Here's a pixel with all colors equally bright:
-
+ Here's what a white pixel looks like up close:
+
+
A pixel (short for picture element) is the smallest programmable unit of color on a screen.
+
+
-
Incredibly, that's the combination used to make the color white!
When a computer draws a picture, it's actually drawing it pixel by pixel, activating the appropriate red, green, and blue components of each pixel in the monitor to replicate the picture.
+
When a computer draws a picture, it's actually drawing it pixel by pixel, activating the appropriate red, green, and blue components of each pixel in the screen to replicate the picture.
-
Open this Picture of a Pixel project, in which you can see for yourselves with how monitors build pictures from pixels.
+
Open this Picture of a Pixel project, in which you can see for yourselves with how monitors build pictures from pixels, and save it to your Snap! account.
-
The project has a single command block:
-
+
+
Resolution is the level of detail in an image.
+
+
-
-
Michael, why are var tags in italics now? --MF, 8/13/21
-
-
The draw picture block takes two inputs, picture and resolution (the number of pixels across). Both inputs are dropdowns, so you can easily change their values.
+
The draw picture block takes two inputs, the name of a picture and a resolution (the number of pixels wide that the resulting image will be). Both inputs are dropdown menus, so you can click them to select a different value.
-
Start with the first picture and the low resolution of 8, and click the block. The command will paint the picture on the stage, but only use 8 pixels in each row. Can you recognize the picture at this point? Does it look anything like a normal picture?
-
Keep increasing the resolution and clicking the block. Try to guess the contents of the picture and keep track of when you guess it correctly.
+
Start with the "mystery1" picture and the lowest resolution (8), and click the block. The command will paint an eight-pixel wide image of the "mystery1" picture on the stage. You probably can't recognize the picture yet.
+
Keep increasing the resolution and clicking the block. Try setting the resolution to 16, then 24, then 32, then 48, then 64, then 96, and finally 128. At what resolution are you able to recognize the image?
-
Eventually, with enough pixels across, the picture should become quite clear.
-
-
Can we devise any way that students won't just automatically go to the highest resolution--a slider perhaps? Hmm... --MF, 8/13/21 I don't see a great way, thus am recommending as teacher-led in teacher guide. -PF
+
+ Eventually, with enough pixels across, the picture should become quite clear. Here's an example:
+
OK, these aren't really pixels. These are models of pixels created to show you how pixels combine to make images. Each of these "fake pixels" can only be at most one third as bright as a real pixel because each part of one of these fake pixels is displayed on your screen by real pixels that each only include a third (one color) that real pixel's total possible brightness.
+
+
+
-
Try doing the same with other mystery pictures by changing the input to the picture input slot. Are some of them easier to guess at low resolution than others? Do you notice any patterns with the RGB (red, green, blue) contents of the pixels and how they eventually change?
+
+ Reset the resolution to 8 and try doing the same thing with some of the other mystery pictures.
+
+
+
Are some of the pictures easier to guess at low resolution than others?
+
Do you notice any patterns with the RGB (red, green, blue) contents of the pixels and how they eventually change?
+
What do you notice about the relationship between image resolution and how long it takes for the computer to draw the image?
+
+
-
In this activity, you learned that images are made up of pixels that are tiny squares with different amounts of red, green, and blue.
+
In this activity, you learned that images are made up of pixels (tiny squares with different amounts of red, green, and blue), that resolution controls the number of pixels used to make up an image, and that higher resolution images are more detailed and more recognizable.
Will they be watching a video on abstraction here? Or does Dan mention it in welcome? It feels so..abstract..here that I wonder what students will take from it. If I wasn't bound to use the term abstraction, I'd probably emphasize the benefit of reuse "When we realize we've developed a useful piece of functionality that we might want to use in other places, we can turn it into its own block." Anyway just musings from your local "abstraction" skeptic, feel free to delete. -- PF 8/20/21
I added your text at the beginning and am open to a Dan video and/or more discussion about teaching abstraction. :) --MF, 8/20/21