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 - - - - - - - - - - - -
-
-
- -
-

The Beauty and Joy of ComputingAn AP CS Principles Course

- -
-
-
-
- - - - - - diff --git a/index22.html b/index22.html deleted file mode 100644 index 506851e42b..0000000000 --- a/index22.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - The Beauty and Joy of Computing - - - - - - - - - - - -
-
-
- -
-

The Beauty and Joy of ComputingAn AP CS Principles Course

- -
-
-
-
- - - - - - 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

- - BJC Logo - -

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 - - - - - -
- Beauty and Joy of Computing -
-

- Beauty and Joy of Computing
- an AP CS Principles course -

-
-
- -
-
BJC in action
-
BJC in action
-
BJC in action
-
BJC in action
-
- - - - Education Development Center, Inc. - National Science Foundation - - -

- How is BJC special?     - BJC Curriculum
- Run Snap! now! -

- - - \ 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 reportIsIdentical
red green blue transparencygreenblue4
red green blue transparencygreenblue000
Posterize 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.
0100100100
154
current y1
current 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.
\ No newline at end of file +data:image/png;base64,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
red green bluegreenblue
Posterize 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.
0100100100
904154
current y1
current screen y-12
§_costumesMenu
§_costumesMenu
§_costumesMenu
85170255
This 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.
1
HSV✐ raw HSL100HSV100
pt:lança o erro _
de:fange _ _ ca:agafa _ _ es:atrapar _ _ fr:attrape _ _ pt:captura _ _ cont3
de:wirf _ ca:llança _ es:lanzar _ fr:lance _ pt:lança _ catchtag
de: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?false1231
Takes 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.6
Reports 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.
truetrue
Creates 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 HSL010050
value100color3.6index1index-1scale1255fromto1newHSVHSL✐ fair?true
color300index15scale15grayscale15255fromto121✐ last set ascolor number✐ fair?true✐ raw HSL10050✐ raw HSV100100
015866161216341656✐ last set asRGB✐ fair?false1
44partial 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?false
0
4value0255131✐ last set asRGB✐ fair?false
✐ last set asHSL22✐ fair?false1
✐ last set asHSL✐ HSL11000100✐ raw HSL✐ fair?false1
✐ last set asHSV✐ fair?false✐ raw HSV1310031
100if USED TO BE fairHSL✐ fair?false1
✐ last set asHSL2222✐ fair?true1
✐ last set asHSL3333✐ fair?true1
2313
22✐ last set asHSV✐ fair?true1
33✐ last set asHSV✐ fair?true1
23131
pt: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_reset
This 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 script
This 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_reset
4530redgreenblue0090
Takes 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.
\ 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 transparencygreenblue4
red green blue transparencygreenblue000
Posterize 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.
0100100100
154
current y1
current screen y-10
§_costumesMenu
§_costumesMenu88 16 24 32 48 64 96 128
§_costumesMenu100Stage
data: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 reportVideo
red green blue transparencygreenblue4
§_costumesMenu88 16 24 32 48 64 96 128
85170255
Takes 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
88 16 24 32 48 64 96 128
851702554530
data: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,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 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-14012
smallest to largest largest to smallest alphabetical (A-Z)largest to smallestsmallest to largest
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAgAElEQVR4nO3de3BV9d3v8UVrPba16vSxOo7O0+cZnzq91xZOPbUdjbdiavb6fvc+3WqVjuB1tJV6oZVW2weP5TIoVOuF4eKFlEuQKAQUghIgIVcIIVeSECAh5EJCEmIgYID0e/5wpZOToyZEzW8neb9m1gx77f3b+/v7ktmfvdZea23PAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwP8nLi7ujPj4+P/hug4AAEYV3/dvF5ElrusAAGBUIYABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAABwhgAAAcIIABAHCAAAYAwAECGAAA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
\ 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-14012
smallest to largest largest to smallest alphabetical (A-Z)largest to smallestsmallest to largest
data: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
- a line-drawing that looks like a gift: a square with a horizontal line through the middle, a vertical line through the middle, and a set of three overlapping droplets on top arranged to look like a bow + a line-drawing that looks like a gift: a square with a horizontal line through the middle, a vertical line through the middle, and a set of three overlapping droplets on top arranged to look like a bow
Computer's Interpretation
- a line-drawing that doesn't look like a gift: a square with a horizontal line through the middle, a vertical line through the middle, and a set of three overlapping droplets of different sizes hanging down from the top center of the square + a line-drawing that doesn't look like a gift: a square with a horizontal line through the middle, a vertical line through the middle, and a set of three overlapping droplets of different sizes hanging down from the top center of the square

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.

    -
  1. Open this Say Hi To Snap project.
  2. +
  3. Open this Say Hi To Snap project.
@@ -22,7 +22,7 @@

Loading a Snap project

Saying Hi

When you open the project, you'll see this single block in the "Scripts" area (the central space of the Snap! window):
- say hello to () in ('English') + say hello to () in ('English')

    @@ -41,14 +41,14 @@

    Saying Hi

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 fancy () 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 fancy () block in the palette on the left.

  1. Drag the fancy block somewhere below the say hello block in the Scripts area.
  2. @@ -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. -
    image of Snap! 'Scripts' area with the 'fancy('Huan')' block being dropped into 'say hello to ('Huan') in ('Cantonese')'. There is a white box around the 'Huan' in the 'say hello to ('Huan') in ('Cantonese')' block showing where 'fancy('Huan')' will land.
    +
    image of Snap! 'Scripts' area with the 'fancy('Huan')' block being dropped into 'say hello to ('Huan') in ('Cantonese')'. There is a white box around the 'Huan' in the 'say hello to ('Huan') in ('Cantonese')' block showing where 'fancy('Huan')' will land.
  3. You should see a personalized greeting to a fancy version of the input name in the chosen language.
    - say hello to (fancy('Huan') in ('Cantonese') reporting 'néih hóu ᕼย𝕒N' + say hello to (fancy('Huan') in ('Cantonese') reporting 'néih hóu ᕼย𝕒N'
diff --git a/middle-school/student-pages/U1/L2/01-super-short-story-builder.html b/middle-school/student-pages/U1/L2/01-super-short-story-builder.html index 9dcbed370b..b5b8f01ed5 100644 --- a/middle-school/student-pages/U1/L2/01-super-short-story-builder.html +++ b/middle-school/student-pages/U1/L2/01-super-short-story-builder.html @@ -22,22 +22,22 @@

Playing with a Story Builder

  • Open this Super Short Stories project.
  • Click the Super Short Story block, and read the bubble that appears.
    - Super Short Story, feeling: (happy) job: (teacher) action: (jumps) place: (Central Park) action: (races) number: (7) color: (red) plural animal: (cats) food: (stir fry) + Super Short Story, feeling: (happy) job: (teacher) action: (jumps) place: (Central Park) action: (races) number: (7) color: (red) plural animal: (cats) food: (stir fry)
  • Change some of the inputs to the Super Short Story block, and click it again.
  • Talk with Your PartnerWhat 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.
    - random feeling - random job - random action - random place - random color - random food + random feeling + random job + random action + random place + random color + random food
  • These blocks don't take any inputs, but since they are reporters, they still report an output. Talk with Your Partner 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.
    - Super Short Story, feeling: (random feeling) job: (teacher) action: (jumps) place: (Central Park) action: (races) number: (7) color: (red) plural animal: (cats) food: (stir fry) + Super Short Story, feeling: (random feeling) job: (teacher) action: (jumps) place: (Central Park) action: (races) number: (7) color: (red) plural animal: (cats) food: (stir fry)
  • Talk with Your Partner 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.
  • Click for an image that shows how to open the "Block Editor." -
    'random feeling' block with right-click menu open and the 'edit...' option at the very bottom of the menu highlighted
    +
    'random feeling' block with right-click menu open and the 'edit...' option at the very bottom of the menu highlighted
  • @@ -66,7 +66,7 @@

    Editing a Block

    This custom block reports a random item from a list of jobs.
    - random job: {report (item (random) of (list (artist) (computer programmer) (cashier) (musician) (landscaper) (nurse) (plumber)))} + random job: {report (item (random) of (list (artist) (computer programmer) (cashier) (musician) (landscaper) (nurse) (plumber)))}

    diff --git a/middle-school/student-pages/U1/L2/02-refining-the-story.html b/middle-school/student-pages/U1/L2/02-refining-the-story.html index fe35744c03..d99215cabe 100644 --- a/middle-school/student-pages/U1/L2/02-refining-the-story.html +++ b/middle-school/student-pages/U1/L2/02-refining-the-story.html @@ -16,7 +16,7 @@

    Refining the Story

    Using a Random Number

    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.
    - Super Short Story, feeling: (happy) job: (teacher) action: (jumps) place: (Central Park) action: (races) number: (7) color: (red) plural animal: (cats) food: (stir fry) + Super Short Story, feeling: (happy) job: (teacher) action: (jumps) place: (Central Park) action: (races) number: (7) color: (red) plural animal: (cats) food: (stir fry)

    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

  • Talk with Your Partner 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.
    - 'super story story' block with 'pick random (3) to (12)' in the 'number' input slot + 'super story story' block with 'pick random (3) to (12)' in the 'number' input slot
  • @@ -39,7 +39,7 @@

    Editing the Inputs with Join

  • Talk with Your Partner Find the join 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.
    - join (random animal) (s) + join (random animal) (s)
  • Save your work
  • Share your project by choosing "Open" from the Snap! File menu (File menu button), 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 join (random animal) (s) into super short story, you can create a plural of () block and put random animal in that.

    +

    For example, instead of putting join (random animal) (s) into super short story, you can create a plural of () 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.

    - image of 'Make a block' dialog box with 10 palette menus (Motion, Looks, Sound, Pen, Lists, Control, Sensing, Operators, Variables, Other) of which Operators is selected; a text box labeled 'Type a title for your block.' in which 'plural of' has been written; three block shape options (puzzle-shaped/'Command', oval/'Reporter', and hexagonal/'Predicate') labeled 'Select a shape.' of which 'Reporter' is selected; two radio boxes ('for all sprites', which is checked, and 'for this sprite only', which is not checked) with no label of which 'for all sprites' is selected; and two buttons ('OK' and 'Cancel') + image of 'Make a block' dialog box with 10 palette menus (Motion, Looks, Sound, Pen, Lists, Control, Sensing, Operators, Variables, Other) of which Operators is selected; a text box labeled 'Type a title for your block.' in which 'plural of' has been written; three block shape options (puzzle-shaped/'Command', oval/'Reporter', and hexagonal/'Predicate') labeled 'Select a shape.' of which 'Reporter' is selected; two radio boxes ('for all sprites', which is checked, and 'for this sprite only', which is not checked) with no label of which 'for all sprites' is selected; and two buttons ('OK' and 'Cancel')
    1. Make a new block. @@ -76,7 +76,7 @@

      Creating a Block

    You are creating a reporter, so the block editor opens with a report 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.
    - 'plural of' in the block editor showing with the 'report' block attached below it + 'plural of' in the block editor showing with the 'report' block attached below it

      @@ -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.
      - 'plural of (word)' inside a hat-shaped block
      + 'plural of (word)' inside a hat-shaped block
      This code will run whenever the plural block is called, and takes one input called word.

      @@ -93,7 +93,7 @@

      Creating a Block

      1. Hold your mouse pointer right after the word "of" in the plural hat block, and click the plus sign that appears.
        - 'plural of' in the block editor showing the plus sign just after the word 'of' in the hat block + 'plural of' in the block editor showing the plus sign just after the word 'of' in the hat block
      2. Type the word "word," and press "OK."
      @@ -103,15 +103,15 @@

      Creating a Block

      1. Drag a new join block out of the palette on the left and into the report block.
      2. 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.
        - 'plural of' in the block editor showing a copy of the 'word' variable being dragged off + 'plural of' in the block editor showing a copy of the 'word' variable being dragged off
    1. 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:
      - 'plural of' in the block editor with 'report (join (word)('s'))' attached below it + 'plural of' in the block editor with 'report (join (word)('s'))' attached below it
    2. -
    3. Once your plural block is working, try it with random animal, and finally, drag plural of (random animal) into super short story, and make sure it works as expected.
    4. +
    5. Once your plural block is working, try it with random animal, and finally, drag plural of (random animal) into super short story, and make sure it works as expected.
    6. Save your work
    7. 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

      I agree. Any ideas? --MF, 8/20/21

    diff --git a/middle-school/student-pages/U1/L2/03-creating-editing-blocks.html b/middle-school/student-pages/U1/L2/03-creating-editing-blocks.html index 55c5c8d61d..01bdc73045 100644 --- a/middle-school/student-pages/U1/L2/03-creating-editing-blocks.html +++ b/middle-school/student-pages/U1/L2/03-creating-editing-blocks.html @@ -12,8 +12,8 @@

    Creating and Editing Blocks

    Editing the Story Structure

    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 join words () block that joins strings of text with a space between them.
    - 'join (short) (story)' reporting 'shortstory' - 'join words (short) (story)' reporting 'short story' + 'join (short) (story)' reporting 'shortstory' + 'join words (short) (story)' reporting 'short story'

    @@ -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.).
    - Super Short Story, feeling: (feeling) job: (job) action: (action 1) place: (place) action: (action 2) number: (number #) color: (color) plural animal: (animals) food: (food): {report (join words ('The') (feeling) (job) (action 1) ('through') (place) ('and') (action 2) ('over') (number) (color) (animals) ('eating') (food))}
    + Super Short Story, feeling: (feeling) job: (job) action: (action 1) place: (place) action: (action 2) number: (number #) color: (color) plural animal: (animals) food: (food): {report (join words ('The') (feeling) (job) (action 1) ('through') (place) ('and') (action 2) ('over') (number) (color) (animals) ('eating') (food))}
    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, 'feeling:' label) and change it to your category name, and then click the variable name for that input (for example, 'feeling' variable name) 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, 'feeling:' label) and change it to your category name, and then click the variable name for that input (for example, 'feeling' variable name) 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."
    • diff --git a/middle-school/student-pages/U1/L3/01-gathering-data.html b/middle-school/student-pages/U1/L3/01-gathering-data.html index 739d6effa5..7dd4d0b28f 100644 --- a/middle-school/student-pages/U1/L3/01-gathering-data.html +++ b/middle-school/student-pages/U1/L3/01-gathering-data.html @@ -12,11 +12,11 @@

      Gathering Data

      In this activity, you'll define a research question, collect data from your classmates, and clean the data so it can be entered into Snap!.

      In a later activity, you'll input the data in Snap! and create your own visualization of the results, a pictograph like this one:
      - pictograph with ice cream cones; the vertical axis is labeled 'Number of students' and the categories along on the horizontal axis are 'MintChip' showing three ice cream cones, 'Vanilla' showing four ice cream cones,  and 'Orange' showing one ice cream cone + pictograph with ice cream cones; the vertical axis is labeled 'Number of students' and the categories along on the horizontal axis are 'MintChip' showing three ice cream cones, 'Vanilla' showing four ice cream cones,  and 'Orange' showing one ice cream cone

      Every day, thousands of professional data analysts go through the process of collecting and understanding data.
      - Define the question → Collect the data → Clean the data → Analyze the data → Visualize and share findings + Define the question → Collect the data → Clean the data → Analyze the data → Visualize and share findings

      Defining Your Research Question

      diff --git a/middle-school/student-pages/U1/L3/02-visualizing-data.html b/middle-school/student-pages/U1/L3/02-visualizing-data.html index 39cdc99e87..3c6fbdcf62 100644 --- a/middle-school/student-pages/U1/L3/02-visualizing-data.html +++ b/middle-school/student-pages/U1/L3/02-visualizing-data.html @@ -11,25 +11,25 @@

      Visualizing Data

      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!.
      - Define the question → Collect the data → Clean the data → Analyze the data → Visualize and share findings + Define the question → Collect the data → Clean the data → Analyze the data → Visualize and share findings

      Digitizing Your Data

        -
      1. Open this project in Snap! and save it to your account. (You'll need to log in if you aren't logged in already.)
      2. +
      3. 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.
      - split lines () + split lines ()

      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:
      - split lines (Mint Chip
+			<img class= + count data 'list input slot' 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:
      - count data (split lines (Mint Chip
+					<img class=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
      - pictograph with ice cream cones; the vertical axis is labeled 'Number of students' and the categories along on the horizontal axis are 'MintChip' showing three ice cream cones, 'Vanilla' showing four ice cream cones,  and 'Orange' showing one ice cream cone + pictograph with ice cream cones; the vertical axis is labeled 'Number of students' and the categories along on the horizontal axis are 'MintChip' showing three ice cream cones, 'Vanilla' showing four ice cream cones,  and 'Orange' showing one ice cream cone

      The draw pictograph block is responsible for that output:
      - draw pictograph with emoji: () title: () counts: ()
      + draw pictograph with emoji: () title: () counts: ()

      • 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:
        - draw pictograph with emoji: ('ice cream cone emoji') title: (Number of students) counts: (count data (split lines (Mint Chip
+			<img class=

      • 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.
        - sort data: 'list input slot' by: ('largest to smallest')
        + sort data: 'list input slot' by: ('largest to smallest')
        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:
        - draw pictograph with emoji: ('ice cream cone emoji') title: (Number of students) counts: (sort data (count data (split lines (Mint Chip
+					<img class= + + + 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:
        - square made up of three horizontal rectangles each of a solid color: red, green, and blue + 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.

        +
        + square made up of three horizontal rectangles each of a solid color: red, green, and blue

        -

        Incredibly, that's the combination used to make the color white!

          -
        1. Don't believe it? Watch this video of someone zooming out from a screen or this video of an iPhone under a microscope.
        2. +
        3. Don't believe it? Watch this video of someone zooming out from a screen or this video of an iPhone under a microscope (you don't have to watch the whole video; the first three minutes are most important).
        - - + +

        Building Pictures from Pixels

        -

        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.

          -
        1. Open this Picture of a Pixel project, in which you can see for yourselves with how monitors build pictures from pixels.
        2. +
        3. 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:
        - draw picture ('mystery1') with resolution: ('8') +

        +

        Resolution is the level of detail in an image.

        +
        + draw picture ('mystery1') with resolution: ('8')

        -
        -

        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.

          -
        1. 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?
        2. -
        3. 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.
        4. +
        5. 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.
        6. +
        7. 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:
        +

        Click the image for an animation.
        + pixelated image of a sea turtle becoming increasingly more clear. The image starts at resolution 8, then goes to 16, 24, 32, 48, 64, 96, and finally 128. +
        + Why does the higher resolution image look dark? +
        +

        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.

        +
        +

        +
          -
        1. 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?
        2. +
        3. + Reset the resolution to 8 and try doing the same thing with some of the other mystery pictures. + Talk with Your Partner +
            +
          1. Are some of the pictures easier to guess at low resolution than others?
          2. +
          3. Do you notice any patterns with the RGB (red, green, blue) contents of the pixels and how they eventually change?
          4. +
          5. What do you notice about the relationship between image resolution and how long it takes for the computer to draw the image?
          6. +
          +
        -
        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.
        + - diff --git a/middle-school/student-pages/U1/L4/02-exploring-rgb-colors.html b/middle-school/student-pages/U1/L4/02-exploring-rgb-colors.html new file mode 100644 index 0000000000..112bdb0f89 --- /dev/null +++ b/middle-school/student-pages/U1/L4/02-exploring-rgb-colors.html @@ -0,0 +1,87 @@ + + + + + + + + + Unit 1 Lab 4: Image Manipulation, Activity 2 + + + +

        Exploring RGB Colors

        +
        In this activity, you'll explore how RGB color values create colors.
        +
        +
          +
        1. If your project isn't open already, log in to Snap! and open your "Pixel Display" project by choosing "Open" from the Snap! File menu.
        2. +
        3. Find the RGB pixel, red: (85) green: (170) blue: (255) block in the palette, drag it into the scripting area, and click the block to run it. The RGB pixel block takes three numbers as input and reports a list with the those three color values.
        4. +
          +

          A list is an ordered sequence of items.

          +
          +

          + You've seen a list before when you selected random items from lists in the Super Short Story project:
          + random job: {report (item (random) of (list (artist) (computer programmer) (cashier) (musician) (landscaper) (nurse) (plumber)))}
          + The output of random job was a random item from the list of jobs. +

          +

          The output of RGB pixel is a list of three values: the amount of red, green, and blue for one pixel.

          +
          +
          +
        5. + The draw pixel 'list input slot' block takes a list of RGB values as input and draws a pixel with those values on the stage. Find the draw pixel block in the palette, drag it into the scripting area, snap the RGB pixel block into the open input slot, and run the script to draw a pixel with those color values.
          + draw pixel (RGB pixel, red: (85) green: (170) blue: (255)) +
        6. +
        7. + RGB pixels have integer color values from 0 to 255. Experiment with the input values to the RGB pixel block inside draw pixel, and see how it changes the pixel drawn on the stage.
          +
          Click the image for an animation.
          + animation of a square made up of three horizontal rectangles each of a solid color: red, green, and blue. As the animation progresses, the three rectangles vary in darkness but each one remains a shade of its original color. +
        8. +
        9. + The paint color from pixel block takes two inputs, a list of RGB color values and a resolution, and it paints a grid of pixels on the stage with those color values at that resolution. Find the paint color from pixel block, and build and run this script.
          + paint color from pixel (RGB pixel, red: (85) green: (170) blue: (255))
          +
        10. +
        11. Keep increasing the resolution and clicking the script. At what resolution do you start seeing a single color?
        12. +
        13. +
          Reminder: RGB pixels have integer color values from 0 to 255.
          + Experiment with the input values to the RGB pixel block inside paint color from pixel. +
            +
          1. Try to get a purple color.
          2. +
          3. What RGB color values give you black?
          4. +
          5. How can you get a turquoise (blue-green) color?
          6. +
          +
        14. +
        +
        + +
        +

        +

        One day in the future, it would be nice to have Venn diagram color wheels here. --MF, 9/12/21
        + Why can't you mix white or other light colors with the paint color from pixel block ? +
        +

        These aren't really pixels but are instead models of pixels made to show how pixels blend to make colors. They are only a third as bright as real pixels because the real pixels that display these model pixels on your screen each include only a third of their total possible brightness. (Real white pixels have 100% red, 100% green, 100% blue not just 100% red but no green or blue near a pixel with 100% green but no red or blue and a pixel with 100% blue but no red or green.)

        +

        This project also includes a paint color, red: () green: () blue () block that doesn't use model pixels at all and instead paints with the real RGB colors. Try it out. How can you make white or another light color?

        +
        +

        +
        + +
        +
          +
        1. Try to get other familiar colors like yellow, orange, gray, and brown.
        2. +
        +
        +
        +

        + Why do RGB colors mix differently than paint? +

        +

        You might be familiar with subtractive color mixing where the primary colors are red, yellow, and blue and you can get secondary colors by mixing red and yellow to make orange, yellow and blue to make green, and red and blue to make purple. Mixing paints is subtractive color mixing, but mixing light (like the images on a screen) is additive color mixing. In additive color mixing, the primaries are red, green, and blue, and the secondary colors that you get by mixing equal parts of the primaries are yellow, cyan, and magenta.

        +

        Additive color mixing (like on a screen) is called additive because you start with no light and add light to get colors. Subtractive color mixing (like with paint) is called subtractive because you start with white light (which includes all the colors), and the paint absorbs (takes away) all the colors except the one reflected back to your eye. (For example, when white light hits red paint, all colors are absorbed except red.)

        +

        More optional reading: What Is the Difference Between Additive and Subtractive Color Mixing?

        +
        +

        +
        + +
        In this activity, you used RGB color values to represent colors, used the list reported by the RGB pixel block as the input to the draw pixel block, and experimented with RGB color mixing.
        + + + + diff --git a/middle-school/student-pages/U1/L4/02-pixel-manipulator.html b/middle-school/student-pages/U1/L4/02-pixel-manipulator.html deleted file mode 100644 index ca4d22adb3..0000000000 --- a/middle-school/student-pages/U1/L4/02-pixel-manipulator.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - Unit 1 Lab 4: Image Manipulation, Activity 2 - - - -

        Pixel Manipulator

        -
        In this activity, you'll filter a picture by manipulating its pixels.
        -

        As you just discovered, the visual display on a computer or phone is made up of pixels (tiny squares of color), and that's also how images are stored. Using a few powerful blocks, you can transform the pixels in a picture to make fun filters.

        - -

        Checking Out Some Pixels

        -
        -
          -
        1. Open the Image Manipulation project and save it to your Snap! account.
        2. -
        3. - Choose an option in the use costume block and click the block. Try a few different options until you find one you like.
          - use costume ('parrots') -
        4. -
          All images used as costumes were either taken by Pamela or from Pixabay and appear to be public domain.
          -
        5. - Now move your mouse over the image on the stage. A pixel grid will pop up in the top left corner, showing you the pixel under your cursor plus the pixels around it. Do any of the pixels surprise you?
          - image of Snap! stage with a photo of two colorful parrots in the bottom right corner. In the upper left corner there is an 8 by 8 grid of squares of various colors representing a zoomed in portion of the parrot picture. Below the grid are two lines of text: 'RGB:144,150,33,255' and 'XY: 108,24' -
        6. -
        -
        - - -

        Try Your Own Image

        -

        This is optional, for anyone who has access to a webcam or your own photo.

        -
        -
          -
        1. - Click the Costumes tab. That's next to the Scripts tab, where you write programs.
          - image of zoomed in portion of Snap! window near the center top showing the three tabs above the Scripts area, labeled: 'Scripts,' 'Costumes,' and 'Sounds' -
        2. -
          Does it raise privacy issues for UCB if we have students saving photos of themselves in Snap? --MF, 8/14/21
          -
        3. -

          If you have a webcam, click the camera icon. The browser will ask you for permission and then give you a way to snap a photo. Say cheese!

          -

          Alternatively, if you have a photo on your computer, drag it into the tab.

          - screenshot of browser message requesting camera access for snap.berkeley.edu. Click 'Allow.' - camera snapshot of a person making a silly face -
        4. -
        5. You can right click on the new costume to rename it.
        6. -
        7. Now you can go back to the Scripts tab and select the new costume and inspect its pixels. Perhaps you'll discover your eye color isn't exactly "blue", "green", "brown", or "gray". 😉
        8. -
        -
        - - -
        : Sprites and Costumes -

        This is the first time you're playing with a Snap! project that uses sprites and costumes.

        -

        A sprite is an object that has scripts and a costume. This project has two sprites: the Image sprite (in the center), and the PixelGrid sprite (in the top left). The Image sprite has all the code you'll be playing with, and the PixelGrid sprite has all the code it needs to render the pixels.

        -

        Each sprite has a current costume and a list of possible costumes. When you clicked the use costume block, that switched the sprite's current costume to the selected costume. Going forward, you'll be changing the sprite's costume a lot!

        -

        In the future, when you use Snap to make more complex projects like games, you will likely use many sprites to represent different objects.

        -
        - - -

        How Are Pixels Stored?

        -

        Now that you've seen the pixels with your own human eyes, let's see how the computer stores the pixels.

        -
        -
          -
        1. Click the pixels of costume block. The comment above the block describes what it reports, a very long table of pixel values, with red in the first column, green in the second column, and blue in the third column.
          - table with 4 columns and 8 rows showing, though there is a row count of 13,824 in the upper left corner (not all rows are visible). The first column includes values ranging from 142-145; the second column includes values ranging from 165-168; the third column includes values ranging from 197-200. -
        2. -
        3. Click the expression that starts with item 1:
          - item 1 of (pixels of costume 'current') -
          - That block reports the very first pixel from the costume, the pixel in the top left corner. -
        4. -
        5. Click the expression that starts with color red from pixel:
          - color 'red' from pixel (item 1 of (pixels of costume 'current') -
          - That block reports just the red channel from that very first pixel. This project uses the color block frequently, to pull out different channels and manipulate them. -
        6. - Click the expression that looks like this:
          - map (color ('red') from pixel 'list input slot') over (('pixels') of costume (my ('costume')))) -
          - That block turns the pixels table into a single list of just the red values. Put another way, it duplicates just the first column from that table:
          -
          - table with 4 columns and 8 rows showing, though there is a row count of 13,824 in the upper left corner (not all rows are visible). The first column includes values ranging from 142-145; the second column includes values ranging from 165-168; the third column includes values ranging from 197-200. - → - list with 8 items showing, though there is an item count of 13,824 in the upper left corner (not all items are visible). The values of the list items range from 142-145. -
        7. -
        -
        - -

        Playing with Filters

        -

        You have everything needed to manipulate the image. The magic begins!

        -
        -
          -
        1. -
          -

          The next 4 scripts need alt/title text because I ran out of steam. ;) --MF, 8/14/21

          -

          Also, my recent script pics are bigger than ever even though I'm following the same steps. Need to ask Michael and/or Brian about that. --MF, 8/14/21

          -
          - Click the script under the "Filter #1" comment. If it's not using your favorite costume, you can change the costume in the use costume dropdown menu.
          - -
        2. -
        3. - Filter #1 creates a new costume which contains only the red pixels from the costume, setting the green and blue to zero. Mouse over the result to verify that indeed, there are no pixels with any red or green in them.
          - image of Snap! stage with and all-red photo of a person making a silly face. In the upper left corner there is an 8 by 8 grid of squares of various shades of red representing a zoomed in portion of the red photo. Below the grid are two lines of text: 'RGB:164,0,0,255' and 'XY: 95,35' -
            -
          • If an area of the image is black, what does that mean about the original color?
          • -
          • What image would turn completely black with this filter?
          • -
          • What happens if you change both dropdowns from "red" to "green" in the script?
          • -
          • What if you only change one to "green" and the other to "red"? Try different combos!
          • -
          -
        4. -
        5. - Click the script under the "Filter #2 comment", changing the costume first if you'd like. (If you don't, it will apply the filter to the result of the last filter, which could be fun!)
          - -
        6. -
        7. Filter #2 switches up the red, green, and blue pixels. Try it on the rainbow flags for the most obvious transformation. Talk with Your Partner How else could you swap them around? You can drag out the color from pixel blocks and drag them back in a different order to see what happens.
        8. -
        9. - Click the script under the "Filter #3 comment", changing the costume first if you'd like.
          - -
        10. -
        11. - Filter #3 brightens the whole image by increasing the red, green, and blue values (bringing them closer to white- 255,255,255). However, it doesn't increase the red quite as much (multiplying by 1.25 instead of 1.3), so it takes some red out of the picture. Try changing the multiplied values. -
            -
          • Can you make the image even brighter?
          • -
          • Can you make the image much darker?
          • -
          -
        12. -
        13. - Click the script under the "Filter #4: Posterize" comment, changing the costume first as desired.
          - -
        14. -
        15. - Filter #4 (posterization) simplifies the colors in an image. If a pixel's red is greater than the red cutoff, then it's rounded up to 255, otherwise it's rounded down to 0. The same happens for the green and blue cutoffs. Talk with Your Partner -
            -
          • What happens when you change the red cutoff? Does it become more or less red?
          • -
          • What about if you set a cutoff all the way up to 255? Or all the way down to 0?
          • -
          -
        16. -
        -
        - -
        In this activity, you zoomed in on an image to see its pixels, saw a list of the values for each pixel in an image, and explored several filters that transformed each pixel in the image.
        - - - - diff --git a/middle-school/student-pages/U1/L4/03-investigating-and-storing-images.html b/middle-school/student-pages/U1/L4/03-investigating-and-storing-images.html new file mode 100644 index 0000000000..f98a5380a3 --- /dev/null +++ b/middle-school/student-pages/U1/L4/03-investigating-and-storing-images.html @@ -0,0 +1,134 @@ + + + + + + Unit 1 Lab 4: Image Manipulation, Activity 3 + + + +

        Investigating and Storing Images

        +
        + Hi Mary, I updated the XML with the proposed changes. There is something not quite right about the pixel X/Y calculation, and I posted in channel about that. Students haven't noticed so far but someone will point it out soon, I'm sure. I didn't do hiding as I think we decided to remove draw pixel from this one? So I'll let you decide. - Pamela 9/10/21 +

        Whoever builds the final XML file, it should have only these blocks showing in the palette: use costume, pixels of my costume, color from pixel, item of, rgb pixel, draw pixel, paint color from pixel, map, use costume with pixel filter...

        +

        Also, someone needs to import the final paint color from pixel block from the first XML in this lab.

        +
        + +
        In this activity, you'll get a close-up look at the pixels in an image and see how the pixels are stored and how to access them.
        +

        As you've discovered, the images on a screen are made up of pixels (tiny squares of color). Using a few powerful blocks, you can transform the pixels in a picture to make fun filters.

        + +

        Checking Out Some Pixels

        +
        +
          +
        1. Open this Image Manipulation project and save it to your Snap! account.
        2. +
        3. + This use costume block switches the sprite costume (the image shown on the stage). Choose a costume from the dropdown menu, and click the block. Try a few different costumes until you find one you like.
          + use costume ('parrots') +
        4. +
          All images used as costumes were either taken by Pamela or from Pixabay and appear to be public domain.
          +
        5. + Now move your mouse to the stage where the image appears, and hover over the image. A grid of pixels will appear in the corner, showing you the pixel under your cursor plus the pixels around it (zoomed in). Explore the image with your mouse pointer. Do any of the pixels surprise you?
          +
          +

          The three RGB values show the amount of red, green, and blue in the pixel under the mouse pointer.

          +

          The XY values are the horizontal (x) and vertical (y) positions of the mouse pointer.

          +

          Pixel Number identifies the number of the pixel under the mouse pointer. (The pixels are numbered starting from the top left corner, going across the first row of pixels, and then moving down to each of the following rows.)

          +
          + image of Snap! stage with a photo of two colorful parrots in the bottom right corner. In the upper left corner there is a 9 by 9 grid of squares of various colors representing a zoomed in portion of the parrot picture. Beside the grid are four lines of text: 'Center Pixel', 'RGB: 229,111,94', 'X Y: 21,55', and 'Pixel Number: 8085'. +
        6. +
        +
        +
        : Sprites and Costumes +

        + A sprite is an object that has scripts and a costume and can even move around on the stage. +

        +
        Mary, this image still needs an update. --MF, 9/13/21
        +

        This project has two sprites: the Image sprite (in the center of the stage), and the PixelGrid sprite (in the top left). The Image sprite has the code you'll be playing with, and the PixelGrid sprite has the code that makes the grid of pixels.

        +

        Click for an image of the stage and the sprites.

        +
        image of Snap! stage with two sprites: the parrot photo and the grid of pixels. Below the stage is a row of several buttons (new sprite, edit sprite, new sprite from webcam, and delete sprite), and below that are two sprite buttons: 'Image', which has a small picture of the parrots; and 'PixelGrid', which shows no image.
        +
        +

        +

        + A costume is picture that can be "worn" by a sprite. +

        Each sprite has a current costume and perhaps other possible costumes. The use costume block switches the Image sprite's current costume to the costume selected in the dropdown menu.
        +

        +
        + + +

        Try Your Own Image

        +

        These are optional extra steps for anyone who has access to a webcam or has a own photo of their own.

        +
        +
          +
          Does it raise privacy issues for UCB if we have students saving photos of themselves in Snap? --MF, 8/14/21
          +
        1. + Click the "Costumes" tab between the "Scripts" and "Sounds" tabs.
          + image of zoomed in portion of Snap! window near the center top showing the three tabs above the Scripts area, labeled: 'Scripts,' 'Costumes,' and 'Sounds' +
        2. +
        3. +

          If you have a webcam, click the camera icon (camera button). The browser may ask you for permission and then give you a way to snap a photo. Say cheese! Alternatively, if you have a photo on your computer, drag it into the "Costumes" area.

          + screenshot of browser message requesting camera access for snap.berkeley.edu. Click 'Allow.' + camera snapshot of a person making a silly face +
        4. +
        5. You can right click on any costume to rename it.
        6. +
        7. Now, you can go back to the "Scripts" tab, select your new costume in the use costume block, and inspect its pixels. Perhaps you'll discover your eye color isn't exactly as "blue", "green", "brown", or "gray" in this picture as you thought it was. 😉
        8. +
        +
        + + +

        How Are Pixels Stored?

        +

        Computers store pixels as a list of RGB values (as you've seen) and store images as a table of pixels (a list of lists).

        +
        +
          +
        1. + Click the pixels of my costume block. It reports a (very long) table of pixel values.
          + 'pixels of my costume' reporting a table with 3 columns and 5 visible rows. (There is a row count of 15,552 in the upper left corner; not all rows are visible). The first column includes values ranging from 111-118; the second column includes values ranging from 111-117; the third column includes values ranging from 112-122. +
        2. +
        +
        + +
        : Table +

        A list is an ordered sequence of items, and a table is an ordered sequence of lists. So, a table is a list of lists. Each row in a table is another smaller list. +

        +

        The output of the pixels of my costume block is a table with three columns. Each row is one pixel from the image (each with red, green, and blue values), so the three columns in the table are the amount of red, green, and blue in each pixel of the image.

        +
        Once day, a picture might be nice inside this hint. --MF, 9/13/21
        + Click for instructions for viewing a table as a list of lists. +
        +

        Click the pixels of my costume block, and then right-click the table that appears and select "list view...". You will see the exact same data displayed as a list of lists. (You can right-click the over-arching list and select "table view..." to see the data as a table again.)

        +
        +
        +

        +
        + +

        Selecting One Item from a List

        +

        + Because a table is a list, you can use the item () of 'list input slot' block to select one row of RGB values from the table (that is, one pixel from the list). You have seen item of select a random item from a list:
        + random job: {report (item (random) of (list (artist) (computer programmer) (cashier) (musician) (landscaper) (nurse) (plumber)))} +

        +

        + Since each item in the output of the pixels of my costume block is one pixel, you can use item of to retrieve the list of color values for one pixel at at time. +

        + +
        +
          +
        1. + The expression below reports the very first pixel from the table. Click it to see a list of the RGB values for the very first pixel in the costume (the pixel in the top left corner).
          + item (1) of (pixels of my costume) reporting {220, 220, 228} +
          The output of the expression item (1) of (pixels of my costume) is a list of three values: the amount of red, green, and blue in the first pixel of the costume.
          +
        2. +
        3. Move your mouse over the image on the stage again. Choose any pixel and write down it's pixel number and RGB value.
        4. +
        5. + Change the first input to the expression item (1) of (pixels of my costume) (that is, change the "1") to the pixel number you wrote down, and run that code again. The output should match the RGB value you wrote down. +
            + Talk with Your Partner +
          • What does the item of block do?
          • +
          • What is the output of pixels of my costume that becomes the input to item of?
          • +
          • Describe why the expression item of (pixels of my costume) reports what it does.
          • +
          +
        6. +
        +
        + +
        In this activity, you learned about sprites and costumes, saw how pixels are stored as lists of color values and images are stored as tables of pixels, and learned how to use item of to select one item from a list.
        + + + + diff --git a/middle-school/student-pages/U1/L4/04-pixel-mapper.html b/middle-school/student-pages/U1/L4/04-pixel-mapper.html new file mode 100644 index 0000000000..22ef6be648 --- /dev/null +++ b/middle-school/student-pages/U1/L4/04-pixel-mapper.html @@ -0,0 +1,254 @@ + + + + + + Unit 1 Lab 4: Image Manipulation, Activity 4 + + + +

        Transforming Every Pixel

        + +
        +

        Other XML tasks for Mary: remove all opacity stuff. --MF, 8/25/21

        +
        + +
        +

        In the future, we could have a histogram/pictograph showing how much red, green, and blue is in the image, building on 1.3. Thoughts? --MF, 8/26/21

        +

        Also/alternatively, we could do the frequency analysis stuff from the Jens's Snap! 5 Data Science video. --MF, 8/29/21

        +
        +
        In this activity, you'll access data about the pixels, apply a function to every pixel in an image and use that same process to filter a image by manipulating each of its pixels.
        + +

        Selecting a Single Color

        +

        You can use code to access information about one color of a pixel.

        +
        +
          +
        1. If your project isn't open already, log in to Snap! and open your "Image Manipulation" project.
        2. +
        3. + You've seen how to select one pixel from a table using item of...
          +
          + 'pixels of my costume' reporting a table with 3 columns and 5 visible rows. (There is a row count of 15,552 in the upper left corner; not all rows are visible). The first column includes values ranging from 111-118; the second column includes values ranging from 111-117; the third column includes values ranging from 112-122. + item (1) of (pixels of my costume) reporting {220, 220, 228} +
          +

          Now write a function that use item of to select just the green color value from the 85th pixel in the pixels of my costume table.

          +
          + Click for a hint. +
          +

          Imagine you had a list of RGB color values, such as list (111) (111) (112). Consider: How could you use item of to select the green value? Then, recall that item (85) of (pixels of my costume) reports a list of RGB color values for the 85th pixel of the current costume.

          +
          +
          +
        4. +
        5. Talk with Your Partner How would you change your code to report just the blue color value?
        6. +
        +
        +

        + The color () from pixel 'list input slot' block makes this job easier. Instead of having two item of blocks (which can be confusing), this block takes a color name and a pixel as input and it applies item of (with the correct input number) to the input pixel. +

        +
        : Abstraction +

        Hiding the details of how color from pixel selects the correct RGB value from a pixel (so you don't have to see the extra item of block) is a form of abstraction.

        +
        +
        +
          +
        1. + Click the following expression, then change the input color to "blue", and click it again. The outputs should be the same as you found before for the 85th pixel.
          + color 'green' from pixel (item (85) of (pixels of my costume) +
        2. +
        +
        +
        +
          +
        1. The color from pixel block uses the item of block to select the right item. To see how it works, right-click color from pixel, and select "edit…".
        2. +
        +
        + + +
        I want to use the draw pixel block as a one-pixel segue into mapping channel edits over an image. --MF, 8/27/21
        + + +

        Mapping over a List

        +

        You can use map 'reporter input slot' over 'list input slot' to apply any block that works on one list item every item in a list.

        +
        +
          +
        1. + Click the following expression, which uses map to apply color from pixel to every pixel in the pixels of costume list.
          + map (color ('red') from pixel 'list input slot') over (pixels of my costume)) +
        2. +
        3. Compare the output of the map expression to the output of pixels of costume.
        4. +
        5. Change the input color in the color from pixel block, and compare to pixels of costume again.
        6. +
        7. Talk with Your PartnerWhat does this map expression do? +
          + Click for a description of what the map expression does. +
          +

          Since color (red) from pixel 'list input slot' reports a single color value from the input pixel (in this case, the red value), the expression map (color ('red') from pixel 'list input slot') over (pixels of my costume)) reports a single color value from each pixel in the pixels of costume list (in this case, the red value of each pixel).

          +

          + Click for an example of what the map expression reports. +

          +

          + For example, with "red" as the input to color from pixel, the map expression reports a list of only the red values of all the costume's pixels:
          +

          +
          Result of pixels of costume
          +
          Result of mapping color (red) from pixel over pixels of costume
          +
          table with 4 columns and 8 rows showing, though there is a row count of 13,824 in the upper left corner (not all rows are visible). The first column includes values ranging from 142-145; the second column includes values ranging from 165-168; the third column includes values ranging from 197-200.
          +
          list with 8 items showing, though there is an item count of 13,824 in the upper left corner (not all items are visible). The values of the list items range from 142-145.
          +
          +

          +
          +

          +
          +
          +
        8. +
        +
        + +
        : Higher Order Function +

        Map is a higher order function. That just means that it's a function that takes a function as input.

        +
        +

        + This map expression takes two inputs: +

          +
        1. The function color from pixel: color (red) from pixel 'list input slot'
        2. +
        3. + The output of the function pixels of my costume (Click for a reminder of the output.) +
          'pixels of my costume' reporting a table with 3 columns and 5 visible rows. (There is a row count of 15,552 in the upper left corner; not all rows are visible). The first column includes values ranging from 111-118; the second column includes values ranging from 111-117; the third column includes values ranging from 112-122.
          +
        4. +
        +

        + map (color ('red') from pixel 'list input slot') over (('pixels') of costume (my ('costume')))) +

        + You can tell the difference between the second input slot to map 'reporter input slot' over 'list input slot', which takes the output of a function (like most inputs do), and the first input slot, which takes a whole function itself (not its output), because the first input slot has a gray ring around it. The gray ring tells you that the function is taking a function itself (not the output of the function) as an input.
        + gray ring +

        +

        Map takes a function as input so it can apply that function to each item in the list. The empty input slot in the function (in this case, the pixel) is where each item from the list (in this case, the list of pixels) goes every time the function is applied.

        +
        +
        + +

        Consider a page break here. --MF, 9/13/21


        + +

        Playing with Filters

        +
        I dropped what had been the second filter here because I found it both too confusing and redundant with the first; I propose we leave that out. --MF, 9/13/21
        +
        +
          +
        1. + Mystery Filter #1: +
            +
          1. + Talk with Your Partner What will the following map expression report?
            + map (RGB pixel, red: (color (red) from pixel 'empty list input slot') green: (0) blue: (0)) over (pixels of costume) +
          2. +
          3. + After making your prediction, click the expression to see what is reported. If it isn't what you expected, talk through why this is the result. +
          4. +
          5. + Run the "Mystery Filter #1." If it's not using your favorite costume, you can change the costume in the use costume dropdown menu.
            + use costume (parrots) with pixel filter ((map (RGB pixel, red: (color (red) from pixel 'empty list input slot') green: (0) blue: (0)) over (pixels of costume))) +
          6. +
          7. What does Mystery Filter #1 do?
          8. +
            +
            Image needs to be updated. --MF, 9/13/21
            +

            Click for a description of what Mystery Filter #1 does.

            +
            +

            + Mystery Filter #1 creates a new costume which contains only the red pixels from the original costume by setting the green and blue to zero. Mouse over the result to verify that there are no pixels with any green or blue in them.
            + image of Snap! stage with and all-red photo of a person making a silly face. In the upper left corner there is an 8 by 8 grid of squares of various shades of red representing a zoomed in portion of the red photo. Below the grid are two lines of text: 'RGB:164,0,0,255' and 'XY: 95,35' +

            +
            +
            +
          9. + Talk with Your Partner +
              +
            1. If an area of the resulting image is black, what does that mean about the original color?
            2. +
            3. What kinds of images would turn mostly or completely black with this filter?
            4. +
            +
          10. +
          +
        2. +
        +
        +
        +
          +
        1. How could you make a filter that showed only the green or only the blue values?
        2. +
        3. How could you make a filter that blocked only the red, green, or blue values?
        4. +
        +
        + +
        +
          +
        1. + Explore the scale red to (200) % green to (200) % blue to (200) % for pixel 'list input slot' block. +
            +
          1. + Click the following instruction to paint a brown color on the stage.
            + paint color, RGB: (RGB pixel, red: (128) green: (64) blue: (0)) +
          2. +
          3. + Then drag the RGB pixel block out of the paint color block and into the scale pixel block, and click the new scale pixel expression.Talk with Your PartnerHow does the scale pixel block change the values of the input pixel? +
          4. +
          5. Predict: What do you think will happen if you drag the scale pixel expression into the paint color block and click it? Try it.
          6. +
          +
        2. +
        3. + Mystery Filter #2: +
            +
          1. + Talk with Your Partner What do you think the following map expression will to the pixels from the costume?
            + map (scale red to (200) % green to (200) % blue to (200) % for pixel 'list input slot') over (pixels of costume) +
          2. +
          3. + After making your prediction, click the expression. If the output isn't what you expected, discuss the result. +
          4. +
          5. + Run the "Mystery Filter #2." (You can change the costume if you like.)
            + use costume (parrots) with pixel filter ((map (scale red to (200) % green to (200) % blue to (200) % for pixel 'list input slot') over (pixels of costume))) +
          6. +
          7. What does Mystery Filter #2 do?
          8. +
            +

            Click for a description of what Mystery Filter #2 does.

            +

            Mystery Filter #2 brightens the whole image by increasing the red, green, and blue values each to 200% (twice) their original value. This brings them closer to white: 255, 255, 255 (unless they started at 0).

            +
            +
          9. + Talk with Your Partner +
              +
            1. Can you make the image even brighter?
            2. +
            3. Can you make the image much darker?
            4. +
            5. What happens if you scale different colors to different percentages of their original values?
            6. +
            +
          10. +
          +
        4. +
        +
        +
        +
          +
        1. The scale up block won't change black pixels. Why not?
        2. +
        +
        +
        +
          +
        1. Try building an image filter of your own.
        2. +
        +
        + + +
        Cut for now. Maybe build into an extension activity... --MF, 9/13/21 +
        +
          +
        1. + Click the script under the "Filter #4: Posterize" comment, changing the costume first as desired.
          + +
        2. +
        3. + Filter #4 (posterization) simplifies the colors in an image. If a pixel's red is greater than the red cutoff, then it's rounded up to 255, otherwise it's rounded down to 0. The same happens for the green and blue cutoffs. Talk with Your Partner +
            +
          • What happens when you change the red cutoff? Does it become more or less red?
          • +
          • What about if you set a cutoff all the way up to 255? Or all the way down to 0?
          • +
          +
        4. +
        +
        +
        + +
        In this activity, you learned how to select a single pixel out of an image or and a single color value out of a pixel, how to apply a function to every element of a list using map, and used map to explore several filters that transformed each pixel in the image.
        + + + + diff --git a/middle-school/student-pages/U1/L5/02-caesar-cipher.html b/middle-school/student-pages/U1/L5/02-caesar-cipher.html index ef307e3e72..219a2a52d4 100644 --- a/middle-school/student-pages/U1/L5/02-caesar-cipher.html +++ b/middle-school/student-pages/U1/L5/02-caesar-cipher.html @@ -7,8 +7,216 @@ -

        Caesar Cipher

        +

        Writing and Decoding Secret Messages

        +
        "Apply multiple methods of encryption to model the secure transmission of information. + Encryption can be as simple as letter substitution or as complicated as modern methods used to secure networks and the Internet. Students should encode and decode messages using a variety of encryption methods, and they should understand the different levels of complexity used to hide or secure information. For example, students could secure messages using methods such as Caesar cyphers or steganography (i.e., hiding messages inside a picture or other data). They can also model more complicated methods, such as public key encryption, through unplugged activities. + Practice(s): Developing and Using Abstractions: 4.4"
        + +
        +

        In this lab, you will learn about security risks on the Internet and how data can be encoded to protect it.

        +

        On this page, you will experiment with different ways of encoding and decoding a message and learn a simple method of symmetric encryption.

        +
        +

        Messages sent across the Internet need to be secure so that they can't be read by computers along the way.

        +
        +
          +
        • Encryption is the process of encoding data to prevent unauthorized access.
        • +
        • Decryption is the process of decoding data.
        • +
        +
        +

        There are many ways to encrypt information...

        + +
        +
          +
        1. Write a secret message, invent some way of encoding the message, and then give the encoded message to someone else.
        2. +
        3. Try to decode the message you receive. What strategies are you using to decode it?
        4. +
        5. With other students, compare the methods you used to encode your messages. Was anyone able to decode the message they received? If so, how?
        6. +
        7. If anyone wasn't able to decode the message they received, discuss how to decode that message and then let them decode it.
        8. +
        +
        + +

        Caesar Cipher

        +

        + One way to encode a message is with a Caesar cipher (named for Julius Caesar), which is also know as a shift cipher. To encode a message with a Caesar cipher: +

          +
        1. Write out the alphabet. Then write it again just below, but start with the A under a different letter and wrap around to the beginning when you reach the end. For example, this is a shift of 3: +
          ABCDEFGHIJKLMNOPQRSTUVWXYZ
          +
          DEFGHIJKLMNOPQRSTUVWXYZABCThis is the key.
          +
        2. +
        3. For each letter in your secret message, find the letter in the top row, and then write down the letter below it.
        4. +
        +

        +

        To decode a message: find each letter from the coded message in the second row (in the key) and write down the letter above it.

        + +
        +
          +
        1. + Decode this message using the Caesar cipher shown above:
          +
          FDHVDU'V PHVVDJHV ZHUHQ'W YHUB VHFXUH.
          +
          CAESAR'S MESSAGES WEREN'T VERY SECURE.
          +
        2. +
        3. + The following message was also encoded using a Caesar cipher but with a shift of 11 instead of a shift of 3. Write out a key for messages with a shift of 11, and decode this message:
          +
          SZH NZFWO JZF XLVP L MPEEPC NTASPC?
          +
          HOW COULD YOU MAKE A BETTER CIPHER?
          +
        4. +
        +
        +
        +
          +
        1. + This message was also made with a Caesar cipher. Can you decode it?
          +
          PIAWLTY EZ JZFC NWLDDXLEPD SZH JZF OPNZOPO ESTD XPDDLRP. +
          +
          EXPLAIN TO YOUR CLASSMATES HOW YOU DECODED THIS MESSAGE.
          +
        2. +
        +
        +
        +
          + Talk with Your Partner +
        1. Discuss how to decode a Caesar cipher even if you don't know the shift.
        2. +
        3. How could you encode a message more securely?
        4. +
        +
        + +

        Other Simple Substitution Ciphers

        +

        + The Caesar cipher is one kind of simple substitution cipher that is particularly easy to encode and decode. But simple substitution ciphers don't have to substitute letters in order. Here is a more secure example of a substitution cipher: +

        ABCDEFGHIJKLMNOPQRSTUVWXYZ
        +
        PQVFUBZOTHWYELIXRNAMGDSCKJThis is the key.
        +

        +
        +
          +
        1. + Decode this message using the simple substitution cipher shown just above:
          +
          VTXOUNA PNU UPAK MI VNPVW.
          +
          CIPHERS ARE EASY TO CRACK.
          +
        2. +
        +
        + +
        +
          + Talk with Your Partner +
        1. If you intercepted a message that was created with a simple substitution cipher, how might you decode it without knowing the key?
        2. +
        3. What are some ways the sender and receiver could make the encryption more secure than a simple substitution cipher?
        4. +
        +
        +
        + + +

        New Page


        Only drafted up to here. Below is just CSP. --MF, 9/10/21

        +

        Programming a Shift Cipher

        + + +
        +
          +
        1. Talk with Your Partner Describe an algorithm for decoding a message that was created with a shift cipher.
        2. +
        +
        + + +
        + Add to TG +
          +
        1. + A simple substitution cipher is relatively easy to break because some letters are used more frequently than others. + +
        2. +
        3. Read "Secret Keys and One-Time Pads" (Blown to Bits pages 169-173) to learn about Vigenère ciphers and methods used during World War 2 and the Cold War.
        4. +
        +
        + + +
        On this page, you will program a shift cipher procedure to encrypt/decrypt text.
        +

        + Computers store keyboard characters (capital and small letters, punctuation marks, space, digits, symbols, and so on) as numbers called Unicode. This table shows the Unicode for some of the keyboard characters:
        + Unicode Table +

        + +

        + The unicode of block reports the number that is used for a particular character:
        + unicode of (a) reporting '97'
        + The unicode as letter block reports the character that a given Unicode number represents:
        + unicode (65) as letter reporting 'A' +

        + +
        +
          +
        1. Experiment with the unicode of and unicode as letter blocks. Try changing a word into Unicode, telling the Unicode to a friend, and then having them change it back into a word.
        2. +
        3. On paper, use a shift cipher to encrypt and decrypt a short message to get a feel for how this cipher works.
        4. +
        5. Write a shift cipher procedure that works for any input text and any shift value.
        6. +
          +

          Why do we see characters like = ? @ # ^ * { or ~ ?

          +
          +

          You can safely assume that shifting any set of text characters a reasonable distance will result in a set of printable characters, which may include non-alphanumeric (not letter or digit) characters.

          +

          For example, if we use a shift of 4 to encrypt:

          +

          Invasion of Normandy is on 6 June 1944

          +

          it becomes:

          +

          Mrzewmsr$sj$Rsvqerh}$mw$sr$:$Nyri$5=88

          +

          +

            +
          • Which character in ciphertext (the coded version) represents a space in the plaintext?
          • +
          • In this code, 1 becomes 5 and 4 becomes 8, clearly showing the shift of 4. What does 9 become?
          • +
          +

          +
          +

          What if your decrypted text is missing some letters?

          +
          +

          If you copy your encrypted message with a method other than by using copy and paste (for example, by writing it by hand or typing it into a phone), some characters may disappear from your message. This is because some of the Unicode characters after 126 are printing characters that symbolize things like "delete." These characters won't get displayed in Snap!, so you can't copy them by hand, but if you use copy and paste, Snap! knows they are there. In Take It Further exercise A, you can develop a method of encryption that avoids this problem.

          +
          +
          +
        7. Now test your work. Agree with your partner on a shift value for the encryption. Then use your program to encrypt a secret message and e-mail it to your partner. Then let your partner decrypt your message by using the program to reverse the shift.
        8. +
          + You can extract the encrypted messages from the Snap! interface by right-clicking on the variable that holds the encrypted message and selecting the “Export” option which will download a text file to your computer which then you can copy/paste.
          + export option +
          +
        +
        + +
        +
          +
        1. + Improve your initials block from your U3L2-ContactList project so that it will find the initials for a person with a hyphenated name like Alexandria Ocasio-Cortez.
          + initials of (Alexandria Ocasio-Cortez) reporting AOC +
          + Click for some hints. +
          + There are several ways you could solve this problem. Both of the following ways require higher order functions. (You can review the higher order functions map, keep, and combine on Unit 3 Lab 2 Page 5: Transforming Every List Item.) +
            +
          • + One way is to use the unicode block to select all the capital letters rather than splitting by word breaks. +
              +
            • If you want to use Unicode, you'll probably want to build or import a block like is between? from your U2L4-MathLibrary project to check which Unicode values are capital letters. (You learned about exporting and importing blocks on Unit 2 Lab 4 Page 2: Making a Mathematical Library.)
            • +
            +
          • +
          • + Another way is to use the split block to check for hyphens as well as to check for spaces between words. + +
          • +
          +
          +
          +
        2. +
        +
        + + +
        +
          +
        1. Implement a version of the shift cipher that not only shifts the characters but also wraps them around the alphabet when the end of the alphabet is reached. You may wish to restrict your alphabet to the set of printable characters given above in the Unicode table.
        2. +
        3. Do some research on other types of ciphers used historically. Especially read about the Vigenere Cipher which was used extensively in communicating sensitive information during World War 2.
        4. +
        5. Create your own encryption/decryption scheme and implement it in Snap!.
        6. +
        +
        + +
        diff --git a/middle-school/teaching-guide/U1/01-intro-to-snap.html b/middle-school/teaching-guide/U1/01-intro-to-snap.html index a45d0c519d..41451503de 100644 --- a/middle-school/teaching-guide/U1/01-intro-to-snap.html +++ b/middle-school/teaching-guide/U1/01-intro-to-snap.html @@ -153,17 +153,17 @@

        Activity 2: Draw Like a Computer. 

        Programmer's Original Drawing

        - a drawing of three shapes of the same width stacked in a column with each one touching the next one at a single point: an equilateral triangle with a vertex up, a circle, and a square with its sides parallel to the sides of the browser window + a drawing of three shapes of the same width stacked in a column with each one touching the next one at a single point: an equilateral triangle with a vertex up, a circle, and a square with its sides parallel to the sides of the browser window

        Two Possible Computer Drawings

        - two drawings that don't match the original: 1) the same three shapes from the original drawing but overlapping as much as possible so that their topmost points are all aligned; and 2) a square titled to the left with a very tiny circle resting on its top near the left corner, and a long irregular triangle with its most-extended vertex touching the circle and the other two vertices above and to the right of the square and circle + two drawings that don't match the original: 1) the same three shapes from the original drawing but overlapping as much as possible so that their topmost points are all aligned; and 2) a square titled to the left with a very tiny circle resting on its top near the left corner, and a long irregular triangle with its most-extended vertex touching the circle and the other two vertices above and to the right of the square and circle

        -
      • Show them the programmer's original drawing, and let students share their pictures. Celebrate those that are farthest from the original drawing but still followed the instructions precisely.
      • +
      • Show them the programmer's original drawing, and let students share their pictures. Celebrate those that are farthest from the original drawing but still followed the instructions precisely.
      • Then, have students work through the student-facing web page for this activity. @@ -282,8 +282,8 @@

        Activity 4: Say Hello to Snap!. 
      • Students explore two blocks:
          -
        • say hello to () in ('English'), which takes a name and a language as input and reports a greeting to that person in the selected language.
        • -
        • fancy (), which takes text as input and reports the same text with any letters changed to fancy Unicode letters
        • +
        • say hello to () in ('English'), which takes a name and a language as input and reports a greeting to that person in the selected language.
        • +
        • fancy (), which takes text as input and reports the same text with any letters changed to fancy Unicode letters
      • Students then nest the fancy block inside the say hello block and observe how the input of fancy becomes the input to say hello.
      • diff --git a/middle-school/teaching-guide/U1/02-storytelling.html b/middle-school/teaching-guide/U1/02-storytelling.html index 066249e6c2..2844386840 100644 --- a/middle-school/teaching-guide/U1/02-storytelling.html +++ b/middle-school/teaching-guide/U1/02-storytelling.html @@ -11,7 +11,7 @@

        Lab 2: Super Short Stories  

        This lab builds student understanding of reporter functions and their inputs. In the introductory story-building activity, students change the inputs to a super short story block (procedure) that takes multiple inputs, use random word generator blocks as inputs to the super short story block, and edit the code behind the random word generator blocks.
        - Super Short Story, feeling: (random feeling) job: (random job) action: (random action) place: (random place) action: (random action) number: (pick random from (1) to (10)) color: (random color) plural animal: (plural of (random animal)) food: (random food)
        + Super Short Story, feeling: (random feeling) job: (random job) action: (random action) place: (random place) action: (random action) number: (pick random from (1) to (10)) color: (random color) plural animal: (plural of (random animal)) food: (random food)
        Editing the list of possible random words for the generator blocks serves as students' first introduction to block-editing, randomness, and lists. As the lab progresses, students use the operators pick random from (1) to (10) and join () () as inputs to super short story then create a simple plural of block to abstract away the join function, and finally edit the super short story itself to customize it with their own story structure and create their own random word generator blocks. Along the way, students learn about nesting functions, creating and editing functions, and input parameters and arguments, and they build facility with the Snap! interface.

        @@ -111,7 +111,7 @@

        Activity 1: Super Short Story Builder. 
        • Students explore a super short story block that generates a short story using its inputs. They change the inputs and observe the impact on the reported sentence.
          - Super Short Story block with a variety of inputs reporting a single-sentence story using those inputs + Super Short Story block with a variety of inputs reporting a single-sentence story using those inputs
        • Students then explore several simple random blocks that report random words from various categories (action, place, color, food, etc.) and use these random word generators inside the super short story block.
        • Students then edit some of the random blocks to customize the story further.
        • diff --git a/middle-school/teaching-guide/U1/03-dealing-with-data.html b/middle-school/teaching-guide/U1/03-dealing-with-data.html index fb79a98285..f603d73d07 100644 --- a/middle-school/teaching-guide/U1/03-dealing-with-data.html +++ b/middle-school/teaching-guide/U1/03-dealing-with-data.html @@ -3,6 +3,7 @@ + Middle School Unit 1 Lab 3 Teacher Guide @@ -21,19 +22,7 @@

          Pacing

        - ↑ Back to Top -

        Daily Activity: Computing in the News. 

        -

        Every day of BJC should begin with a 5-minute student presentation on a recent news article about computing. This helps build a foundation for considering the impacts of computing technologies on employment, issues of bias and accessibility, and tradeoffs between public access to information and security. Read Computing in the News for additional details and suggested news sources.

        -
        -
          -
        • - Prepare: -
            -
          • Assign to one student or a pair of students a recent news article about computing for them to read and then summarize for the class during the next class period.
          • -
          -
        • -
        -
        +
        ↑ Back to Top

        Activity 1: Gathering Data. 

        diff --git a/middle-school/teaching-guide/U1/04-image-manipulation.html b/middle-school/teaching-guide/U1/04-image-manipulation.html index f1de138187..245dc1ff7c 100644 --- a/middle-school/teaching-guide/U1/04-image-manipulation.html +++ b/middle-school/teaching-guide/U1/04-image-manipulation.html @@ -3,78 +3,117 @@ + Middle School Unit 1 Lab 4 Teacher Guide

        Lab 4: Image Manipulation

        -
        I'm a bit confused about what this lab and the activities are called. Pamela, could you please clarify, and I'll change throughout? Thanks! :) --MF, 8/13/21
        - I had a hard time on names too. I like "Picture of a Pixel". I like Pixel Manipulation too, except that the lab as a whole is called "Image Manipulation", so that feels too similar. We could call it "Pixel Mapper" to really put the emphasis on the map operation, but maybe we explicitly want to avoid it. Other ideas I had were "Picture Filters" "Photo Filters" "Pixel Magic" "RGB Transformations". Votes? -- PF, 8/16/21 -
        -

        PURPOSE STATEMENT

        -
        Why do we need a say block? --PF, 8/16/21
        - -
        We'll need a say block here at the end.
        +

        This lab teaches about pixels—what they are, how they make up an image on the screen, and how manipulating their red, green, and blue values can change an image. Students begin by watching a few videos demonstrating that a screen is indeed made up of tiny squares of red, green, and blue. They then view an image made up of large pixels at low resolution and increase the resolution (while shrinking the pixels) to see the pixels disappear as the image becomes more visible. Students then learn about lists and tables as they explore the RGB values of pixels in an image, explore the higher order function map as they select a single color value from each pixel in an image, and explore several filters that apply a transformation to each pixel of an image.

        Pacing

        +
        Pamela, what do you think of these time estimates? --MF, 8/25/21

        - This lab is designed for X–X class periods (X–X minutes). + This lab is designed for 2–4 class periods (65–160 minutes).

        - ↑ Back to Top -

        Daily Activity: Computing in the News. 

        -

        Every day of BJC should begin with a 5-minute student presentation on a recent news article about computing. This helps build a foundation for considering the impacts of computing technologies on employment, issues of bias and accessibility, and tradeoffs between public access to information and security. Read Computing in the News for additional details and suggested news sources.

        -
        -
          -
        • Prepare: Assign to one student or a pair of students a recent news article about computing for them to read and then summarize for the class during the next class period.
        • -
        -
        +
        ↑ Back to Top

        Activity 1: Picture of a Pixel. 

        • Materials: Picture of a Pixel student page
        • +
          + If your connection blocks YouTube, your students can watch the videos here:
          + +
        • Prepare:
        • Learning Goals:
            -
          • Learn that images are made up of pixels.
          • +
          • Learn that images are made up of pixels, which can be stored as lists of color values.
          • Learn that pixels are made up of varying levels of red, green, and blue elements.
          • -
          • Learn that a "white" pixel is actually made up of red/green/blue at full brightness.
          • -
          • When an image is made up of large blocks of solid color, it's easier to recognize at lower resolutions.
          • +
          • Observe that images become more recognizable and detailed at higher resolutions.
        • Activity Plan:
            -
          • Students read about RGB Colors and experiment with photos with varying resolutions.
          • +
          • Students watch several videos demonstrating that screens are made up of pixels. (5–10 minutes)
          • +
          • The class then experiments in Snap! with photos at various resolutions. Show a mystery image at lowest resolution, gradually increase the resolution until students begin guessing the image, and keep track of the resolution at which students successfully guess the picture. Then repeat the process for another mystery image. (5–10 minutes)
        • Tips:
            -
          • We recommend doing this activity as a teacher-led demonstration where you control the project on a projector, ask students for their guesses and thoughts, and keep track on a chalkboard of the resolution at which students successfully guess pictures. -
          • This activity was developed based on the Snap! 5 Data Science video by Snap! designer, Jens Mönig.
          • +
          • There are two videos included in the student-facing activity. The first is quite short (about 20 seconds), but the second is longer (almost 12 minutes). It is not necessary to watch the entirety of the second video; the first three minutes will suffice.
          • +
          • This activity was inspired by the Snap! 5 Data Science video by Snap! creator, Jens Mönig.
          • +
          +
        • +
        • + Standards: +
            +
          • 2-DA-07: Represent data using multiple encoding schemes.
          • +
          +
        • +
        +
        + + ↑ Back to Top +

        Activity 2: Exploring RGB Colors. 

        +
        +
          +
        • Materials: Exploring RGB Colors student page
        • +
        • + Prepare: + +
        • +
        • + Learning Goals: +
            +
          • Learn that different colors can be created by adjusting RGB values.
          • +
          +
        • +
        • + Activity Plan (10–20 minutes): +
            +
          • Students explore RGB colors by using several Snap! blocks: +
              +
            • RGB pixel, red: (85) green: (170) blue: (255), which take three integers from 0 to 255 as input and reports a list of the those three color values.
            • +
            • draw pixel 'list input slot', which takes a list of RGB values (such as the output of RGB pixel) as input and draws a large model of a pixel with those values.
            • +
            • + paint color from pixel, which takes two inputs, a list of RGB color values (such as the output of RGB pixel) and a resolution (selected from a dropdown menu), and paints a grid of pixels with those color values at the specified resolution. At higher resolutions, the pixels will blend into a single RGB color.
              + paint color from pixel (RGB pixel, red: (85) green: (170) blue: (255)) +
            • +
            +
        • +
        • Standards:
            @@ -85,41 +124,94 @@

            Activity 1: Picture of a Pixel. 

        ↑ Back to Top -

        Activity 2: Pixel Manipulator. 

        +

        Activity 3: Investigating and Storing Images. 

        • Materials: +
          We created Google slides for this activity, but they are not up to date with the current version of the lab.
        • Prepare:
            -
          • You may wish to teach this activity through the slide deck. Review them and decide.
          • +
          • You may wish to teach this activity through the slide deck. Review them and decide. (Please note that the activity pages have been developed further since the slides were created.)
        • Learning Goals:
            -
          • Explore various Snap! costumes.
          • -
          • Learn how images are stored in Snap! as table (lists of lists).
          • -
          • Create more complex expressions by nesting functions.
          • -
            map? (not an intro to map, abstract it as transform?), inequalities intro, reporter IF
            +
          • Explore various Snap! costumes and their pixels.
          • +
          • Learn that images are stored as tables (lists of lists), in which each row is one pixel.
          • +
          • Use item of to select a single pixel from a list.
          • +
          • Understand a chain of functional results by discussing how the output of one function serves as the input to another function.
        • Activity Plan:
            -
          • Students explore various functions that manipulate an image pixel by pixel.
          • +
          • Students learn about Snap! costumes and zoom in on an image of their choosing to see the RGB values of each pixel. (5–10 minutes)
          • +
          • Optionally, students may add their own image to the Snap! project. (5–10 minutes)
          • +
          • Students see how the pixels in images are stored as rows in a table, select a specific pixel from an image, and discuss how the output of one function becomes the input to another function. (10–20 minutes)
          • +
            For the future...
          • The class watches the Domain and Range video. (5–10 minutes)
        • Tips:
            -
          • +
          • The "If There is Time" activity invites students to add their own images to the Snap! project either by taking a picture with a webcam or dragging an image file into the "Costumes" tab in Snap!. If your class (or any given student or group of students) has extra time, this can be a fun way to personalize the project and learn new Snap! features, but as with any "If There Is Time" extension, it's not necessary for understanding the learning goals of this page.
          • +
          +
        • +
        • + Standards: +
            +
          • 2-DA-07: Represent data using multiple encoding schemes.
          • +
          +
        • +
        +
        + + ↑ Back to Top +

        Activity 4: Transforming Every Pixel. 

        +
        +
          +
        • Materials: Transforming Every Pixel student page
        • +
        • + Prepare: +
            +
          • If you aren't familiar and comfortable with the higher order function map, you may want to work through the activity on your own before supporting students through this activity. There is additional information about the map function in the section on "Higher Order List Operations and Rings" in the Snap! Reference Manual.
          • +
          +
        • +
        • + Learning Goals: +
            +
          • Learn how to select a item out of a list and a single cell out of a table.
          • +
          • Use map to apply functions to every element in a list.
          • +
          • Read more complex expressions with nesting functions.
          • +
          • Explore several image filters that transform each pixel in an image.
          • +
          +
        • +
        • + Activity Plan: +
            +
          • Student use functions to select a specific color value from a pixel. (5–10 minutes)
          • +
          • Students learn about the map higher order function and use it to select only the red pixels from an image. (5–10 minutes)
          • +
          • Students explore several mystery filters that manipulate an image pixel by pixel (10–30 minutes)
          • +
          +
        • +
        • + Tips: +
            +
          • There are several sets of optional, extension activities on this page: +
              +
            • The first "If There is Time" invites students to take a look at the code behind the color from pixel block. This code uses predicates and reporters, which aren't introduced until Unit 2. It's not recommended to teach this content now, but, being a fairly readable block of code, is offered as a preview of what is to come.
            • +
            • The second set of "If There is Time" prompt invites students to adjust the inputs to Mystery Filter #1 to achieve other goals.
            • +
            • The third "If There is Time" set asks a deeper question about multiplying zero by a percentage.
            • +
            • There is also a "Take It Further" prompt that invites students to create additional image filters of their own design.
            • +
            +
        • diff --git a/topic/middle-school/1-functions-data.topic b/topic/middle-school/1-functions-data.topic index 0b43071075..11bf21f51c 100755 --- a/topic/middle-school/1-functions-data.topic +++ b/topic/middle-school/1-functions-data.topic @@ -13,13 +13,16 @@ heading: Lab 2: Super Short Stories resource: Refining the Story [/bjc-r/middle-school/student-pages/U1/L2/02-refining-the-story.html] resource: Creating and Editing Blocks [/bjc-r/middle-school/student-pages/U1/L2/03-creating-editing-blocks.html] + raw-html: pictograph with ice cream cones; the vertical axis is labeled 'Number of students' and the categories along on the horizontal axis are 'MintChip' showing three ice cream cones, 'Vanilla' showing four ice cream cones,  and 'Orange' showing one ice cream cone heading: Lab 3: Dealing with Data resource: Gathering Data [/bjc-r/middle-school/student-pages/U1/L3/01-gathering-data.html] resource: Visualizing Data [/bjc-r/middle-school/student-pages/U1/L3/02-visualizing-data.html] heading: Lab 4: Image Manipulation resource: Picture of a Pixel [/bjc-r/middle-school/student-pages/U1/L4/01-picture-of-a-pixel.html] - resource: Pixel Manipulator [/bjc-r/middle-school/student-pages/U1/L4/02-pixel-manipulator.html] + resource: Exploring RGB Colors [/bjc-r/middle-school/student-pages/U1/L4/02-exploring-rgb-colors.html] + resource: Investigating and Storing Images [/bjc-r/middle-school/student-pages/U1/L4/03-investigating-and-storing-images.html] + resource: Pixel Mapper [/bjc-r/middle-school/student-pages/U1/L4/04-pixel-mapper.html] heading: Lab 5: Storing and Securing Data //resource: Numbers, Bits, and Electricity [/bjc-r/middle-school/student-pages/U1/L5/01-numbers-bits-electricity.html] diff --git a/topic/middle-school/1-teaching-guide.topic b/topic/middle-school/1-teaching-guide.topic index 21506ade93..6306135ee5 100644 --- a/topic/middle-school/1-teaching-guide.topic +++ b/topic/middle-school/1-teaching-guide.topic @@ -3,13 +3,12 @@ title: Teaching Guide for Unit 1: Functions and Data { h3: Purpose - raw-html: pictograph with ice cream cones; the vertical axis is labeled 'Number of students' and the categories along on the horizontal axis are 'MintChip' showing three ice cream cones, 'Vanilla' showing four ice cream cones,  and 'Orange' showing one ice cream cone + raw-html: pictograph with ice cream cones; the vertical axis is labeled 'Number of students' and the categories along on the horizontal axis are 'MintChip' showing three ice cream cones, 'Vanilla' showing four ice cream cones,  and 'Orange' showing one ice cream cone raw-html:

          This unit starts with the basics of functional programming—creating abstractions in the form of reporters (i.e., functions) and predicates (i.e., functions that return Booleans) through control structures, to using the higher-order functions map, keep, and combine. Students explore the Snap! programing environment using functions to process inputs, which may themselves be the outputs of other functions. After learning the basics of working in Snap!, students create projects with using lists, sounds, and other common data types (numbers, text, emojis, etc.) as they learn the basics of bits, characters, and how functions behave.

          h3: CSTA Standards: raw-html:
          These need to be updated after all the pages are finalized. --MF
          raw-html:

            - raw-html:
          • 2-NI-04: Model the role of protocols in transmitting data across networks and the Internet.
          • raw-html:
          • 2-NI-06: Apply multiple methods of encryption to model the secure transmission of information.
          • raw-html:
          • 2-DA-07: Represent data using multiple encoding schemes.
          • raw-html:
          • 2-DA-08: Collect data using computational tools and transform the data to make it more useful and reliable.
          • @@ -18,16 +17,16 @@ h3: CSTA Standards: raw-html:

          h3: Teacher Guides for Student Labs - raw-html:
          As of Aug 16, the student-facing Unit 1 overview page is now a set of links to HTML pages. If you are looking for the (now out of date) student-facing Google docs list, you can find it here.
          image of six blue circles lettered A-F; each circle is connected to 1-4 other circles + raw-html:
          As of Aug 16, the student-facing Unit 1 overview page is now a set of links to HTML pages. If you are looking for the (now out of date) student-facing Google docs list, you can find it here.
          resource: Lab 1: Introduction to Snap! [/bjc-r/middle-school/teaching-guide/U1/01-intro-to-snap.html] raw-html:
          • approximately 3–5 class periods
          We are still missing the functional version of the Marching Orders activity and that will impact this time estimate. Also, I have some reconfiguring to do with the story stuff that may result in splitting lab 1 into the intro stuff and "say hello" followed by another lab here for the Story stuff ... --MF, 7/12/21
          resource: Lab 2: Super Short Stories [/bjc-r/middle-school/teaching-guide/U1/02-storytelling.html] raw-html:
          • approximately 1–3 class periods
          resource: Lab 3: Dealing with Data [/bjc-r/middle-school/teaching-guide/U1/03-dealing-with-data.html] raw-html:
          • approximately 2–4 class periods
          - //resource: Lab 4: Image Manipulation [/bjc-r/middle-school/teaching-guide/U1/04-image-manipulation.html] - raw-html: Lab 4: Image Manipulation (under development) - raw-html:
          • approximately 2–4 class periods
          We have: the image manipulation project that I built, the library that Dan made, the pixel viewer that Pamela built, and the RGB Pixels project from Jens.
          + resource: Lab 4: Image Manipulation [/bjc-r/middle-school/teaching-guide/U1/04-image-manipulation.html] + //raw-html: Lab 4: Image Manipulation (under development) + raw-html:
          • approximately 2–4 class periods
          We have: the image manipulation project that I built, the library that Dan made, the pixel viewer that Pamela built, and the RGB Pixels project from Jens.
          //resource: Lab 5: Storing and Securing Data [/bjc-r/middle-school/teaching-guide/U1/05-storing-securing-data.html] raw-html: Lab 5: Storing and Securing Data (under development) raw-html:
          • approximately 3–9 class periods
          This depends on whether we include the external videos
          diff --git a/topic/middle-school/2-teaching-guide.topic b/topic/middle-school/2-teaching-guide.topic index efa9d93b19..1266e99763 100644 --- a/topic/middle-school/2-teaching-guide.topic +++ b/topic/middle-school/2-teaching-guide.topic @@ -8,7 +8,9 @@ h3: Purpose h3: CSTA Standards: raw-html:

            + raw-html:
          • 2-NI-04: Model the role of protocols in transmitting data across networks and the Internet.
          • raw-html:
          • 2-DA-09: Refine computational models based on the data they have generated.
          • + raw-html:image of six blue circles lettered A-F; each circle is connected to 1-4 other circles raw-html:
          • 2-AP-10: Use flowcharts and/or pseudocode to address complex problems as algorithms.
          • raw-html:
          • 2-AP-11: Create clearly named variables that represent different data types and perform operations on their values.
          • raw-html:
          • 2-AP-12: Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals.
          • diff --git a/utilities/README.md b/utilities/README.md new file mode 100644 index 0000000000..44b8f448c5 --- /dev/null +++ b/utilities/README.md @@ -0,0 +1,9 @@ +# bjc-r utilites + +## Pandoc Conversion + +**Single File** + +``` +pandoc --from html --to docx --lua-filter=utilities/remove-todos.lua -o test.docx cur/programming/1-introduction/2-gossip-and-greet/1-pair-programming.html +``` diff --git a/utilities/custom-reference.docx b/utilities/custom-reference.docx new file mode 100644 index 0000000000..5aefbe7d78 Binary files /dev/null and b/utilities/custom-reference.docx differ diff --git a/utilities/includes/ms-daily-citn.txt b/utilities/includes/ms-daily-citn.txt new file mode 100644 index 0000000000..96c5dd756e --- /dev/null +++ b/utilities/includes/ms-daily-citn.txt @@ -0,0 +1,8 @@ +↑ Back to Top +

            Daily Activity: Computing in the News. 

            +

            Every day of BJC should begin with a 5-minute student presentation on a recent news article about computing. This helps build a foundation for considering the impacts of computing technologies on employment, issues of bias and accessibility, and tradeoffs between public access to information and security. Read Computing in the News for additional details and suggested news sources.

            +
            +
              +
            • Prepare: Assign to one student or a pair of students a recent news article about computing for them to read and then summarize for the class during the next class period.
            • +
            +
            \ No newline at end of file diff --git a/utilities/remove-todos.lua b/utilities/remove-todos.lua new file mode 100644 index 0000000000..006e933941 --- /dev/null +++ b/utilities/remove-todos.lua @@ -0,0 +1,25 @@ +-- .todo, .comment, .commentBig +function Block (element) + if element.classes and ( + element.classes[1] == 'todo' or element.classes[1] == 'comment' + or element.classes[1] == 'commentBig' + ) then + print 'Removing Developer Comment' + -- print("FOUND ELEMENT " .. element.attr) + return {} + end + return element +end + +-- Replace absolute /bjc-r with a relative URL for easy conversion. +function Image(element) + element.src = string.gsub(element.src, "/bjc%-r", ".") + return element +end + +-- Set the document date +-- TODO: In the word template this needs to be a footnote. +function Meta(m) + m.date = os.date("%B %e, %Y") + return m +end diff --git a/utilities/test.docx b/utilities/test.docx new file mode 100644 index 0000000000..938e9e2caf Binary files /dev/null and b/utilities/test.docx differ